Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

21.11. KVM ネットワークパフォーマンス

デフォルトでは、KVM 仮想マシンには、仮想 Realtek 8139 (rtl8139) の NIC (ネットワークインターフェイスコントローラー) が割り当てられています。Red Hat Enterprise Linux ゲストにはデフォルトで virtio NIC が割り当てられていますが、Windows ゲストまたはゲストタイプは指定されていません。
rtl8139 仮想化 NIC はほとんどの環境で問題なく機能しますが、このデバイスは、10 ギガバイトイーサネットなど、一部のネットワークでパフォーマンス低下の問題が発生する可能性があります。
パフォーマンスを向上させるために、準仮想化ネットワークドライバーに切り替えることができます。
注記
仮想化 Intel PRO/1000 (e1000) ドライバーも、エミュレートされたドライバーとしてサポートされていることに注意してください。e1000 ドライバーを使用するには、以下の手順の virtioe1000 に置き換えます。最適なパフォーマンスを得るには、virtio ドライバーを使用することを推奨します。

手順21.4 virtio ドライバーへの切り替え

  1. ゲストオペレーティングシステムをシャットダウンします。
  2. virsh コマンドでゲストの設定ファイルを編集します (GUEST はゲストの名前です)。
    # virsh edit GUEST
    virsh edit コマンドは、$EDITOR シェル変数を使用して、使用するエディターを決定します。
  3. 設定のネットワークインターフェイスセクションを見つけます。このセクションは、以下のスニペットと似ています。
    <interface type='network'>
      [output truncated]
      <model type='rtl8139' />
    </interface>
    
  4. model 要素の type 属性を 'rtl8139' から 'virtio' に変更します。これにより、ドライバーが rtl8139 ドライバーから e1000 ドライバーに変更されます。
    <interface type='network'>
      [output truncated]
      <model type='virtio' />
    </interface>
    
  5. 変更を保存し、テキストエディターを終了します。
  6. ゲストオペレーティングシステムを再起動します。

その他のネットワークドライバーを使用した新しいゲストの作成

別のネットワークドライバーを使用して、新しいゲストを作成することもできます。ネットワーク接続でゲストをインストールするのが困難な場合に必要になることがあります。この方法では、テンプレートとして使用するために、少なくとも 1 つのゲストが作成されている (CD または DVD からインストールされている可能性あり) 必要があります。

  1. 既存のゲスト (この例では Guest1) から XML テンプレートを作成します。
    # virsh dumpxml Guest1 > /tmp/guest-template.xml
    
  2. XML ファイルをコピーして編集し、一意のフィールド (仮想マシン名、UUID、ディスクイメージ、MAC アドレス、およびその他の一意のパラメーター) を更新します。UUID および MAC アドレス行を削除できることに注意してください。virsh を実行すると、UUID と MAC アドレスが生成されます。
    # cp /tmp/guest-template.xml /tmp/new-guest.xml
    # vi /tmp/new-guest.xml
    
    ネットワークインターフェイスセクションにモデル行を追加します。
     <interface type='network'>
      [output truncated]
      <model type='virtio' />
    </interface>
    
  3. 新しい仮想マシンを作成します。
    # virsh define /tmp/new-guest.xml
    # virsh start new-guest