Xen CentOS5(64bit)

更新日 2008-01-31 (木) 08:45:22

Xen

Xenは仮想化の一つで、VMWareと同じように複数のOSをゲストOSとして実行できるが、条件によってはゲストOSのカーネルにパッチを当てる必要がある。またローカルCDではなくネットワークからしかインストールできない場合がある。ただしVMWareServerに比べおーばヘッドが小さい。
Xenでは全体を管理するDomain0とゲストOSが入る場所をDomainU(1OS1DomainU)という

CentOSでXenのインストール

CentOS5(RedHatEnterpriseLinux5相当)ではインストール時に「仮想化」を選択追加するとkernelがXen対応のがインストールされるので、インストール時に選択する。また次のようにVLMにインストールするためDiskはVLMでパーティションを切る。さらにゲストOSを入れるために1OSあたり、4GB以上の未使用領域を用意しておく。

ゲストOSのインストール方法

Xenでは、DomUのディスクイメージを、ファイルで持つのが一般的だ。例えばCentOS 5(RHEL5)だと/var/lib/xen/imagesの下に、domain01.imgと言うようなイメージファイルを持つ。しかし、この方式はオーバーヘッドが大きい。というのは、DomUから見ると、ファイルシステムが二重になっているからだ。

Dom0側のファイルシステム上にイメージファイルを持つので、DomUからみると、最終的に物理ディスクにアクセスするまでに、二度VFSとファイルシステムの世話になることになる。

これを回避するには、直接ブロックデバイスをDomUのイメージとして利用する方法がある。この場合のブロックデバイスとしては、/dev/sda3などのディスクデバイスを直接利用するという方法もあり得る(上図の物理デバイス方式)。また、LVMを介して割当る方法もある。
物理デバイス方式は、オーバーヘッドが最も少なく、性能的には有利だ。しかし、ディスク容量を変更することは容易ではない。
一方、LVM方式は、若干のオーバーヘッドはあるものの、ディスク容量の変更が可能だ。さらに、後に述べるように、スナップショット機能を利用したロールバックや容量の節約が可能になる。

DomainUへFedoraCore6のインストール

インストールするVLMを追加

VolGroup00にLogVol02を追加する

# /usr/sbin/lvcreate --size=4G --name LogVol02 VolGroup00
  Logical volume "LogVol02" created

またはGnomeから
システム->管理->論理ボリューム管理
で削除等もできる

Xen1.png

DomainUの作成 GUI(Gnome)上から

アプリケーション -> システムツール -> Virtual Machine Manager

新規 =>新しい仮想システムを作成中

システム名: vmcentos (/etc/xen/vmcentosに作成される)

仮想化の方法:完全仮想化ができないCPUの場合はグレーアウトしているので準仮想化で行う

(完全仮想化が可能なときはそちらを選択するとisoイメージや、CD-ROMの指定、OSタイプやOSの種類を選択する画面になる。なぜか、VineのISOイメージでのインストールはNGだが、CD-ROMからのインストールは無事できた。)

インストールメディア:oshttp://ftp.riken.jp/Linux/centos/5/os/i386
FC7ではhttp://ftp.iij.ad.jp/pub/linux/fedora/releases/7/Fedora/i386/os
FC6はうまくいかなかった。また最後の/は入れないほうがいいかも?

インストール場所:通常ディスクパーティション /VolGroup00/LogVol02を選択

ネットワークの設定では

仮想ネットワーク:ホストとは別のネットワークが作成される
共有物理デバイス:ホストと同一ネットワークになる

メモリ、CPUの数を設定し 終了

もし、パスワードについて聞かれたら、適当に設定する

これでFedoraCoreのCDを入れたインストール画面が表示される

Xen2.png

このあとホストが、VMWare上だとインストール後うまく起動しなかった。実マシンでは問題なく動作した。

ゲストOSがWindowsの場合

そのままインストールをすると、Reboot時にCD-ROMが認識できなくなるので、以下のファイルを修正

/etc/xen/vmwinxp(システム名)

##disk = [ "phy:/dev/VolGroup00/LogVol04,hda,w" ]
disk = [ "phy:/dev/VolGroup00/LogVol04,hda,w", "phy:/dev/scd0,hdc:cdrom,r" ]

このページを参考

Vista用に以下の内容があった

# cp -a /etc/xen/xmexample.hvm /etc/xen/xmvistax86.hvm
# cd /etc/xen
# vi xmvistax86.hvmで以下のように内容変更します。(1)memory = 128を768に変更。
(2)name = "ExampleHVMDomain"を"Vistax86HVM"に変更。
(3)#acpi=0をacpi=1に変更。※これは「Windows failed to load because the 
firmware (BIOS) is not ACPI compatibe.」の回避用です。
(4)#acpi=0をapic=1に変更。※この変更を行わないと「Windows is Loading files...」
画面が繰り返し表示されます。
(5)disk = [ 'file:/var/images/min-el3-i386.img,hda,w', ',hdc:cdrom,r' ]を
disk = [ 'file:/boot/xenvistax86.img,hda,w', 'phy:/dev/cdrom,hdc:cdrom,r' ]に変更。
※上記diskでcdromを定義しています。
(6)#boot="cda"はそのままにしておきます。※インストールDVDからのブートはxm 
createでのboot=dで指定できます。
(7)sdl=0を1に変更。
(8)vnc=1を0に変更。
(9)#localtime=1の#を削除。
(10)#keymap='ja'の#を削除。

起動

# xm create vmwinxp (boot=d: CD-ROMBOOTらしい)

インストール中止まったら一度停止してxm create vmwinxpを実行する。

xen3.png

参考ページ

検閲Tech


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS