ゲスト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があればしなくても良いらしい。