Linux KVM仮想化環境におけるvirshコマンドの活用

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はシステムから完全に削除されます。

タグ: KVM virsh 仮想化 linux コマンドライン

7月10日 20:14 投稿