第15章 KVM Para-virtualized ドライバー

Para-virtualized ドライバーは、KVM ホストを稼働している 仮想化した Windows ゲストで使用できます。これらの Para-virtualized ドライバーは virtio パッケージに収納されており、virtio パッケージはブロック(ストレージ) デバイスとネットワークインターフェイスコントローラをサポートします。
Para-virtualized ドライバーは完全仮想化ゲストのパフォーマンスを強化します。 Para-virtualized ドライバーを使用すると、ゲスト I/O 遅延は減少し、スループットは ベアメタルレベル近くまで向上します。I/O が重いタスクやアプリケーションを実行している 完全仮想化ゲストには、Para-virtualized ドライバーの使用が推奨されます。
KVM para-virtualized ドライバーは Red Hat Enterprise Linux 4.8 とそれ以降、及び、 Red Hat Enterprise Linux 5.3 とそれ以降のバージョンで自動的にロードされてインストール されます。これらの Red Hat Enterprise Linux のバージョンはドライバーを検出して インストールしますので、追加のインストール手順は無用となります。
KVM モジュールの場合と同様に、virtio ドライバーは Red Hat Enterprise Linux 5.4 と それ以降を稼働しているホストでのみ使用できます。

重要

ゲスト毎の追加のデバイスとして 28 だけの PCI スロットが使用できます。 全ての para-virtualized ネットワーク、又はブロックデバイスはスロットを 1つ使用します。各ゲストは para-virtualized ネットワーク、para-virtualized ディスクデバイス、あるいは、VT-d を使用した他の PCI デバイスのいずれかの組み合わせからなる 最大 28 までの追加のデバイスを使用できます。
以下の Microsoft Windows のバージョンは KVM para-virtualized ドライバーを サポートしています:
  • Windows XP,
  • Windows Server 2003,
  • Windows Vista,
  • Windows Server 2008.
Windows XP は virtio para-virtualized ブロックドライバーの実行には サポートされていません。virtio ネットワークドライバーのみが Windows XP で サポートされています。

15.1. KVM Windows para-virtualized ドライバーのインストール

このセクションでは、KVM Windows para-virtualized ドライバーのインストール プロセスを取り扱います。KVM para-virtualized ドライバーは Windows のインストール中に、 ロードするか 又はゲストのインストール後にインストールすることができます。
以下の方法のいずれかにより、使用するゲストに para-virtualized ドライバーを インストールすることができます:
  • ネットワーク上の インストールファイルをゲストにアクセス可能にする。
  • ドライバーインストールディスクの .iso ファイルの 仮想化 CD-ROM デバイスを 使用する、あるいは、
  • 仮想化したフロッピィデバイスを 使用して、ブート時にドライバーをインストールする (Windows ゲスト用)。
このガイドは仮想化した CD-ROM デバイスと 同じく、para-virtualized インストーラディスクからのインストールを説明します。
  1. ドライバーをダウンロード

    yum コマンドを使用して、virtio-win パッケージをダウンロードします(Red Hat Enterprise Linux Supplementary チャンネル内)。
    # yum install virtio-win
    
    ドライバーは Red Hat Enterprise Linux Supplementary ディスク、又は、Microsoft ( windowsservercatalog.com) から入手することが出来ます。Red Hat Enterprise Virtualization Hypervisor 5.4 と Red Hat Enterprise Linux 5.4 は同じコードベースを基にしていることに注意して下さい。
    virtio-win パッケージは CD-ROM イメージ(virtio-win.iso ファイル)を /usr/share/virtio-win/ ディレクトリ内にインストールします。
  2. para-virtualized ドライバーのインストール

    デバイスを添付や修正して para-virtualized ドライバーを使用する前に、 ゲスト上にドライバーをインストールすることが推奨されます。
    root ファイルシステムを格納しているブロックデバイス、又はゲストのブートに必要となる 他のブロックデバイスには、ドライバーはデバイスが修正される前にインストールされなければ なりません。ゲスト上にドライバーがインストールされていなくて、ドライバーが virtio ドライバーに セットされている場合は、ゲストはブートしません。
virt-manager でイメージをマウントする

手順15.1「Windows ゲスト用に virt-manager を使用して CD-ROM イメージを マウント」 に従って、 virt-manager を使用して、CD-ROM イメージを追加します。

手順15.1 Windows ゲスト用に virt-manager を使用して CD-ROM イメージを マウント

  1. virt-manager を開いて、仮想マシンのリストから 使用する仮想化ゲストを選択して、詳細 ボタンを クリックします。
  2. 詳細 パネル内の 追加 ボタンをクリック します。
  3. これが、新規デバイス追加のウィザードを開きます。ドロップダウンメニューから ストレージデバイス を選択して、それから 進む をクリックします。
  4. ファイル (ディスクイメージ) オプションを選択して、 para-virtualized ドライバーの .iso ファイルの場所をセットします。yum を使用して para-virtualized ドライバーパッケージをインストールした場合、 .iso ファイルは /usr/share/xenpv-win です。
    ドライバーが物理 CD 内に格納されている場合は、通常のディスクパーティション オプションを使用します。
    デバイスタイプIDE cdrom にセットして 進む をクリックして継続します。
  5. ゲストが開始されると、ディスクが割り当てられてゲスト用に使用可能になります。 完了 をクリックして、ウィザードを閉じるか、又は 間違えた場合は戻ります。
仮想化フロッピィディスクによるインストール

この手続きは Windows のインストール時に para-virtualized ドライバーの インストールをします。

  • 一度限りのメニューを使用して Windows VM を初めてインストールしたら、 viostor.vfd をフロッピィとして添付します。
    1. Windows Server 2003

      Windows がサードパーティドライバー用に F6 を押すように催促したら、 それを押して画面上の指示に従います。
    2. Windows Server 2008

      インストーラがドライバーを催促した時には、 Load Driver をクリックして、 インストーラをドライブ A: にポイントし、使用中のゲスト OS と アーキテクチャに適合する ドライバーを選択します。
既存のデバイスに KVM para-virtualized ドライバーを使用する

仮想化した IDE ドライバーの代わりに virtio ドライバーを 使用するためにゲストに付けられた既存のハードディスクドライバーを修正します。 この例は、libvirt 設定ファイルを編集します。別の方法として、virt-managervirsh attach-disk、あるいは、virsh attach-interface が、 para-virtualized ドライバーを使用する新規デバイスを追加 できます。新規デバイス用に KVM para-virtualized ドライバーを使用する

  1. 仮想化した IDE ドライバーを使用したファイルベースのブロックデバイスを以下に示します。 これは、para-virtualized ドライバーを使用しない仮想化ゲストの標準的なエントリです。
    <disk type='file' device='disk'>
       <source file='/var/lib/libvirt/images/disk1.img'/>
       <target dev='hda' bus='ide'/>
    </disk>
    
  2. bus= エントリを virtio に 変更することにより、para-virtualized デバイスを使用するためにエントリを変更します。
    <disk type='file' device='disk'>
       <source file='/var/lib/libvirt/images/disk1.img'/>
       <target dev='hda' bus='virtio'/>
    </disk>
    
新規デバイス用に KVM para-virtualized ドライバーを使用する

この手続きは、virt-manager で、KVM para-virtualized ドライバーを使用した新規デバイスの作成を示しています。

別の方法として、 para-virtualized ドライバーを使用するデバイスを添付するために virsh attach-diskvirsh attach-interface のコマンドが使用できます。

重要

新規のデバイスをインストールする前に、Windows ゲスト上にドライバーが インストールされていることを確認します。ドライバーが利用できない場合は、 デバイスは認識されず機能しません。
  1. virt-manager 内のゲスト名をダブルクリックして 仮想化ゲストを開きます。
  2. ハードウェア タブを開きます。
  3. ハードウェアを追加 をクリックします。
  4. 仮想ハードウェアの追加タブで、デバイスのタイプに ストレージ 又は ネットワーク を選択します。
    1. 新規のディスクデバイス
      ストレージデバイスか、又はファイルベースイメージを選択します。Virtio Diskデバイスタイプ として選び、進む をクリックします。
    2. 新規のネットワークデバイス
      仮想ネットワーク 又は 共有物理デバイス を 選択します。デバイスタイプ として virtio を 選択して、進む をクリックします。
  5. 完了 をクリックしてデバイスを保存します。
  6. ゲストをリブートします。デバイスは Windows ゲストが再スタートするまで 認識されないかも知れません。