Linux KVMにWindows Server 2008 R2をインストールする
Linux KVMにWindows Server 2008 R2をインストールする際のポイントを紹介します。
virtioドライバを準備する
QEMUはe1000などの各種のデバイスをエミュレートしてくれますが、余分なオーバーヘッドが発生します。virtioは仮想I/Oデバイスのフレームワークで、オーバーヘッドを最小限にし、ゲストOSのパフォーマンスを大きく向上させます。
ひとことでいうと、一番いいインタフェースを頼む。ということです。
Windows Server 2008 R2からx64のみサポートになりました。以前はvirtioドライバをx64に導入するには一手間必要でしたが、最近リリースされたドライバは署名が付いているので簡単に導入できます。
If your distribution does not provide binary drivers the Fedora Project package can be downloaded from the following link.
Download Latest VirtIO Win drivers from Fedora
Note: These drivers are signed but not WHQL Certified.
WindowsGuestDrivers/Download Drivers - KVM
このエントリを書いている時点で20100817版がリリースされています。普段使っているWindowsゲストがあれば、ドライバをアップデートしておきましょう。
CDまたはHDDから起動可能な設定にする
WindowsのインストーラはHDDが起動可能なデバイスかチェックします。ブートデバイスがCDのみになっていると、HDDから起動可能と判定されず、HDDをインストール先に指定できなくなります。
下記のようにCDとHDDを指定しておくとよいでしょう。
<os> <type>hvm</type> <boot dev='cdrom'/> <boot dev='hd'/> </os> <devices> <disk type='block' device='disk'> <source dev='/dev/vg/vm2008r2.root'/> <target dev='vda' bus='virtio'/> </disk> <disk type='file' device='cdrom'> <source file='/misc/public/iso/ja_windows_server_2008_r2.iso'/> <target dev='vdc' bus='ide'/> </disk> </devices>
インストール時にvirtioドライバを読み込む
インストール先の選択画面で、最初はディスクが表示されないと思います。virtioディスクを認識させるため、フロッピーディスクからvirtioドライバを読み込みます。
下記のようにフロッピーディスクを準備しておきます。
<devices> <disk type='file' device='floppy'> <source file='/misc/public/iso/virtio-win-1.1.11-0.vfd'/> <target dev='fda'/> </disk> </devices>
インストール先の選択画面でvirtioネットワークドライバも読み込んでおくと、後からドライバを追加する手間が省けて便利です。下記を読み込んでおきましょう。
残りの手順は物理サーバにインストールする場合と同じです。