2011年5月3日火曜日

Ubuntu 11.04 で VKM + virsh + kvm-img を試してみる

仮想マシンの作成は、コマンドラインで行うと面倒なので、仮想マシンマネージャーを使うと良いでしょう。
仮想マシンの作成が終わったら、virsh コマンドを使って、仮想マシンを制御するのが便利です。


virsh コマンドの使い方

以下の例では、操作対象の仮想マシンの名前を VirtualMachine とします。
  • ヘルプを表示する
    $ virsh help
  • 仮想マシンの一覧と現在の状態を表示する (--all オプションで停止中も含める)
    $ virsh list --all
  • 仮想マシンを起動する
    $ virsh start VirtualMachine
  • 仮想マシンを起動し、シリアルコンソールに接続する
    $ virsh start VirtualMachine --console
  • 仮想マシンをシャットダウンする (ACPI に対応していれば使える。Ubuntu ならパッケージ "acpid" が必要となる。)
    $ virsh shutdown VirtualMachine
  • 仮想マシンを一時停止する (ただし、ホストマシン上のメモリは開放されない)
    $ virsh suspend VirtualMachine
  • 仮想マシンを一時停止から再開する
    $ virsh resume VirtualMachine
  • 仮想マシンの電源を切断する (仮想マシンが反応しない場合のみ使用すること)
    $ virsh destory VirtualMachine
  • 仮想マシンの現在の状態を保存する (仮想マシンは停止し、状態がファイルに保存される。ハイバネーションのようなもの。デフォルトでは、AppArmor で任意の場所には保存できないように設定されている。)
    $ virsh save VirtualMachine /path/filename
  • 仮想マシンの状態を復元する
    $ virsh restore /path/filename
  • 仮想マシンのシリアルコンソールに接続する
    $ virsh console VirtualMachine
  • 仮想マシンに接続する際に使用する VNC のディスプレイ番号を調べる
    $ virsh vncdisplay VirtualMachine
  • 仮想マシンの CD-ROM を入れ替える
    $ virsh attach-disk --type cdrom VirtualMachine /path/to/filename.iso hdc
  • 仮想マシンの設定を確認する (xml 形式)
  • $ virsh dumpxml VirtualMachine
  • 仮想マシンの情報を表示する
    $ virsh dominfo VirtualMachine
  • ホストマシンの情報を表示する
    $ virsh nodeinfo
  • 仮想マシンの CPU 情報を表示する
    $ virsh vcpuinfo VirtualMachine


KVM で VMware のようにスナップショットを取得したいなら、qcow2 形式のイメージを使用しましょう。

イメージの情報を表示

$ kvm-img info JeOS11.img
image: JeOS11.img
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 903M


イメージの形式を変換

単純な raw 形式から、多機能な qcow2 形式に変換する例を示します。
qcow2 形式は、スナップショットが使えます。

仮想マシンを停止した状態で変換します。

$ sudo mv JeOS11.img JeOS11.img.tmp
$ sudo kvm-img convert -O qcow2 JeOS11.img.tmp JeOS11.img
$ sudo rm JeOS11.img.tmp
$ sudo kvm-img info JeOS11.img
image: JeOS11.img
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 926M
cluster_size: 65536


スナップショット

仮想マシンを停止した状態で作業します。

  • スナップショットを作成 (タグとして "Init" を指定)
    $ sudo kvm-img snapshot -c Init Ubuntu01.img

  • スナップショットを確認する
    $ sudo kvm-img snapshot -l Ubuntu01.img
    Snapshot list:
    ID TAG VM SIZE DATE VM CLOCK
    1 Init 0 2011-05-03 17:09:50 00:00:00.000

  • スナップショット作成時に戻る
    $ sudo kvm-img snapshot -a Init Ubuntu01.img

  • スナップショットを削除する
    $ sudo kvm-img snapshot -d Init Ubuntu01.img


参考

0 件のコメント: