CentOS8にKVMをインストールしてみる。(ゲストOSインストールまで)
仮想マシンで検証環境を作りたいと考え、手持ちのCentOS 8.1環境で構築できそうなKVMをインストールしてみることにしました。
KVMインストール
とにかくKVM環境に必要そうなものをインストールします。
調べながらインストールしたため単発でのインストールになっているが、ワンラインでもできるかもしれません。
また、virt-viewerをインストールしていますが、SSHでのリモート操作がメインなので不要かもしれません。
(そもそもGUIならvirt-managerもいるよね・・・)
yum install qemu-kvm yum install virt-install yum install virt-viewer
※ 2020/4/6 virshは上記で入るようなので、記載から削除しました。
コンソールの有効化
仮想マシンの操作には virsh の console オプションで仮想マシンにコンソール接続するのだが、インストール時はともかくそれ以降の接続では応答しなかった。
調べてみると、ホストOSのシリアルコンソールを有効化すればよいらしいので GRUB に設定する。
GRUBのコンフィグを作成するため、コンフィグ生成のためのファイルを編集します。
vi /etc/default/grub
末尾に以下の2行を追記します。
> GRUB_TERMINAL="serial" > GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUBのコンフィグを作成するコマンドを実行します。
grub2-mkconfig -o /boot/grub2/grub.cfg
そしてホストOSを再起動します。
shutdown -r now
仮想マシンのインストール
以下のフォーマットでインストールを実施します。
virt-install\ --hvm\ -n (ゲストOSドメイン名)\ -r (仮想マシンメモリサイズ:MB単位)\ -f (仮想マシンイメージ保存場所のパス)\ -s (仮想マシンディスクサイズ:GB単位)\ --location=(インストールISOパス)\ --graphics none\ --extra-args="console=tty0 console=ttyS0"
上記でCLIのインストール設定が始まります。
自分が実際にインストール時に使ったコマンドは以下になります。
virt-install\ --hvm\ -n CentOS8-Guest1\ -r 2000\ -f /data/kvm-guest-C8--1.img\ -s 10\ --location=/var/material/CentOS-8.1.1911-x86_64-dvd1.iso\ --graphics none\ --extra-args="console=tty0 console=ttyS0"
インストール設定は通常と同じかと思いますので、省略します。
仮想マシンのインストール失敗時の対応
何度かインストール失敗し、作成途中のインストール処理を停止させることになったので対応手順を記載しておきます。
1.virshのコンソールを抜ける場合、「Ctrl + ]」でコンソールを抜けます。「^]」と書いてあったがすぐには思い当たらなかったため少し迷いました。
2.仮想マシンの状態を把握します。「--all」オプションをつけておかないと、シャットダウンしているゲストOSのドメイン名は表示されません。
virsh list --all
3.仮想マシンがシャットダウン状態になっていなければ、以下のコマンドで強制停止します。
virsh destroy (ゲストOSドメイン名)
virsh undefine (ゲストOSドメイン名)
5.仮想マシンのイメージファイルを削除します。
rm (仮想マシンイメージ保存場所のパス)
上記でゲストOSのインストールまでになります。多分後日に続きます。