2009年07月07日

CentOS on CentOS

今までずっとXenの取り扱いはDom0Gentooを使っていたんですが、ここ最近全然カーネルがアップデートされない(どころか2.6.21はMASKされてしまった)状況にがっかりして、Dom0に使うディストリビューションの入れ替えを決意。

真っ先に考えたのはデスクトップでずっと使っているubuntuだったんですが、これまたXenサポートは非常に弱い感じ。9.04になってDom0サポートはなくなったっぽいし、DomUも公式カーネルだとネットワークに不具合があるし。(これは9.04で直ったのかな…チェックしてないな)

んで、どうせ使い道はサーバ用途。鉄板のCentOSで試してみるか…とやってみたら、これがものすごい簡単に構築できてびっくりしました。CentOSってDom0DomUもしっかりサポートされてるんですね。と言うわけで、構築手順のメモ。

まずはDom0側。普通にCentOSをインストールすればいいんですが、DomU用にディスクを残しておきたいので、パーティションの設定時に / が使うLVのサイズを小さくしておいてください。(デフォルトだと残りサイズ全部割り当ててしまう) アップデートなど行った後、Dom0に必要な xenkernel-xen をインストールします。
yum install xen kernel-xen

続いて起動時に xenblk が読み込まれるよう、以下のコマンドを入力します。(modprobe.confxenblkモジュールを読み込むためのエントリを追加しています)
echo alias scsi_hostadapter xenblk >> /etc/modprobe.conf

さらにXen対応のカーネルが使えるように、カーネルの設定ファイルである /etc/sysconfig/kernel を以下のとおり修正します。
DEFAULTKERNEL=kernel
 ↓ 修正
DEFAULTKERNEL=kernel-xen

これでDom0の準備は完了です。(簡単ですね!)
あとは再起動すればXenの環境で上がってくるのですが、単純な再起動だと今使ってるカーネルのまま立ち上がってしまいます。grubのメニューから起動するカーネルを選べる方は問題ありませんが、私のように実機にキーボードもディスプレイも付けてない人だと困ってしまうので、ここは思い切ってデフォルトで起動するカーネルをXenのカーネルに切り替えてしまいましょう。修正するのは /boot/grub/grub.conf の以下の1行です。
default=1
 ↓ 修正
default=0

再起動したら、uname -r で使っているカーネルを確認してみましょう。
# uname -r
2.6.18-128.1.16.el5xen

カーネル名の最後にxenが付いてれば成功です。

続いてDomU側。これは以前に書いたCentOS on Gentooを参考にしつつ行きます。

まずはファイルシステムの作成。分かりやすさを考えて、Dom0のLV=DomUのディスクとし、1つのディスクは1つのパーティションしか持たないような構成にしました。最低限必要な構成として、/6GB/boot128MBswap512MBという3つのパーティションを作成します。
lvcreate -L6G -ndomU01_root VolGroup00
lvcreate -L128M -ndomU01_boot VolGroup00
lvcreate -L512M -ndomU01_swap VolGroup00

この時、環境によっては、
/dev/hda: open failed: No medium found

というメッセージが出るかも知れません。その場合は /etc/lvm/lvm.conf を以下のとおり修正します。
filter = [ "a/.*/" ]
 ↓ コメントアウトする
# filter = [ "a/.*/" ]

# filter = [ "r|/dev/cdrom|" ]
 ↓ コメントを外す
filter = [ "r|/dev/cdrom|" ]

修正が完了したら以下のコマンドを実行します。
vgscan

これで該当メッセージが出なくなるはずです。

DomU用のLVが完成したら、いよいよインストールです。確保するメモリを256MBDomUの名前を domU_01 とすると、インストールコマンドは以下のとおりです。
virt-install -n domU_01 -r 256 -f /dev/VolGroup00/domU01_boot -f /dev/VolGroup00/domU01_swap -f /dev/VolGroup00/domU01_root -b xenbr0 -p --nographics -l http://ftp.iij.ad.jp/pub/linux/centos/5/os/i386/

普通にテキストインストールするのと同じインストーラが実行されるので、よしなにインストールしてください。grubとか普通にインストールしちゃって大丈夫です。(あくまでDomUのディスク上にインストールされるので) あ、パーティション構成だけは手動で行うようにしてください。でないとせっかく専用のディスク(=Dom0のLV)を定義したのに、まとめてLVMの領域にされちゃうので。("Create Custom Layout"を選択するとうまく行くと思います)

インストールが完了したらリブートします。OSの初回起動時に"Setup Agent"なるものが起動しますが、どれも実行せずにexitしてください。実行してしまうとツール自身を終了できずに後続処理が行えなくなってしまいます。(私の環境固有の問題かも知れませんが…)

−追記:2009/07/08−

Setup Agentがおかしくなるのは私が作業に使っていたターミナル(Poderosa 3.0)固有の問題みたいです。gnome-terminalから作業したら問題なく継続することが出来ました。

−追記ここまで−

これでお終い。

以下のサイトの情報を参考にさせていただきました。
(ありがとうございました!)

仮想マシン構築(Xen) - CentOSで自宅サーバー構築
http://centossrv.com/xen.shtml

「/dev/hdc: open failed: No medium found」が表示される:気ままな日記:So-net blog
http://gokun7.blog.so-net.ne.jp/2008-11-20
posted by 月水和尚 (とも) at 17:26 | Comment(0) | TrackBack(0) | Xen/仮想化全般
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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

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