Xenとは
Xen は オープンソースの仮想マシンモニタであり、複数のOSを制御するプログラムである。 OSからハードウェアを隠蔽し、複数のOSを、同時に仮想マシンモニタの上で実行することができる。 OSは、仮想マシンモニタから与えられた仮想マシン環境の中で動作する。
pwでは一人一OSの環境を実現するために導入されており、 同時にpwの管理を容易にする狙いもある。
Xenのインストール方法
流れとして以下の手順がある。
- まず管理OSを作成
- 次にゲストOSを作成
それぞれの詳しい手順は以降の章で説明する。
XenのDomain0の作成
ここでは
- 既にCentOSがマシンにインストールされ動いている
ことを前提に話を進めていく。
まずカーネルを通常のものから専用のXenカーネルに変えなければならない。xenはオープンソースなので、ソースからコンパイル、インストールということも出来るが、普通に使うのならばyumからパッケージでインストールした方が良い。以下のようにする。
# yum install xen kernel-xen
次に/etc/grub.confのdefault起動の設定を変更する。
default=0
の数字がxen-kernelを指すようにする。これで次回起動時にxenカーネルで立ち上がる。
xenカーネルで起動させるとxmコマンドが使えるようになっている。
起動中のDomainを確認するには以下のようにする。
[root@cls121 xen]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 952 2 r----- 51770.0 Fedora10_HVM001 6 263 1 -b---- 35798.9 Fedora10_HVM002 10 263 1 -b---- 38940.6 Fedora10_HVM003 8 263 1 -b---- 36620.1 Fedora10_HVM004 9 263 1 -b---- 2593.1
XenのDomainUの作成
ゲストOSとも呼ばれる、仮想OSを作成する。
- ゲストOS = DomainU
学生専用OSはこれ。
pwで使われているCPU(Core Duo)はIntel VTをサポートしているので、DomainUの作成はとても簡単。
まず、お手本となる/etc/xen/xmexample.hvmを適当な場所にコピー。
# cp /etc/xen/xmexample.hvm /xen/test.hvm
次にこのhvm設定ファイルを書き換える。変更が必要で重要な箇所を下に記す。
- memory = 256
clsは実メモリが1GBしかないので、仮想メモリへの割り当てが苦しい。 - shadow_memory = 4
2KB/memory’s MB ぐらい必要と書いてある。ここでは4MB割り当て。 - name = “fc6-hvm001”
DomainUの名前。xmで管理するときに使う。
vif = [ 'type=ioemu, mac=00:16:3e:00:00:01,bridge=xenbr0']
NICの設定。macアドレスの規則は
- stfedora 00:16:3e:00:00:[pw番号を16進数で] となっている。
CDドライブではなく、isoファイルなどからインストールしたい場合は
- ‘file:/foo.iso,hdc:cdrom,r’
ここで、DomainUをインストールするディスクイメージを作成しておく。
20GBの空ディスクイメージの場合、コマンドラインから次のように。
# dd if=/dev/zero of=/xen/fc6-hvm001.img count=20K bs=1M
ちなみに、Linuxだけでなく、windowsをインストールすることも可能。
このポート番号は例であり、実際のpwではNAT設定に応じたポート番号を指定する。
ここでDomainUの画面が表示されたら後は通常のOSインストールと何も変わらない。
ちなみに、Linuxだけでなく、windowsをインストールすることも可能。