Xenをさわる

先週、会社で実験用マシンを買う機会があり、Xenの勉強もかねて、場所もとらないShuttleのベアボーンSD37P2をベースにCore 2 Duoマシンを構築。

Domain 0の環境構築

Domain 0のOSはFedora Core 5。SELinuxとの相性が良くないということで、SELinuxをdisableでインストール(非常に罪悪感があったが…(^^;;)。
SELinux以外は通常通りインストール後、"yum update" してから

# yum install xen kernel-xen0 kernel-xenU

として再起動(Xenカーネルを選択)するだけで、Domain 0の環境構築はあっさり終了。

HVMへのインストール

Core 2 DuoIntel-VTに対応しているので、HVMで動かしてみようとした。

  • /etc/xen/xmexample.hvmを/etc/xen/<仮想マシン名>.hvmとしてコピーし、次のようにした。(変更した部分のみ)

memory = 256
name = "<仮想マシン名>"
disk = [ 'file:/var/xen/<仮想マシン名>.img,ioemu:hda,w' ]
sdl=1
vnc=0
vncviewer=0

しかし、sdlのウィンドウが表れたと思ったら、真っ黒のまま。で数秒後に、Domain 0ごと固まってしまう… orz
(xenguest-install.pyを使ったインストールでも同様)
時間があるときに、Xen環境のバージョンを変えて試してみようと思う。

Domain Uへのインストール

Domain Uへは、xenguest-install.pyで問題無くインストール可能。
ただ、インストール完了後、再起動する際に

# xm create -c <仮想マシン名>

として起動するが、外部のマシンからターミナルソフト(TeraTermとか)経由で実行すると、エラーが出て起動しない場合がある。
その時は

# xm create <仮想マシン名>
# xm list <---仮想マシンIDを確認
# xm console <仮想マシンID>

とすればよい。


その後、"yum update"でアップデートし、そしてVNC経由で使えるようにしていく。

# yum install vnc-ltsp-config

としてvnc-ltsp-configをインストールし*1、/etc/xinetd.d/vnctsで、必要なサービスの"disable = yes"を、コメントアウトするか"disable = no"に変更する。
また、/etc/gdm/custom.conf内の"[xdmcp]"の次の行に"Enable=true"を追加。
そして、/etc/inittab内のデフォルトランレベルを"5"に変更。


xinetdを再起動し、iptablesをとりあえずoff*2として、Domain 0または他のPCからVNCで接続するとログインが面画あらわれる。

*1:xinetdがなければxinetdもインストールされる

*2:適切に設定してやるのがほんとは良いのだが…