こんにちは、最近仕事でインフラ周りのことをやっていますせいや(@knkSeiya)です。
今回はCentOS8でKVM仮想環境を構築する手順について、備忘録的に残しておきます。
CentOS8でKVM仮想環境を構築
STEP0:事前準備
OSインストールからはじめる場合
VMホストマシンの構築をCentOSのインストールからはじめる場合は、インストールするソフトウェアで以下の項目を選択します。
- Virtualization Host
- Graphical Administration Tools
日本語だと表記が違うかもしれませんが、適宜読み替えてください。
既に構築済みのマシンをVMホストにする場合
既に構築済みのマシンをVMホストとして利用する場合、必要なパッケージを追加でインストールします。
- qemu-kvm・・・ハードウェアエミュレータ
- qemu-img・・・仮想化ゲストイメージの管理
- libvirt・・・仮想化汎用API
- libvirt-client・・・libvirtアクセスAPIやvirsh
- virt-install・・・VMゲストマシン作成ツール
# dnf -y install qemu-kvm qemu-img libvirt virt-install libvirt-client
STEP1:VMホストマシンの構築
VMホストマシンでCockpitを有効にします。
# systemctl enable --now cockpit.socket
他に必要なパッケージもインストールしていきます。
- virt-manager・・・仮想マシン管理のグラフィカルツール
- virt-viewer・・・仮想マシンのコンソールを表示するソフト
- cockpit-machines・・・Cockpit上で仮想マシンを管理するソフト
# dnf -y install virt-manager virt-viewer cockpit-machines
シャットダウンの設定
VMホストマシンがシャットダウンしたときにVMゲストマシンもシャットダウンするように設定します。
初期値はsuspend(一時停止)です。VMホストマシンが再度起動したときにサスペンドしたデータが正常に処理されるか分からないのでシャットダウンしておくのが無難です。
/etc/sysconfig/libvirt-guestsのON_SHUTDOWNを修正します。
ON_SHUTDOWN=shutdown
修正後、設定を有効にします。
# systemctl enable libvirt-guests.service
# systemctl restart libvirt-guests.service
STEP2:VMゲストマシンの構築
VMホストマシンにVMゲストを作っていきます。
構築するOSのisoファイルを用意してください。
Cockpitからイメージ領域を作ることもできますが、そのまま作るとSparseファイルとしてイメージが作成されます。
それで構わない場合は次の手順は必要ないです。
ゲストのイメージファイルを事前に用意する場合
Sparseファイルとしてイメージを使っていると、不意に実ディスクサイズ以上を使ってしまい問題を起こす可能性があるので今回は使わない。
通常ファイルとしてイメージを作成するには、イメージを作成するときにpreallocation=fullのオプションを付けます。
// -o preallocation=fullだとディスクに実際の空領域が書き込まれる
// -fオプションでイメージの形式を選べる。rawとかqcow2とか
# qemu-img create -f raw -o preallocation=full /var/lib/libvirt/images/Guest.img 100G
// イメージファイルの確認
# qemu-img info /var/lib/libvirt/images/Guest.img
VMゲストのインストール
ブラウザでホストマシンの9090番ポートにアクセスしCockpitを起動します。
Cockpitの仮想マシンメニューから「Create VM」ボタンをクリックし、使用するOSのisoファイルを指定します。
事前にゲストのイメージファイルを用意した場合はそれも指定します。
設定ができたら「Install」ボタンが押せるようになるのでクリックするとOSのインストールがはじまります。
ゲストOSインストール後
ホストのシャットダウンに連動するため、acpidを起動しておく必要があります。
# systemctl enable acpid
# systemctl start acpid
STEP3:起動&シャットダウン確認
ホストマシンとゲストマシンの構築が終わったら、実際にホストをシャットダウンしてゲストが正常にシャットダウンするか確認しておきましょう。
おわりに
本記事では「CentOS8でKVM仮想環境を構築する手順」について解説しました。
ブラウザでCockpitを使うことで簡単に仮想環境を構築することができます。
ゲストマシン構築後、ゲストに回すハードウェアを変更したいときは「virsh edit イメージ」コマンドで調整して下さい。