2007年 02月 10日
xm save と restore
mylx01:~ # xm create -c sles101am64pr
※まずはブートしてみましょう。
Using config file "/etc/xen/vm/sles101am64pr".
Warning: The bootentry option is deprecated. Use bootargs and pass --entry= directly.
Copy kernel /boot/vmlinuz-xen from hda2 to /var/lib/xen/tmp/vmlinuz.dtY2ma for booting
Started domain sles101am64pr
Bootdata ok (command line is TERM=xterm)
Linux version 2.6.16.21-0.8-xen (geeko@buildhost) (gcc version 4.1.0 (SUSE Linux)) #1 SMP Mon Jul 3 18:25:39 UTC 2006
※ブートの途中で CTRL + ] で XEN コンソールに戻します。
mylx01:~ # xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1152 2 r----- 97216.1
W2K3S 17 512 1 -b---- 557.0
sles101am64pr 18 256 1 -b---- 3.4
mylx01:~ #
※ ID 18 に起動した準仮想OSがあります。
mylx01:~ # xm save 18 myimg.img
※ ここでセーブコマンドを実行してみます。
mylx01:~ # xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1152 2 r----- 97228.6
W2K3S 17 512 1 -b---- 557.1
※ xm list からはリストアップされません。
mylx01:~ # ls -l myimg.img
-rwxr-xr-x 1 root root 267951548 2007-02-10 19:54 myimg.img
※ 256Mb のイメージが作成されています。メモリのダンプですね。
mylx01:~ # xm restore myimg.img
※ ここで restore コマンドを実行します。
mylx01:~ # xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1152 2 r----- 97243.6
W2K3S 17 512 1 ------ 557.3
sles101am64pr 19 256 1 r----- 3.7
※ xm list にアップされました。
mylx01:~ # xm console 19
※コンソールを上げてみます。ちゃんとブートが完了しています。
Welcome to SUSE Linux Enterprise Server 10 (x86_64) - Kernel 2.6.16.21-0.8-xen (tty1).
mylxam64 login: root
Password: *******
Last login: Wed Feb 7 18:11:43 JST 2007 on tty1
mylxam64:~ #
mylxam64:~ #
mylxam64:~ #
mylxam64:~ #
※ CTRL + ] で XEN カーネルに戻ります。
mylx01:~ #
mylx01:~ #
xm save と xm restore は簡単なコマンド操作で実行中のメモリの状態をダンプして、仮想OSをファイル化します。この状態で、メモリイメージと /var/lib/xen/image のディスクイメージファイル、それからスタートアップファイルを他のマシンにコピーすれば、(たぶん)他のマシンでも同じイメージを再稼動できるのでしょう。
ちなみに、このコマンドが使えるのは準仮想化( Para vertialization ) の状態で、完全仮想化( Full Virtiulization ) では使えません。
使えませんが、 SUSE Linux Enterprise (SLES) では移行のためのコマンドツールとして非常に強力です。
非番のエンジニア