Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
6.2. vhost-net の無効化
vhost-net
モジュールは virtio ネットワーキング用のカーネルレベルのバックエンドで、virtio パケット処理タスクをユーザー領域 (QEMU プロセス) からカーネル (vhost-net
ドライバー) に移すことで仮想化のオーバーヘッドを低減します。vhost-net は、virtio ネットワークインターフェースでのみ利用可能です。vhost-net カーネルモジュールがロードされている場合、デフォルトですべての virtio インターフェース用に有効化されています。ただし、vhost-net の使用時に特定のワークロードのパフォーマンスが低下した場合は、インターフェース設定で無効にできます。
具体的には、UDP トラフィックがホストマシンからホスト上のゲスト仮想マシンに送信された場合、ゲスト仮想マシンのデータ処理速度がホストマシンの送信速度より遅いと、パフォーマンスが低下する可能性があります。この状況で
vhost-net
を有効にすると、UDP ソケットの受信バッファーをより早くオーバーフローさせることになり、多大なパケットロスにつながります。このため、この状況ではトラフィックを遅らせ、全体のパフォーマンスを上げるために、vhost-net
を無効にすることが適切です。
vhost-net
を無効にするには、ゲスト仮想マシンの XML 設定ファイルにある <interface>
サブ要素を編集し、ネットワークを以下のように定義します。
<interface type="network"> ... <model type="virtio"/> <driver name="qemu"/> ... </interface>
ドライバー名を
qemu
に設定するとパケット処理が QEMU ユーザー領域で強制されるため、そのインターフェースでは vhost-net が事実上無効になります。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。