virsh は、KVM ハイパーバイザーに基づいて仮想マシンを管理するためのインターフェースまたはコマンドです。 virsh インターフェイスでは、仮想マシンはドメイン名で識別されるため、virsh は通常、現在のドメインを一覧表示し、ドメインを作成、一時停止、およびシャットダウンするために使用されます。 Virsh は GNU Lesser General Public License の下で提供され、Xen、QEmu、KVM、LXC、OpenVZ、VirtualBox、および VMware ESX をサポートします。
このチュートリアルでは、virsh コマンドの実用的な例について説明します:
例 1 :ホスト マシンにインストールされている KVM バージョンを取得します。
# virsh version Compiled against library: libvir 0.9.4 Using library: libvir 0.9.4 Using API: QEMU 0.9.4 Running hypervisor: QEMU 0.12.1
例 2 :KVM ハイパーバイザー (ホスト) のメモリ情報を取得します。
# virsh nodememstats total : 65979984 kB free : 44783040 kB buffers: 604388 kB cached : 16473328 kB
例 3 :KVM ハイパーバイザーの CPU 情報を取得します。
# virsh nodecpustats user: 122779270000000 system: 1304262720000000 idle: 470011564690000000 iowait: 110371800000000
例 4 :実行中、保存、シャットダウンなどの状態に関係なく、多数のゲスト仮想マシンを取得します。
# virsh list --all Id Name State ---------------------------------- 3 test running
例 5 :KVM ハイパーバイザーで使用できるすべてのネットワークを取得します。
# virsh net-list Name State Autostart ----------------------------------------- default active yes
例 6 :KVM ゲスト マシンのハードウェア情報を取得します。
構文:
# virsh dominfo BaseMachine
例:
# virsh dominfo test Id: 3 Name: test UUID: 9ae96029-6c3d-8bd1-6e19-926183f89074 OS Type: hvm State: running CPU(s): 4 CPU time: 26862.0s Max memory: 4194304 kB Used memory: 4194304 kB Persistent: yes Autostart: disable Managed save: no
例 7 :仮想マシンをシャットダウンします。
# virsh shutdown machine_name
例 8 :仮想マシンを再起動してください。
# virsh reboot machine_name
例 9 :マシンを強制的にオフにするか、破壊します。
# virsh destroy machine_name
例 10 :仮想マシンを起動します。
# virsh start machine_name
例 11 :virt-viewer を使用して特定の仮想マシンに接続します。
構文:
# virt-viewer -c qemu:///system machine_name
例:
# virt-viewer -c qemu:///system test
例 12 :virt-install を使用して新しい仮想マシンを作成します。
Centos 6.X を 10GB のスペースにインストールしたいとします。まず、以下のコマンドを使用して img ファイルを作成します:
# dd if=/dev/zero of=/var/lib/libvirt/images/centos-linux.img bs=1M count=10240
次に、virt-install コマンドを実行します:
# virt-install --virt-type kvm --name CentOS-Linux --ram 2048 --vcpus=2 --disk path=/var/lib/libvirt/images/centos-linux.img --network bridge=br0 --graphics vnc --cdrom /root/CentOS-6.2-x86_64-bin-DVD1.iso --os-variant=RHEL6
上記のコマンドを実行すると、以下の画面が表示されます:
例 13 :virsh コマンドを使用した、あるハイパーバイザーから別のハイパーバイザーへの仮想マシンのライブ マイグレーション。
ライブ マイグレーションの基本要件:
- ゲスト イメージは共有ストレージに配置する必要があり、iSCSI、NFS、GFS2、またはファイバー チャネルを使用してアクセスできる必要があります。
- 共有ストレージは、両方のホストで同じパスにマウントする必要があります。
- 両方のゲストが同じバージョンの KVM を実行する必要があります。
- 両方のゲストのネットワーク構成とブリッジ構成が同じである必要があります (IP は異なる必要があります)
# virsh migrate --live machine_name qemu+ssh://destination_server/system