Shammer's Philosophy

My private adversaria

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

参考サイト

Xen をインストールする際に参考にしたサイトは以下。

ネットワーク設定

NIC が複数あるので注意が必要。どの NIC か選ぶ画面では Link up しないようで、故障しているのでは?と疑ったが、その画面では Link up しないようになっているようだ。その画面に遷移する前にアクティブな NIC を判定していて、アクティブと判定された NIC が選択される動作のようだが、たまにうまくいかないこともあるみたいだ。この辺がわからず、何度もやり直すことになってしまった。やり直さないコツは、

  • まずは管理用の NIC 以外は抜線しておく
  • NIC 選択画面で NIC を選んだら Link up しているのを確認する(確認できる場所で作業する)

ということだろう。ラックとかにはめ込んでいちいち奥に回らないと Link up 確認できない、というようなところで作業するととんでもない手間がかかる可能性がある。

パーティションレイアウト

Hypervisor として動作させたいので、VM 用のディスク領域を空ける必要がある。Domain-0 用には 4GB あれば十分なようだが、自分は 16GB 確保することにした。物理メモリも 8GB なので、スワップも 16GB としておく(たぶんこんなにいらないんだろうけれど念のため)。残りは LVM 予約領域だ。これは、インストール時に設定。使えるマシンが2台あってよかった。ネットワーク設定のメモは残してあるが、うまくいかない場合はもう一方を参考にできる。

インストールコンポーネント

なるべく最小で、というのが原則のようだが、SSH の設定とか面倒なので SSH だけは最初からインストール。

インストール後の作業

とりあえず root でログインし、以下を実行。

  1. apt-get install xen-linux-system-amd64
  2. shutdown -r now
  3. 再起動後に再度 root でログイン
  4. cd /etc/grub.d/
  5. dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
  6. /etc/default/grub に次の行を追加 : GRUB_CMDLINE_XEN="dom0_mem=min:2048M,max:2048M dom0_max_vcpus=1 dom0_vcpus_pin"
  7. update-grub2
  8. /etc/xen/xend-config.sxp の dom0-min-mem を 192 から 2048 へ
  9. /etc/xen/xend-config.sxp の enable-dom0-ballooning を yes から no へ
  10. /etc/xen/xend-config.sxp の dom0-cpus を 0 から 1 へ
  11. shutdown -r now
  12. 再起動後に再度 root でログインし、xm list を実行。Domain-0 が存在しており、メモリと CPU 数を確認。変更した値になっていればよい。
  13. apt-get install lvm2
  14. cat /etc/fstab で swap のラベルを確認。
  15. pvcreate /dev/sdaX(X は lvm 予約領域。swap の次の番号のはず。)
  16. vgcreate vg0 /dev/sdaX(X は上の手順で指定したラベル)

本当かどうかわからないが、wheezy だと 1024MB のメモリじゃ足りないという情報もあったので 2048 MB 確保した。