CentOS+Xen で 仮想化CentOS を起動(笑)

CentOS 5.5 上で Xen を利用して CentOS 5.5 を仮想化しようという試みです(笑)
何に使えるかというと、仮想化の img ファイルができるので ESXi なんかに移植しやすかったりします。
あとは、テストサイト何かを大量に建てたりする際に、プログラマが root よこせ!という場合に使えます。root を渡すと色々めんどくさいので、そういった時に自由に壊して使っていいOSを用意する事ができます。

まずは、ベースとなるOSのセットアップ。CD でも DVD でも何でもいいので Boot してGUIのセットアップ画面を出します。普通にセットアップを進めていって、最後にパッケージを選択する画面になりますが、ここで「今すぐカスタマイズする」(日本語インストーラーの場合)にチェックを入れて次へ。「仮想化(virtualization)」でKVMじゃない方を選択(笑)して、セットアップを進めます。

初期起動の画面の「Firewall Configration」で「Security Level」を[Disable]にし、「SELinux」を[Disable]にします。そのままのOSだと怖いので、ちゃんとセキュリティ設定しましょう。SSH root permit off とか yum update とか。

uname -r で kernel を確認して xen の文字がでてれば大丈夫。自分は「2.6.18-194.26.1.el5xen」でした。

まずは、仮想マシンを作成。

virt-install –prompt –nographics

こんな感じ。対話式でセットアップするモードを選択。

What is the name of your virtual machine?  【仮想マシン名(ホスト名じゃないよ)】
How much RAM shold be allocated (in megabytes)?  【割り当てメモリ】
What would you like to use as the disk (path) ?   【イメージファイルの置き場所】
How large would you like the disk (***********) to be (in gigabytes)?   【イメージファイルサイズ(GB)】
What is the install location?   【FTPインストール用のイメージパス】

自分の場合はこんな風にしました。

What is the name of your virtual machine? testsrv01
How much RAM shold be allocated (in megabytes)? 512
What would you like to use as the disk (path) ? /home/images/testsrv01.img
How large would you like the disk (/home/images/testsrv01.img) to be (in gigabytes)? 20
What is the install location? http://ftp.riken.jp/Linux/centos/5.5/os/i386/

上記設定が完了すると、仮想コンソール上で CUI インストールが始まります。後は普通に OS をセットアップしていけば仮想マシンとして、CentOS が動きます。

最後にFYI的な xen コマンド一覧。

仮想コンソールからベースOSへ戻る
Ctrl + ]
仮想マシンのコンソール接続
xm console 【仮想マシン名】
仮想マシン一覧
xm list

仮想マシンを再起動する
xm reboot 【仮想マシン名】
仮想マシンをシャットダウンする
xm shutdown 【仮想マシン名】
停止した仮想マシンを起動する
xm create 【仮想マシン名】

くれぐれも OS のセキュリティ設定には気をつけましょう。

[FYI] vmtool がインストールできない

「簡易インストールが進行中の場合、VMware Toolsのインストールを手動で開始できません。」

vmware player がこんなエラーで vmtool をインストールさせてくれない事があります。
その場合、vmplayer で起動している OS をシャットダウンし、設定画面で フロッピー の項目を確認してください。
基本的にフロッピーは使用しないと思うので、自動検出ないし削除してしまえば vmtool はインストールできるようになります。