CentOS 5.2上で仮想化パッケージ(@virtualization)をインストールすると、
virt-clone
コマンドがインストールされる。
$ rpm -qf `which virt-clone`
python-virtinst-0.300.2-8.el5
$
このコマンドは、Xen DomUを複製するのに使用する。
$ virt-clone --help
usage: virt-clone [options]
options:
-h, --help show this help message and exit
-o ORIGINAL_GUEST, --original=ORIGINAL_GUEST
オリジナルゲストの名前か uuid:
状態は停止でなければなりません
-n NEW_NAME, --name=NEW_NAME
新しいゲストの名前
-u NEW_UUID, --uuid=NEW_UUID
クローンゲストの新しい uuid:
省略値はランダムに生成された UUID です
-m NEW_MAC, --mac=NEW_MAC
クローンゲスト用の固定 MAC アドレス。・
略値はランダムに生成されます
-f NEW_DISKFILE, --file=NEW_DISKFILE
ディスクイメージとして使用される、新
ゲスト用の新ファイル
--connect=CONNECT URI でハイパーバイザーに接続
--force-copy=TARGET 装置のコピーを強制する (例えば 'hdc'
が読込みのみの cdrom 装置なら、--force-
copy=hdc)
--nonsparse クローニングのディスクイメージに疎ら
なファイルを使用しないでください
--preserve-data 新ファイルを新ゲスト用のディスクイメ
ージとして使用するよう保存する
-d, --debug デバッグ情報を印刷
--force Do not prompt for input. Answers yes where applicable,
terminates for all other prompts
$
実際に使ってみよう。まず、元となるDomU dc0がインストールされている。
[root@fs1 xen]# ls /etc/xen/dc*
/etc/xen/dc0
[root@fs1 xen]# cat /etc/xen/dc0
name = "dc0"
uuid = "d9911ef3-1919-9972-fe4c-96c7ece17f7b"
maxmem = 256
memory = 256
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ ]
disk = [ "phy:/dev/VolGroupXX/LogVolDc0,xvda,w" ]
vif = [ "mac=00:16:3e:1d:89:00,bridge=br4000" ]
[root@fs1 xen]# ls /dev/VolGroupXX/LogVolDc*
/dev/VolGroupXX/LogVolDc0
[root@fs1 xen]# lvs /dev/VolGroupXX/LogVolDc0
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVolDc0 VolGroupXX -wi-a- 4.00G
[root@fs1 xen]#
これをdc1という名前で複製しよう。イメージを格納する論理ボリューム
(logical volume, LV) LogVolDc1をボリュームグループ
(volume group, VG) VolGroupXX上に作成する。
[root@fs1 xen]# lvcreate --name=LogVolDc1 --size=4G VolGroupXX
Logical volume "LogVolDc1" created
[root@fs1 xen]#
コマンド
virt-clone
で複製を実行する。
[root@fs1 xen]# virt-clone --original=dc0 --name=dc1 --file=/dev/VolGroupXX/LogVolDc1
Cloning from /dev/VolGroupXX/LogVolDc0 to /dev/VolGroupXX/LogVolDc1
Cloning domain... 100% |=========================| 4.0 GB 03:23
[root@fs1 xen]#
イメージをコピーするため、実行に三分半弱かかっている。
DomU dc1の定義ファイルは以下の様になっている。
[root@fs1 xen]# cat /etc/xen/dc1
name = "dc1"
uuid = "ce08f29d-9006-c607-7891-786ffa421ca7"
maxmem = 256
memory = 256
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ ]
disk = [ "phy:/dev/VolGroupXX/LogVolDc1,xvda,w" ]
vif = [ "mac=00:16:3e:1c:2f:6e,bridge=br4000" ]
[root@fs1 xen]#
DomU名の他に、UUIDやMACアドレスが変更されていることが解る。
当然、このDomUを実行することもできる。
[root@fs1 xen]# xm create -c dc1