ゲストOS(ドメインU)を複製して楽にインストールしたい

OSって結局、ファイルなわけで。
ファイルをコピーしてゴニョゴニョするだけでゲストOSの複製が。

手順は以下のURLに記載されていることを順番に実行していくだけです。
最短3分! ゲストOSの効率的なインストール (1/3):実践! Xenで実現するサーバ統合(4) - @IT

ゲストOSファイルのコピー

自分の環境では/var/lib/xen/images配下にゲストOSファイルを保存したので、
そこに以下のようなゲストOSファイルが保存されている。

[root]# pwd
/var/lib/xen/images
[root]# ls -lh
-rwxr-xr-x 1 root root 5.1G  2月 27 14:04 01_Hoge.img

これをコピーして、02_Test.imgというゲストOSファイルを作成する。

[root]# cp 01_Hoge.img 02_Test.img
[root]# ls -lh
-rwxr-xr-x 1 root root 5.1G  2月 27 14:18 02_Test.img

ゲストOS定義ファイルのコピーと変更

ゲストOS定義ファイルは/etc/xen/[ゲスト識別名]に保存されている。
まず、コピーする。

[root]# cp /etc/xen/01_Hoge /etc/xen/02_Test

次にコピーした定義ファイルのuuid、name、実体ファイル、macアドレスを変更する。

[root]# vi /etc/xen/02_Test
name = "02_S"                         ←識別名 
uuid = "7ffe3206-3f8c-4900-a4c7-93f5dd462dea"       ←uuidgenコマンドの実行結果にする
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/02_S.img,xvda,w" ]  ←実体ファイルのパスを記入 
vif = [ "mac=00:16:3e:53:d9:99,bridge=xenbr0" ]        ←上位(00:16:3e)はベンダ固有。
                               残りを適当に変更する。

ゲストOS上のファイルを変更

ゲストOS上のファイルはコピー元のゲストOSのままなので、それらのファイルを変更する。
これはゲストOSを以下のように起動した状態で行う。
その前に、コピー元のゲストOSが停止されていることを確認する。

[root]# xm create /etc/xen/02_S -c


以下はゲストOS 02_S上での作業。
まず、/etc/hostsを編集する。

[root]# vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       s       localhost.localdomain   localhost
::1     localhost6.localdomain6 localhost6

sとかいう、よく訳の分からない名前を付けた。


次に、/etc/sysconfig/networkを編集する。

[root]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=s

HOSTNAMEにsを代入。


最後に、/etc/sysconfig/network-scripts/ifcfg-eth0を編集する。

[root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Xen Virtual Ethernet
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.1.255
HWADDR=00:16:3E:53:D9:99
IPADDR=192.168.1.5
IPV6INIT=yes
IPV6_AUTOCONF=yes
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet

HWADDRは定義ファイル/etc/xen/02_Testに指定したものと同じ値を入力する。
IPADDRは任意。

これらの作業はDHCPがあればしなくても良いらしい。