Xen の domainU を複製する方法です。
既にある domainU vps1 から新たに domainU vps5 を作成します。
1. イメージファイルをコピーします。
vps1 の複製 vps5 を作成します。
vps1 を停止。
# xm shutdown vps1 |
イメージファイルをコピー。
# cp /var/lib/xen/images/vps1.img /var/lib/xen/images/vps5.img |
2. vps5.img をマウント
2-1. イメージファイルを loop デバイスに接続します。
# losetup -a # losetup -f /dev/loop0 # losetup /dev/loop0 /var/lib/xen/images/vps5.img # losetup -a /dev/loop0: [0304]:197083 (/var/lib/xen/images/vps5.img) |
2-2. パーティションを確認します。
# fdisk -l /dev/loop0 Disk /dev/loop0: 5368 MB, 5368709120 bytes 255 heads, 63 sectors/track, 652 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/loop0p1 * 1 13 104391 83 Linux /dev/loop0p2 14 652 5132767+ 8e Linux LVM # kpartx -l /dev/loop0 loop0p1 : 0 208782 /dev/loop0 63 loop0p2 : 0 10265535 /dev/loop0 208845 |
2-3. LVM パーティションをマッピング
# kpartx -av /dev/loop0 add map loop0p1 : 0 208782 linear /dev/loop0 63 add map loop0p2 : 0 10265535 linear /dev/loop0 208845 # ls /dev/mapper/ control loop0p1 loop0p2 |
2-4. 論理ヴォリューム活性化
# pvscan PV /dev/mapper/loop0p2 VG VolGroup00 lvm2 [4.88 GB / 0 free] Total: 1 [4.88 GB] / in use: 1 [4.88 GB] / in no VG: 0 [0 ] # vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 # lvscan inactive '/dev/VolGroup00/LogVol00' [4.34 GB] inherit inactive '/dev/VolGroup00/LogVol01' [544.00 MB] inherit # vgchange -a y 2 logical volume(s) in volume group "VolGroup00" now active # lvscan ACTIVE '/dev/VolGroup00/LogVol00' [4.34 GB] inherit ACTIVE '/dev/VolGroup00/LogVol01' [544.00 MB] inherit |
2-5. イメージファイルの root パーティションを mount
# mount /dev/VolGroup00/LogVol00 /mnt |
3. イメージファイルの設定を変更
ホスト名、IP Address、macアドレス(HWADDR)を変更します。
# vi /mnt/etc/hosts # vi /mnt/etc/sysconfig/network # vi /mnt/etc/sysconfig/network-scripts/ifcfg-eth0 |
4. イメージファイルの umount
# umount /mnt # vgchange -a n 0 logical volume(s) in volume group "VolGroup00" now active # lvscan inactive '/dev/VolGroup00/LogVol00' [4.34 GB] inherit inactive '/dev/VolGroup00/LogVol01' [544.00 MB] inherit # kpartx -d /dev/loop0 # ls /dev/mapper/ control # losetup -d /dev/loop0 # losetup -a # |
5. domainU vps5 設定ファイル作成
vps1 の設定ファイルをコピーして vps5 用の設定に変更します。
uuid を生成。
# uuidgen 2843d9ea-51c5-49a6-9258-fa273e682dea |
vps5 を作成して、変更します。
# cp /etc/xen/vps1 /etc/xen/vps5 # vi /etc/xen/vps5 (name, uuid, disk, vif を変更) |
6. vps5 起動
# xm create vps5 |
※vps5 を起動できるのですが、何故か vps5 の eth0 が
UP になりませんでした。
ifcfg-eth0 が ifcfg-eth0.bak にリネームされていたので、
元にもどして ifup eth0 したところ ok でした。
参考にさせていただいたサイト: http://sokohakato.wordpress.com/linux/centos/xenimgmount/