KVM では、ネットワーク カード モデルはvirtio
(最新) または以前e1000
(使用されなくなった、エミュレートされた) に設定できます。 virtioでは、vhost-net
ドライバまたはqemu
。
vhost-netとqemuの違いは、パケットがゲストからホストに送信され、物理ネットワークカードに転送される方法です。
vhost-netモジュールは、virtioパケット処理タスクをユーザースペース(QEMUプロセス)からカーネル外(vhost-netドライバ)に移動して仮想化オーバーヘッドを減らすvirtioネットワーキングのためのカーネルレベルのバックエンドです。 vhost-net は virtio ネットワークインターフェイスでのみ動作します。vhost-net カーネルモジュールがロードされると、デフォルトで有効になります。すべてのvirtioインターフェイスに適用されますが、vhost-netを使用すると特定のワークロードのパフォーマンスが低下した場合は、インターフェイス設定で無効にできます。引用する
私の質問は、vhost-netモジュールがロードされたことをどのように確認しますか?一般的なコマンドはmodinfo
ここでも機能しますか?
答え1
どのカーネルモジュールがロードされているかを確認するには、このlsmod
コマンドを使用します。
grep
パイプ出力を使用して、さらに必要なlsmod
ものをフィルタリングできます。
例えば
# lsmod | grep net
vhost_net 24576 10
vhost 45056 1 vhost_net
tap 24576 1 vhost_net
ホストはvhost_netカーネルモジュールを使用しています。私は偶然10個のアダプタを設定し、出力にはifconfig
10個のvnetアダプタがリストされています。出力の10は、lsmod | grep
カーネルモジュールが使用された回数です。