理想未来ってなんやねん

娘可愛い。お父さん頑張る。

続々:CentOS 5.4でKVMを試してみた。〜 Windows XP編 〜

KVMの続き。
KVMは完全仮想化のqemuを採用しているので、Windowsも普通に動きます。
実際にWindows XPをインストールして試してみました。

詳細は以下の通り。

インストール

インストールはvirt-managerを使うことで非常に簡単に行えます。
ウィザード途中のInstallation Methodで、ローカルインストールのメディア、OSタイプをWindwos、OS種別を適切に選ぶだけです。

また、32bit版Windowsをインストールする場合、Virtualization MethodでCPUアーキテクチャi686を選択します。

あとはインストールするだけ。

こんな感じでWindowsが動きます。

準仮想化ドライバ

KVMのサイトからWindows用の準仮想化ドライバがダウンロードできるので、インストールするとパフォーマンスが向上します。
WindowsGuestDrivers/Download Drivers - KVM

インストールを行うには、/etc/libvirt/qemu/ 以下にある仮想マシンの定義ファイル(.xml)を書き換えます。
ネットワークの場合は、<model type='virtio'/>

<interface type='network'>
  <mac address='XX:XX:XX:XX:XX:XX'/>
  <source network='default'/>
  <model type='virtio'/>   ←この行を追加
</interface>

変更が終わったら定義ファイルを読み込みます。

virsh define /etc/libvirt/qemu/winxp.xml 

再起動後に新しいハードウェアの追加ウィザードが表示されますので、ドライバファイルを指定するだけです。


ストレージの場合は少し手間になりますがダミーのvirtioドライブを作成します。

追加後、OSを起動し、新しいハードウェアの追加ウィザードによりドライバをインストールします。


その後、定義ファイルの下記の部分を、<target dev='vda' bus='virtio'/>に書き換えます。

<disk type='file' device='disk'>
  <source file='/var/lib/libvirt/images/winxp.img'/>
  <target dev='hda' bus='ide'/> ←この部分
</disk>

変更が終わったら定義ファイルを読み込み、起動します。

virsh define /etc/libvirt/qemu/winxp.xml 

この時点でダミーで作ったドライブは削除してもかまいません。

感想

ネットワーク性能については準仮想化ドライバのおかげでそれほど落ちないのですが、ディスク性能については準仮想化ドライバを使う事でかえって性能が落ちてしまいました。
描画のパフォーマンスとアイドル中でもCPU負荷が100%になってしまう点で、VMware等、他の仮想化ソフトウェアと比べると大きく見劣りします。
描画のパフォーマンスとCPU負荷が100%の状態となる点が改善されれば、ある程度使えるようになると思いますが、やはりKVMWindowsを動かすものではなく、Linuxサーバーの仮想化に使うべきでしょう。