Debian(wheezy) に Xen をインストール
背景
最終的には、
- このホストを Xen の Domain-0 として動作させる
- 管理用のネットワークと検証用のネットワークを用意する
- Domain-0 を含めた全ての VM が両方のネットワークに接続可能にする
- 検証用ネットワークは Tag VLAN なので、検証用ネットワークは Tag VLAN として定義
という形にしたい。以下で bridge や VLAN の使用、設定方法がわかったので、Domain-0 の構築作業を整理する。
Linux(Debian wheezy) で VLAN を利用する - Shammerism
bridge を利用する - Shammerism
VLAN の定義 - Shammerism
ネットワーク設定
NIC が複数あるので注意が必要。どの NIC か選ぶ画面では Link up しないようで、故障しているのでは?と疑ったが、その画面では Link up しないようになっているようだ。その画面に遷移する前にアクティブな NIC を判定していて、アクティブと判定された NIC が選択される動作のようだが、たまにうまくいかないこともあるみたいだ。この辺がわからず、何度もやり直すことになってしまった。やり直さないコツは、
ということだろう。ラックとかにはめ込んでいちいち奥に回らないと Link up 確認できない、というようなところで作業するととんでもない手間がかかる可能性がある。
パーティションレイアウト
Hypervisor として動作させたいので、VM 用のディスク領域を空ける必要がある。Domain-0 用には 4GB あれば十分なようだが、自分は 16GB 確保することにした。物理メモリも 8GB なので、スワップも 16GB としておく(たぶんこんなにいらないんだろうけれど念のため)。残りは LVM 予約領域だ。これは、インストール時に設定。使えるマシンが2台あってよかった。ネットワーク設定のメモは残してあるが、うまくいかない場合はもう一方を参考にできる。
インストール後の作業
とりあえず root でログインし、以下を実行。
- apt-get install xen-linux-system-amd64
- shutdown -r now
- 再起動後に再度 root でログイン
- cd /etc/grub.d/
- dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
- /etc/default/grub に次の行を追加 : GRUB_CMDLINE_XEN="dom0_mem=min:2048M,max:2048M dom0_max_vcpus=1 dom0_vcpus_pin"
- update-grub2
- /etc/xen/xend-config.sxp の dom0-min-mem を 192 から 2048 へ
- /etc/xen/xend-config.sxp の enable-dom0-ballooning を yes から no へ
- /etc/xen/xend-config.sxp の dom0-cpus を 0 から 1 へ
- shutdown -r now
- 再起動後に再度 root でログインし、xm list を実行。Domain-0 が存在しており、メモリと CPU 数を確認。変更した値になっていればよい。
- apt-get install lvm2
- cat /etc/fstab で swap のラベルを確認。
- pvcreate /dev/sdaX(X は lvm 予約領域。swap の次の番号のはず。)
- vgcreate vg0 /dev/sdaX(X は上の手順で指定したラベル)
本当かどうかわからないが、wheezy だと 1024MB のメモリじゃ足りないという情報もあったので 2048 MB 確保した。