【Linux】KVMゲストOSの管理

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

関連ページ

【LinuC】試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
LPICの試験対策と例題まとめ
LPICの試験対策と例題(学習サイト)についてまとめました。
【Linux超入門】システムの基礎とよく使うコマンドなど徹底解説
Linuxシステムの基礎とよく使うコマンドなどについて入門者向けに解説します。

コメント