まったく同じ、二つ目の仮想OSを作成する方法です。
Domain-Uの複製方法では、手間をかけて設定していましたが、こちらはお手軽にやってみようというものです。
作業はリモートから putty でアクセス。その後、rootになって行ないます。
私的に確認しているのはCentOS5.2からですが、virt-cloneというものがあります。
説明(man virt-clone)を読むと、既存の仮想OSのクローンを作成するためのコマンドラインツールだそうです。
既存の仮想OSであれば問題なくコピーできるそうな。「一応ユニークな部分は更新するが、設定を見直してきちんと直してくれよ」とも書いてあります。
manファイルの説明にもあるんですが、どうやら「ホスティングサービスのユーザ追加時に自動でやる」事が目的で作られたようなツールです。
ちなみにこれ、日本人が作ったらしいですよ。
manのサンプルを使って実行してみます。
[root@fivestar-dom0 ~]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 3504 2 r----- 185.7 fivestar 2 511 1 -b---- 315.1 [root@fivestar-dom0 ~]#
一つだけ動いているので、これをコピーしてみます。
[root@fivestar-dom0 ~]# virt-clone \ > --original fivestar \ > --name blackstar \ > --file /var/lib/xen/images/blackstar.x86_64.pvm.img ERROR: ドメインの状態は停止でなければなりません [root@fivestar-dom0 ~]#
manファイルにもありましたが、止めてないと駄目だそうです。
というわけで止めてみます。
[root@fivestar-dom0 ~]# xm shutdown -a -w Domain fivestar terminated All domains terminated [root@fivestar-dom0 ~]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 3504 2 r----- 189.5 [root@fivestar-dom0 ~]#
ではもう一度。
[root@fivestar-dom0 ~]# virt-clone \ > --original fivestar \ > --name blackstar \ > --file /var/lib/xen/images/blackstar.x86_64.pvm.img /var/lib/xen/images/fivestar.x86_64.pvm.img から /var/lib/xen/images/blackstar.x86_64.pvm.img にクローニング中 ドメインをクロー? 100% |=========================| 10 GB xx:xx [root@fivestar-dom0 ~]#
ファイルコピーだけじゃないのか?と思いたくもなるので確認する。
まずは設定ファイル。
[root@fivestar-dom0 ~]# ls /etc/xen/ auto fivestar scripts xend-pci-permissive.sxp xmexample.hvm xmexample1 blackstar qemu-ifup xend-config.sxp xend-pci-quirks.sxp xmexample.vti xmexample2 [root@fivestar-dom0 ~]# diff -cT /etc/xen/fivestar /etc/xen/blackstar *** /etc/xen/fivestar 2008-07-12 15:33:44.000000000 +0900 --- /etc/xen/blackstar 2008-07-12 17:40:30.000000000 +0900 *************** *** 1,5 **** ! name = "fivestar" ! uuid = "ea7ff86d-ef45-bc63-a27c-4912a01e7fca" maxmem = 512 memory = 512 vcpus = 1 --- 1,5 ---- ! name = "blackstar" ! uuid = "de280d0f-db7d-1d27-4b6f-a0302243ab62" maxmem = 512 memory = 512 vcpus = 1 *************** *** 8,12 **** on_reboot = "restart" on_crash = "restart" vfb = [ ] ! disk = [ "tap:aio:/var/lib/xen/images/fivestar.x86_64.pvm.img,xvda,w" ] ! vif = [ "mac=00:16:3e:0e:ae:2e,bridge=xenbr0" ] --- 8,12 ---- on_reboot = "restart" on_crash = "restart" vfb = [ ] ! disk = [ "tap:aio:/var/lib/xen/images/blackstar.x86_64.pvm.img,xvda,w" ] ! vif = [ "mac=00:16:3e:29:b9:aa,bridge=xenbr0" ] [root@fivestar-dom0 ~]#
変更されていますね。ただ、予想通りというかさすがにそこまではやってくれないのか、IPアドレスまでは変更してないと思いますので、変更します。
この変更手続きは、Domain-Uの複製方法後半で触れているので、そちらを参考に。
設定ファイルをがんばって編集しなければならない手間が省けるのでこちらのほうが楽です。
また、ちょくちょく複製することを考えた場合、以下のようにするとよいかも。
なんてのがよいのかも。
時間ができたら自動更新スクリプトを作ってみようか……つか、どこかに落ちてないものか?