Xenは仮想化の一つで、VMWareと同じように複数のOSをゲストOSとして実行できるが、条件によってはゲストOSのカーネルにパッチを当てる必要がある。またローカルCDではなくネットワークからしかインストールできない場合がある。ただしVMWareServerに比べおーばヘッドが小さい。
Xenでは全体を管理するDomain0とゲストOSが入る場所をDomainU(1OS1DomainU)という
CentOS5(RedHatEnterpriseLinux5相当)ではインストール時に「仮想化」を選択追加するとkernelがXen対応のがインストールされるので、インストール時に選択する。また次のようにVLMにインストールするためDiskはVLMでパーティションを切る。さらにゲストOSを入れるために1OSあたり、4GB以上の未使用領域を用意しておく。
Xenでは、DomUのディスクイメージを、ファイルで持つのが一般的だ。例えばCentOS 5(RHEL5)だと/var/lib/xen/imagesの下に、domain01.imgと言うようなイメージファイルを持つ。しかし、この方式はオーバーヘッドが大きい。というのは、DomUから見ると、ファイルシステムが二重になっているからだ。
Dom0側のファイルシステム上にイメージファイルを持つので、DomUからみると、最終的に物理ディスクにアクセスするまでに、二度VFSとファイルシステムの世話になることになる。
これを回避するには、直接ブロックデバイスをDomUのイメージとして利用する方法がある。この場合のブロックデバイスとしては、/dev/sda3などのディスクデバイスを直接利用するという方法もあり得る(上図の物理デバイス方式)。また、LVMを介して割当る方法もある。
物理デバイス方式は、オーバーヘッドが最も少なく、性能的には有利だ。しかし、ディスク容量を変更することは容易ではない。
一方、LVM方式は、若干のオーバーヘッドはあるものの、ディスク容量の変更が可能だ。さらに、後に述べるように、スナップショット機能を利用したロールバックや容量の節約が可能になる。
インストールするVLMを追加
VolGroup00にLogVol02を追加する
# /usr/sbin/lvcreate --size=4G --name LogVol02 VolGroup00 Logical volume "LogVol02" created
またはGnomeから
システム->管理->論理ボリューム管理
で削除等もできる
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を入れたインストール画面が表示される
このあとホストが、VMWare上だとインストール後うまく起動しなかった。実マシンでは問題なく動作した。
そのままインストールをすると、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を実行する。