自宅鯖にXENを導入してみた

仮想化というとKVMとかの方が盛り上がって来てるような気がする昨今に今更なんだけれども。

CentOS 5.3ではXENがとても簡単に導入できる。
OSインストール時に仮想化にチェックを入れたらそれだけで入るし、後からでも

$ sudo yum install xen

これで依存するパッケージなど必要なものも全部入る。
後から入れた場合はxen用のカーネルで立ち上がるようにgrub.confの修正とかは必要だけど。

まあここらへんはぐぐればいくらでも出てくるので詳細は割愛。
なおパッケージのXENのバージョンは3.0.3になる。

仮想マシンの構築は最初はCUIでがんばろうとしたけれども、イメージ作る途中でインストーラのカーソルが明後日の方向行ったりしてワケがわからなくなったので、あきらめておとなしくGUIで。
GUIのUIはよく出来ていて、簡単に仮想マシンのイメージファイルが作れてOSもインストールすることが出来た。

イメージをひとつ作ったらsudoの設定とかどのサーバにも必ず入れるパッケージを入れたりとか基本的な部分をある程度セットアップ。
そしたらあとはそのイメージファイルコピーして/etc/xen以下に設定ファイルを仮想マシンの台数分作って6台くらい作ってみた。

同じ構成の仮想マシンをコピーでさくっと作れるし、実マシンへの束縛がなくなったので身軽になった気がしていい気分。
ディスク以外はリソース割り当ても柔軟にできていいかんじ。

ただひとつだけ気になることとして、仮想マシンの一台がディスクI/Oを大量に発生させると他のマシンも巻き込んで遅くなる、ということがあった。
例えば一台が割り当てのメモリを使い切ってスワップをガリガリ発生させようものなら、他のマシンでもスワップが発生したかのように遅くなる。

これは最近某VPSを使っていて経験したことと同じだ。
そこでは深夜にバッチが動く時間帯になるとひどくパフォーマンスが落ちる。
こういうことがあるのでVPSも自由度は高いけど所詮共有サーバーだよなって思う。

ここらへんの問題って何か回避するノウハウとかあるんだろうか。