仮想機能 (VF) は、データの交換に必要なすべてのリソースを含む、軽量な PCIe 機能ですが、最小限に抑えられた構成リソースが含まれています。vSphere と VF の間の相互作用は制限されます。

  • 物理 NIC では、MSI-X 割り込みを使用する必要があります。
  • VF では、vSphere にレート制御は実装されません。すべての VF は物理リンクの全バンド幅を使用する可能性があります。
  • VF デバイスを仮想マシン上でパススルー デバイスとして設定すると、仮想マシンのスタンバイと休止機能はサポートされません。
  • 作成できる VF の最大数と、パススルーに使用できる VF の最大数は異なります。インスタンス化できる VF の最大数は、ホストの NIC 機能およびハードウェア構成によって異なります。ただし、パススルー デバイスに使用できる割り込みベクトルの数は制限されているため、インスタンス化されたすべての VF のうち、ESXi ホストで使用できる数は制限されています。

    ESXi ホストの割り込みベクトルの合計数は、32 CPU の場合、最大で 4096 です。ホストが起動するときに、ホスト上のデバイス(ストレージ コントローラ、物理ネットワーク アダプタ、USB コントローラなど)が、4096 個のベクトルの一部を消費します。これらのデバイスによって 1024 個を超えるベクトルが必要になると、潜在的にサポートされる VF の最大数が減らされます。

  • Intel NIC でサポートされる VF の数は、Emulex NIC でサポートされる数と異なる場合があります。NIC ベンダーの技術ドキュメントを参照してください。
  • Intel NIC と Emulex NIC で SR-IOV が有効に設定されている場合、Intel NIC で使用可能な VF の数は、Emulex NIC 用に構成されている VF の数によって決まり、この逆も当てはまります。3072 個のすべての割り込みベクトルがパススルーに利用できる場合、以下の公式を使用して、使用可能な VF の最大数を予測できます。
    3X + 2Y < 3072

    ここで、X は Intel VF の数であり、Y は Emulex VF の数です。

    ホスト上の他の種類のデバイスが、ホスト上の合計 4096 個のベクトルのうち、1024 個以上の割り込みベクトルを使用する場合、この数字は小さくなることがあります。

  • vSphere SR-IOV は、サポートされている Intel NIC と Emulex NIC で最大 1024 個の VF をサポートします。
  • vSphere SR-IOV は、サポートされている Intel NIC または Emulex NIC で最大 64 個の VF をサポートします。
  • サポートされる Intel NIC が接続を失うと、物理 NIC からのすべての VF は、VF 間の通信を含めて、通信を完全に停止します。
  • サポートされている Emulex NIC が接続を失うと、すべての VF は外部環境との通信を停止しますが、VF 間の通信は引き続き機能します。
  • VF ドライバは、IPv6 のサポート、TSO、LRO チェックサムなど、多数の機能を提供します。詳細については、NIC ベンダーの技術ドキュメントを参照してください。