「技術は独占するものではなく共有するものだ」というわけで、Scientific Linux 6.2/CentOS 6.2でXen 4.0.1を動かすことに成功したので、インストールする手順をここにはっつけておきます。
※以下手順例はScientific Linux 6.2を元にしていますが、CentOS 6.2でも同じ手順で構築できるのでご安心ください。
■Dom0
1)まず、Scientific Linux 6.2かCentOS 6.2のうちお好きな方をインストール
2)インストール方法は「Minimal Desktop」を選択して小さくインストール
3)必要に応じて「開発ツール」を追加インストールする
- 開発→その他の開発
- 開発→デスクトッププラットフォーム開発
- 開発→開発ツール
4)再起動後、初期設定を行う。kdumpは有効でも無効でも可だが、無効にする場合は再起動が必要になる
5)OSが起動したら右上の「ネットワークマネージャ」をいじって、ネットワークを有効にする(ついでに自動的にネットワーク接続するように設定する)
6)パッケージを最新に更新する
# yum update
7)SELinuxをオフにする場合は以下を修正(Xen環境の構築後に有効にするのを推奨)
8)Firewallをオフにする場合は以下を修正(Xen環境の構築後に有効にするのを推奨)
# system-config-firewall
※EL6系ではsystem-config-securitylevelではないので注意。ファイアウォールの細かい手順は省略します
9)ネットワークマネージャでIPを固定にする
※手順は省略
10)ネットワークマネージャに退場してもらう
# cd /etc/sysconfig/network-scripts/
# vi ifcfg-eth0
NM_CONTROLLED="yes"
↓
NM_CONTROLLED="no"
11)ネットワーク設定を変更したことで外部と遮断されたことを確認
# ping yahoo.co.jp
※Pingは通らない
12)ネットワークサービスを再起動
# /etc/init.d/network restart
13)外部にPingが通ることを確認
# ping yahoo.co.jp
14)一旦、再起動
# reboot
15)コミュニティレポジトリをありがたく拝借
# cd /etc/yum.repos.d/
# wget http://www.gitco.de/linux/x86_64/centos/6/gitco-centos6-x86_64.repo
16)優先度を設定するパッケージを導入
17)gitco-centos6-x86_64.repoにpriority=1を設定
kernelなどgitcoレポを優先するために優先度を上げる。
優先度を記述しない場合はそのレポジトリは自動的に優先度99になる。
18)必要パッケージを入れていく
# yum install -y kernel
# yum install -y xen xen-hypervisor xen-libs xen-licenses xen-runtime
19)XenはKSM非サポートらしいのでオフにする
# chkconfig ksm off
# chkconfig ksmtuned off
20)仮想マシンマネージャをインストール
# yum install -y virt-manager libvirt
21)dom0が利用できるメモリを制限する
# grub.conf generated by anaconda
#
:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Scientific Linux (2.6.32.26-174.1.xendom0.el6.x86_64)
root (hd0,0)
kernel /xen.gz dom0_mem=2048M
module /vmlinuz-2.6.32.26-174.1.xendom0.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root nomodeset rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap quiet rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM
module /initramfs-2.6.32.26-174.1.xendom0.el6.x86_64.img
kernel /xen.gz 行あたりに、dom0に使わせても良いメモリ容量を指定します。実装メモリに応じて適切な値を設定すること。上記例では2GBを割り当てています。
dom0_mem=xxxMと指定することにより、ホストに割り当てるメモリを決定します。「実装メモリ - dom0_mem」した残りのメモリ容量を仮想マシンに割り当てることができます。dom0_memには少なくとも2GBは割り当てておくべきです。
# reboot
23)上手くいけばDom0が起動する。
[root@localhost ~]# virsh list
Id 名前 状態
- -
0 Domain-0 実行中
上記のような結果がでたら、dom0の構築は完了。
.∧ ∧ +
+ (´・ω・∩ イヤッッホォォォオオォオウ!
+ o ,ノ
O_ .ノ *
.(ノ +
━━
■DomU
Dom0の構築が終わったら、次はDomU、つまりゲストOSのインストールです。
1)Virt-Managerで仮想マシンを作成して、OSをインストール。
※手順は省略
2)試しにFirefoxを実行してみる
以上。
■ToDo
以下がToDoですが、EL5系と違い、「仮想マシンマネージャ」で全て変更できます。
- ブリッジ接続の作成
- DomUをbr0に変更
■注意点
- dom0_mem=xxxMは必ず適切な値を指定する
- 指定しないとメモリを食いつぶしてホストが暴走する
- Xenは4.0.1でもマウスの追従が
■参考にしたサイト