LinuxにおけるKVMゲストOSの管理についてまとめました。
KVMゲストOSの管理
KVM(Kernel-based Virtual Machineの略)は、Linuxのカーネルに標準搭載されている仮想化機能です。
ただし、KVMを使用するには、CPUが想化拡張機能に対応している必要があります。
CPUが対応しているかは以下のコマンドを実行することで確認できます。
CPUの確認
$ lscpu | grep Virtualization Virtualization: VT-x
AMDだとAMD-V、IntelだとVT-xのCPUであれば対応しています。
ゲストOSの登録
他のホストマシンからイメージと定義ファイルをコピーした場合、virshコマンドでそのイメージを管理します。
以下の「virsh define」コマンドで「libvirt」管理下に登録します。libvirtはオープンソースの仮想化管理用のライブラリです。
なお、コマンドを使用するには「libvirt-client」パッケージのインストールが必要です。
# virsh define /etc/libvirt/qemu/kvm_centos8.xml
上記は「/etc/libvirt/qemu」ディレクトリ配下に定義ファイルがある場合、その定義ファイルを指定して「virsh define」コマンドを実行し、ゲストOSをvirshコマンドで管理する例です。できるようになります。
なお、xml定義ファイルは直接編集せず、「virsh edit」コマンドで編集するのが安全です。
定義ファイルに誤りがあった場合に保存時にエラーとなります。
virshコマンドの主なサブコマンド
virshコマンドの主なサブコマンドは以下のとおりです。
サブコマンド | 概要 |
---|---|
create | XMLファイルから仮想マシンを作成し、新規の仮想マシンを起動 |
console | 仮想マシンのコンソールに接続 |
start | 仮想マシンを起動 |
shutdown | 仮想マシンを正常に終了 |
destroy | 仮想マシンを矯正終了 |
reboot | 仮想マシンを再起動 |
suspend | 仮想マシンを一時停止 |
resume | 一時停止中の仮想マシンを再開 |
list | 仮想マシンの一覧表示 |
dumpxml | 仮想マシンの定義ファイルを出力(XMLファイル) |
ゲストOSの確認
「virsh list –all」コマンドで登録済のゲストOSとその状態を確認できます。
$ virsh list --all Id Name State ---------------------------------------------------- - kvm_centos8 shut off
ゲストOSの起動
「virsh start」コマンドでゲストOSを起動します。
$ virsh start kvm_centos8
「virsh list –all」コマンドでStateが「running」になっていれば起動成功です。
$ virsh list --all Id Name State ---------------------------------------------------- - kvm_centos8 running
ゲストOSの停止
「 virsh shutdown」コマンドでゲストOSを停止します。
$ virsh shutdown kvm_centos8
ゲストOSの強制終了
「「 virsh shutdown」コマンドで停止しない場合、「virsh destroy」で強制終了します。
$ virsh destroy kvm_centos8
ホストOSからゲストOSのコンソールに接続
ホストOSからゲストOSのコンソールに接続するには、「virsh console」コマンドを使います。
$ virsh console kvm_centos8
コメント