virshの使い方
virshってのでlibvirtdで制御しているVMの操作をすることができるのだけど、いまいち使い方がわからないので、ちょっと試してみることに。
https://help.ubuntu.com/community/KVM/Managing を参考に。
virshの起動
どのハイパーバイザに接続するかで、qemu:///systemを指定する。
でも、デフォルトがqemu:///systemらしいので、通常はvirshのみで起動しても問題なさそう。
kiyotaka@snow:~$ virsh --connect qemu:///system Connecting to uri: qemu:///system Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit
登録済みのVMの表示
listコマンドで、稼働中のVMを表示する。
virsh # list Id Name State
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--all を指定すると、稼働していないものも表示される。
virsh # list --all Id Name State
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--inactiveを指定すると、稼働していないものだけ表示される。
virsh # list --inactive Id Name State
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
VMの情報を確認・登録・削除
virsh list --all で表示されるVMは、libvirtdに登録されているものだけになるらしい。
登録されている内容について確認する場合は、virsh dumpxmlコマンドで確認できる。
virsh # dumpxml lime <domain type='kvm'> <name>lime</name> <uuid>06b0b8cc-6a90-96bc-e3eb-c97c6b7a9e50</uuid> <memory>524288</memory> <currentMemory>524288</currentMemory> <vcpu>1</vcpu> <os> <type>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <source file='/root/lime/disk0.qcow2'/> <target dev='hda' bus='ide'/> </disk> <interface type='bridge'> <mac address='52:54:00:64:e2:dc'/> <source bridge='br0'/> <target dev='vnet1'/> </interface> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' listen='127.0.0.1'/> </devices> </domain>
VMの情報を削除する
virsh # undefine lime Domain lime has been undefined virsh # list --all Id Name State
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
なくなった。
/etc/libvirt/qemu/lime.xml に上の内容書いてたはずだったので、それを編集して登録し直そうとしたが、undefineしたときに、lime.xmlがなくなったみたい。
dumpxmlしたときの内容でlime.xmlを作成し直すことにする。
その時に、HDDイメージの場所をついでに変更する。
lime.xmlの内容を下記の様に、/home/kvm配下にディスクイメージの指定を書き直しておく。
もちろん、ディスクイメージの場所も、/root配下から指定の場所にmvしておく。
virsh # define /etc/libvirt/qemu/lime.xml Domain lime defined from /etc/libvirt/qemu/lime.xml virsh # list --all Id Name State
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ちゃんと起動できました。