2010年2月26日金曜日

KVM で、Virtio Windows 用ドライバを試してみる

注意

64ビット版 Windows では、ドライバに署名が必須となるようです。
現在配布されているドライバは署名がされていないので、64ビット版で使うには苦労するようです。


ドライバのインストールの概要

  1. インストール時に使用した NIC を削除し、Virtio NIC を追加します。
  2. ドライバをインストールするために、ダミーの Virtio Disk を追加します。
  3. 仮想マシンを起動し、[新しいハードウェアの検索ウィザード] で、NIC と Disk のドライバをインストールします。
  4. 仮想マシンシャットダウン後、ダミーの Disk を削除します。
  5. 起動ディスクを一度削除したあと、再度 Virtio Disk として起動ディスクのファイルを選択し直します。

ドライバのインストール方法

  1. Windows 用 Virtio ドライバ をダウンロードする。
  2. 仮想マシンをシャットダウンする。
  3. 仮想マシンマネージャー (virt-manager) を起動する。
  4. 対象の仮想マシンを選択し、メニュー Edit > Virtual Machine Datails を選択する。
  5. [Datails] タブで NIC を選択して、[削除] ボタンをクリックする。
  6. [Add Hardware] ボタンをクリックする。
  7. Hardware type: Network、Device Model: virtio で、NIC を追加する。
  8. [Add Hardware] ボタンをクリックする。
  9. Hardware type: Storage、Device Model: Virtio Disk で、ダミーのディスクを追加する。
    手順 3-9 を virsh コマンドで実施することもできる。
    $ virsh edit VirtualMachine

    <interface type="network">
    :
    :
    <model type="virtio"/> ← この行を追加する。
    </interface>

    ダミーのディスクを追加するため、以下 3 行を追加する。(dummy.img は、仮想マシンマネージャーで予め作成しておく。)
    <disk type="file" device="disk">
    <source file='/var/kvm_images/dummy.img'/>
    <target dev="vda" bus="virtio"/>
    </disk>
  10. 仮想マシンを起動する。($ virsh start VirtualMachine)
  11. Administrator で、ログオンする。
  12. [新しいハードウェアの検索ウィザード] が起動するので、NIC と Disk のドライバをインストールする。ウィザードが起動しない場合は、[デバイス マネージャー] を起動して、[SCSI コントローラー] と [イーサネット コントローラー] の [ドライバ ソフトウェアの更新] を実施する。先にダウンロードしたドライバを選択するのだが、OS の種類、32/64ビット毎にフォルダに分かれているので、選択を間違えないようにすること。
  13. 仮想マシンをシャットダウンする。
  14. 仮想マシンマネージャー (virt-manager) で、対象の仮想マシンを選択し、メニュー Edit > Virtual Machine Datails を選択する。
  15. [Datails] タブで、先ほど追加したダミーのディスクを選択して、[削除] ボタンをクリックする。
  16. 起動ディスク (Disk hda) を選択して、[削除] ボタンをクリックする。
  17. [Add Hardware] ボタンをクリックする。
  18. Hardware type: Storage、Device Model: Virtio Disk、Location で、起動ディスクの仮想ディスクを選択し、ディスクを作成する。
  19. Disk vda が作成される。
    手順 14-19 を virsh コマンドで実施することもできる。
    $ virsh edit VitrualMachine

    ダミー用ディスクの部分を削除

    起動ディスクの仮想ディスクを virtoio に変更する。
    <disk type='file' device='disk'>
    <source file='/var/kvm_images/VirtualMachine.img'/>
    <target dev='vda' bus='virtio'/> ← 変更
    </disk>
  20. 仮想マシンを起動する。($ virsh start VitrualMachine)

ベンチマーク
  • ホスト OS: Ubuntu 9.10 (amd64)
  • 仮想マシン: KVM, Windows 7 (x86)
  • CPUs: 2 (x64), Memory: 2GB, HDD: 40GB (ide, raw, 固定サイズ)
  • プロセッサ: 5.8
  • メモリ (RAM): 5.5
  • グラフィックス: 1.0
  • ゲーム用グラフィックス 1.0
  • プライマリ ハードディスク: 5.9
  • ホスト OS: Ubuntu 9.10 (amd64)
  • 仮想マシン: KVM, Windows 7 (x86)
  • CPUs: 2 (x64), Memory: 2GB, HDD: 40GB (virtio, raw, 固定サイズ)
  • プロセッサ: 5.8
  • メモリ (RAM): 5.5
  • グラフィックス: 1.0
  • ゲーム用グラフィックス 1.0
  • プライマリ ハードディスク: 5.9

※ virtio にしても測定結果に変化はありませんでした。


参考

0 件のコメント: