"CentOS on Gentoo"の
構築方法は何とか分かったものの、やはりディスクが特殊形式なのは何かと不便。Dom0側からmountして中身を確認することも、LVMの特性を生かしてディスクの拡張をすることも出来ません。せっかくのXen環境なのに、これはイマイチ嬉しくない。
というわけで、ムリヤリ何とかしてみました。
作業を始める前に、Dom0側でNFSが使えるようにしておいてください。
私の場合はGentooなので、
emerge -av nfs-utils
と、これでOK。(のはず…違いましたっけ?)
まずは
前回の手順に従い、普通にCentOSをインストールします。(1から全てvirt-installに頼らずに入れる方法は残念ながら思いつきませんでした)
続いてDom0側で適当なサイズのLV(ルートファイルシステムになるLVなので用途にあったサイジングをしてください)を作成します。作成したらext3でフォーマットし、適当なディレクトリ(/mntとか)にマウントします。
lvcreate -L3G -ndomU_cent2_root rootvg
mkfs.ext3 /dev/rootvg/domU_cent2_root
mount /dev/rootvg/domU_cent2_root /mnt
マウントしたファイルシステムをNFSで公開します。
/etc/exportsに
/mnt 192.168.0.0/255.255.255.0(rw,no_root_squash,subtree_check)
と、こんな感じに記述を入れていただければOKです。
(もちろんIPは環境に合わせて適宜変更してくださいね)
そしたら設定を有効にすべくnfsを再起動します。
/etc/init.d/nfs restart
次にCentOSにログインし、先ほど定義したNFS領域をマウントしましょう。
mount -t nfs 192.168.0.2:/mnt /mnt
ここで指定するIPはDom0の(というかNFSを公開してるサーバの)IPです。
無事マウントできたら、CentOSの中のファイルを根こそぎコピーします。ただし
/proc、
/sys、
/selinux配下はコピーできないので対象としません。また
/dev配下は一部コピーに失敗しますが気にしないでください。
cd /
cp -ap bin boot dev etc home lib media misc net opt root sbin srv tmp usr var /mnt
けっこう時間がかかります。のんびり待ちましょう。
コピーが完了したらCentOSはシャットダウンしてしまってください。
NFS公開を終了します。
/etc/exportsに書き加えた記述を消し、nfsを再起動(または停止)してください。
先ほどコピーしたファイルシステムの中を整備します。
まずはコピーしなかったディレクトリを作成しておきます。
cd /mnt
mkdir proc sys selinux
ディスクの定義が変わったので、fstabも変更しておきます。
/mnt/etc/fstab/dev/sda1 / ext3 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
ここではswapは定義してません。(あとで適宜追加してください)
あと、
/selinux配下を消してしまったのでSELinuxが使えません。このままだと立ち上げてもログインすら出来ない状態になってしまうので、SELinuxをオフにします。
/mnt/etc/selinux/configSELINUX=enforcing
↓ 変更
SELINUX=disabled
カーネルとRAMDISKはDom0側に取り出しておきます。
cp /mnt/boot/vmlinuz-2.6.18-92.1.6.el5xen /boot/cent-vmlinuz-2.6.18-92.1.6.el5xen
cp /mnt/boot/initrd-2.6.18-92.1.6.el5xen.img /boot/cent-initrd-2.6.18-92.1.6.el5xen.img
ファイル名は環境に合わせて適宜変更してください。(その時導入されてるカーネルのバージョンでファイル名が変わってしまうので)
これで準備は完了です。ファイルシステムをumountします。
cd /
umount /mnt
最後にXenの設定ファイルを書きます。
kernel = "/boot/cent-vmlinuz-2.6.18-92.1.6.el5xen"
ramdisk = "/boot/cent-initrd-2.6.18-92.1.6.el5xen.img"
memory = 256
name = "cent2"
vif = ['mac=00:16:3e:00:00:02, bridge=xenbr0']
disk = ['phy:rootvg/domU_cent2_root,sda1,w']
root = "/dev/sda1 ro"
ファイル名は
/etc/xen/cent5_2としましょう。(何でもいいんですが)
全ての準備が整いました。CentOSを起動しましょう。
xm create -c cent5_2
"CentOS on gentoo"環境(ばーじょん2)のできあがり♪
これでCentOSもだいぶ扱いやすくなりました。
以下のサイトの情報を参考にさせていただきました。
(ありがとうございました!)
NFS-mounthttp://www.furyu.atnifty.com/cgi-bin/readtext.cgi?title=NFS-mount&fname=./memo/Linux/PC-HowTo/nfs_mount.txtSTBBS.NET blog: RedHat, CentOSで SELinuxをオフにするhttp://www.stbbs.net/blog/2007/10/redhat-centos-selinux.html