Ubuntuで仮想マシンを作成するときは、仮想ネットワークインターフェイス用の3つのデバイスモデルから選択できます。仮想デバイス、e1000そしてrtl8139。
3つの違いは何ですか?つまり、デバイスモデルを選択するときに何を考慮する必要がありますか?
インターネット検索 "virtio vs e1000 vs rtl8139"はあまり役に立ちません。結果の最初の 2 ページは内容のない公式文書であり、ブログの投稿は「オプションの使用」とまとめられています。窒素、試してみましたが効果が良かったんですよ。 「私が見つけた唯一の有用な資料は、議論するこれを表すようですe1000遅いですが、互換性が最大です。仮想デバイス。議論は以下を意味するようです。e1000時にはもっと好きですrtl8139しかし、その理由は説明していません。
ベストアンサー1
仮想マシンの設定、e1000
Intel NIC エミュレーション、rtl8139
Realtek NIC エミュレーションのコンテキストでvirtio
準仮想化ドライバーです。つまり、VM で実行中であることを「認識」し、デフォルトで VM と仮想マシン間でネットワークトラフィックを転送します。できるだけ直接的な方法でホストしてください。
VMでレガシーオペレーティングシステムを実行している場合は、レガシーオペレーティングシステムでサポートされているNICに基づいて仮想NICを選択する必要があります。 Intelはe1000
かなり古く、未知のオペレーティングシステムのドライバも提供しています。ただし、物理e1000ネットワークカードのハードウェアはかなり複雑なため、これをエミュレートする必要があるため、わずかなオーバーヘッドが発生します。
Realtek 8139はハードウェアの面で非常にシンプルなので、仮想マシンでのエミュレーションはIntel e1000よりも簡単です。ただし、単純さは、仮想マシン内のオペレーティングシステムがネットワークカードエミュレーション条件を満たすために追加の作業を実行する必要があるのに対し、実際のホストネットワークカードはハードウェア上の一部の作業を完了できることを意味します。
ただし、VM内で実行されているすべてvirtio
の項目がこれをサポートしている場合は、VMが関連するほとんどの手順を簡単にスキップできるため、VFIOパススルー/SR-IOV用に設計されたホストNICハードウェアに加えて最高のパフォーマンスを提供する可能性が高くなります。仮想NICをシミュレートし、仮想ハードウェアを制御することによって、ホストは物理物理NICのハードウェア機能を利用して仮想マシントラフィックの利点を最大化します。