virshコマンドラインツールの基本操作
virshはKVM仮想化環境を管理するためのコマンドラインインターフェースです。このツールを使用することで、仮想マシンの作成、管理、操作を効率的に行うことができます。
主要なvirshコマンド
virsh list- 実行中の仮想マシン一覧を表示virsh list --all- 全ての仮想マシン一覧を表示virsh version- virshのバージョン情報を表示virsh start ubuntu20.04- ubuntu20.04仮想マシンを起動virsh shutdown ubuntu20.04- ubuntu20.04仮想マシンをシャットダウンvirsh dumpxml ubuntu20.04 > ubuntu20.04.xml- 仮想マシン設定ファイルをエクスポートvirsh undefine ubuntu20.04- 仮想マシンの定義を解除virsh define ubuntu20.04.xml- 仮想マシンを定義virsh destroy ubuntu20.04- 仮想マシンを強制停止(正常なシャットダウンが不可能な場合)virsh autostart ubuntu20.04- 物理マシン起動時に自動で起動するように設定virsh autostart --disable ubuntu20.04- 自動起動設定を解除virsh suspend ubuntu20.04- 仮想マシンをサスペンドvirsh resume ubuntu20.04- 仮想マシンをレジュームvirsh console ubuntu20.04- 仮想マシンのコンソールに接続
仮想マシン設定ファイルのエクスポートと再定義
以下は、仮想マシン設定ファイルをエクスポートし、定義を解除してから再定義する例です。
# 仮想マシン設定ファイルをエクスポート [root@kvm-host ~]# virsh dumpxml ubuntu20.04 > ubuntu20.04.xml [root@kvm-host ~]# ls ubuntu20.04.xml ubuntu20.04.xml # 現在の仮想マシン状態を確認 [root@kvm-host ~]# virsh list --all Id 名前 状態 ---------------------------------------------------- 3 ubuntu20.04 running - debian10 停止 - fedora34 停止 # 仮想マシンをシャットダウン [root@kvm-host ~]# virsh shutdown ubuntu20.04 ドメイン ubuntu20.04 がシャットダウンされました # 設定ファイルディレクトリを確認 [root@kvm-host ~]# ls /etc/libvirt/qemu autostart debian10.xml fedora34.xml ubuntu20.04.xml networks # 仮想マシンの定義を解除 [root@kvm-host ~]# virsh undefine ubuntu20.04 ドメイン ubuntu20.04 の定義が解除されました # 設定ファイルが削除されたことを確認 [root@kvm-host ~]# ls /etc/libvirt/qemu autostart debian10.xml fedora34.xml networks # ただしディスクイメージは残っている [root@kvm-host ~]# ls /var/lib/libvirt/images/ debian10.img fedora34.img ubuntu20.04.qcow2 ubuntu20.04.raw # 仮想マシンを再定義 [root@kvm-host ~]# virsh define ubuntu20.04.xml ドメイン ubuntu20.04 (ubuntu20.04.xml から) を定義 # 再定義後の状態を確認 [root@kvm-host ~]# virsh list --all Id 名前 状態 ---------------------------------------------------- - ubuntu20.04 停止 - debian10 停止 - fedora34 停止 # 設定ファイルが復活したことを確認 [root@kvm-host ~]# ls /etc/libvirt/qemu autostart debian10.xml fedora34.xml ubuntu20.04.xml networks
仮想マシンを完全に削除する方法
仮想マシンを完全に削除するには、シャットダウン、定義解除、イメージファイル削除、ログファイル削除の各ステップが必要です。
# 仮想マシン一覧を確認 [root@kvm-host ~]# virsh list --all Id 名前 状態 ---------------------------------------------------- - ubuntu20.04 停止 - debian10 停止 - fedora34 停止 # 仮想マシンの定義を解除 [root@kvm-host ~]# virsh undefine ubuntu20.04 ドメイン ubuntu20.04 の定義が解除されました # ディスクイメージを削除 [root@kvm-host ~]# rm -rf /var/lib/libvirt/images/ubuntu20.04.raw # ログファイルを削除 [root@kvm-host ~]# rm -rf /var/log/libvirt/qemu/ubuntu20.04.log*
これで仮想マシンubuntu20.04はシステムから完全に削除されます。