ゲストOSのクローン
クローンなんつってもただのファイルコピーであります。
ここをみれば詳しいことが。
ゲストOSを停止する
ホストOSのコンソールからxmコマンドでゲストOSを停止します。
[root@xen ~]# xm destroy cos1 [root@xen ~]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 994 1 r----- 1019.1
ゲストOSのファイルをコピーする
ゲストOS作成時に指定したイメージファイルをコピーします。
ディスクの空き容量がちゃんと足りているか確認しましょうね。
[root]# cp -p cos1.img cos2.img
定義ファイルを作成する
/etc/xen/ディレクトリに定義ファイルがあります。
ゲストOSの名前のファイルとなっていますので、コピーして編集します。
ここではname、uuid、vif、diskを変更する必要があります。
uuidは「uuidgen」コマンドでユニークなIDを作ることが出来ます。
[root]# uuidgen
vifはスクリプトで生成します。
[root]# vi macgen.py #! /usr/bin/python # macgen.py script generates a MAC address for Xen guests import random mac = [ 0x00, 0x16, 0x3e, <-- 実際のMACアドレスの上位3オクテット(ベンダーID)を指定します。 random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff) ] print ':'.join(map(lambda x: "%02x" % x, mac))
実行権限をつけて、スクリプトを実行します。
[root]# chmod +x macgen.py [root]# ./macgen.py
コピーして、エディタで変更してください。
[root]# cp -p cos1.img cos2.img [root]# vi cos2 name = "cos2" <-- 修正 uuid = "c121db9d-6016-4ee5-a75f-f28b5352822f" <-- 修正 maxmem = 256 memory = 256 vcpus = 1 bootloader = "/usr/bin/pygrub" on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" vfb = [ ] disk = [ "tap:aio:/var/lib/xen/images/cos2.img,xvda,w" ] <-- 修正 vif = [ "mac=00:16:3e:60:cf:c4,bridge=xenbr0" ] <-- 修正
「xm create」コマンドで新規ドメインを作成して完了です。
[root@xen xen]# xm create cos2 Using config file "./cos2". Started domain cos1
ゲストOS上のホスト名、IPアドレス等についてはネットワーク環境によって変更する必要が発生することもありますが、DHCP使ってる場合は特に必要ありません。