ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Scientific Linux 6.2/CentOS 6.2にXen 4.0.1をインストールする

「技術は独占するものではなく共有するものだ」というわけで、Scientific Linux 6.2/CentOS 6.2Xen 4.0.1を動かすことに成功したので、インストールする手順をここにはっつけておきます。

※以下手順例はScientific Linux 6.2を元にしていますが、CentOS 6.2でも同じ手順で構築できるのでご安心ください。


■Dom0
1)まず、Scientific Linux 6.2CentOS 6.2のうちお好きな方をインストール
2)インストール方法は「Minimal Desktop」を選択して小さくインストール
3)必要に応じて「開発ツール」を追加インストールする

  • 開発→その他の開発
  • 開発→デスクトッププラットフォーム開発
  • 開発→開発ツール

4)再起動後、初期設定を行う。kdumpは有効でも無効でも可だが、無効にする場合は再起動が必要になる
5)OSが起動したら右上の「ネットワークマネージャ」をいじって、ネットワークを有効にする(ついでに自動的にネットワーク接続するように設定する)
6)パッケージを最新に更新する

# yum update

7)SELinuxをオフにする場合は以下を修正(Xen環境の構築後に有効にするのを推奨)

# vi /etc/sysconfig/selinux

SELINUX=disabled

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)優先度を設定するパッケージを導入

# yum install yum-plugin-priorities

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が利用できるメモリを制限する

# vi /boot/grub/grub.conf

# 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は割り当てておくべきです。

22)再起動して、Xenカーネルで起動

# 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でもマウスの追従が

■参考にしたサイト

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。