2008年08月15日

CentOS on Gentoo その2

"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/config
SELINUX=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-mount
http://www.furyu.atnifty.com/cgi-bin/readtext.cgi?title=NFS-mount&fname=./memo/Linux/PC-HowTo/nfs_mount.txt

STBBS.NET blog: RedHat, CentOSで SELinuxをオフにする
http://www.stbbs.net/blog/2007/10/redhat-centos-selinux.html
posted by 月水和尚 (とも) at 18:34 | Comment(0) | TrackBack(0) | Xen/仮想化全般
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。