Freigeben über


SR-IOV VF-Failover und Livemigrationsunterstützung

Nachdem die untergeordnete Hyper-V-Partition gestartet wurde, fließt der Netzwerkdatenverkehr über den synthetischen Datenpfad. Wenn der physische Netzwerkadapter die SR-IOV-Schnittstelle (Single Root I/O Virtualization) unterstützt, kann er mindestens eine PCI Express (PCIe) Virtual Functions (VFs) aktivieren. Jede VF kann an eine untergeordnete Hyper-V-Partition angefügt werden. In diesem Fall fließt der Netzwerkdatenverkehr über den hardwareoptimierten SR-IOV VF-Datenpfad.

Nachdem der VF-Datenpfad eingerichtet wurde, kann Netzwerkdatenverkehr in den synthetischen Datenpfad rückgängig machen, wenn eine der folgenden Bedingungen zutrifft:

  • Ein VF wurde an eine untergeordnete Hyper-V-Partition angefügt, wird jedoch getrennt. Der Virtualisierungsstapel könnte z. B. eine VF von einer untergeordneten Partition trennen und an eine andere untergeordnete Partition anfügen. Dies kann auftreten, wenn mehr untergeordnete Hyper-V-Partitionen ausgeführt werden, als VF-Ressourcen auf dem zugrunde liegenden SR-IOV-Netzwerkadapter vorhanden sind.

    Das Failover auf den synthetischen Datenpfad vom VF-Datenpfad wird als VF-Failover bezeichnet.

  • Die untergeordnete Hyper-V-Partition wird live zu einem anderen Host migriert.

Die folgende Abbildung zeigt die verschiedenen Datenpfade, die über einen SR-IOV-Netzwerkadapter unterstützt werden.

Stapeldiagramm, das einen sr-iov-Adapter unter einer übergeordneten Verwaltungspartition zeigt, die mit einem VM-Bus kommuniziert, der mit der untergeordneten Partition #1 kommuniziert, die ein Gastbetriebssystem enthält, das über einen VM-Bus kommuniziert. Außerdem kommuniziert die untergeordnete Partition #2 über einen vf-Miniport mit dem sr-iov-Adapter.

NetVSC macht einen VM-Netzwerkadapter verfügbar, der an den VF-Miniporttreiber gebunden ist, um den VF-Datenpfad zu unterstützen. Während des Übergangs zum synthetischen Datenpfad wird der VF-Netzwerkadapter nach Möglichkeit ordnungsgemäß aus dem Gastbetriebssystem entfernt. Wenn der VF nicht ordnungsgemäß entfernt werden kann und ein Zeitüberschreitungsout besteht, wird er überraschend entfernt. Dann wird der VF-Miniporttreiber angehalten, und der Network Virtual Service Client (NetVSC) wird vom VF-Miniporttreiber nicht mehr gebunden.

Der Übergang zwischen den VF- und synthetischen Datenpfaden erfolgt mit minimalem Paketverlust und verhindert den Verlust von TCP-Verbindungen. Bevor der Übergang zum synthetischen Datenpfad abgeschlossen ist, führen die Virtualisierungsstapel die folgenden Schritte aus:

  1. Der Virtualisierungsstapel verschiebt die Filter Media Access Control (MAC) und Virtual LAN (VLAN) für den VM-Netzwerkadapter auf den Standardmäßigen virtuellen Port (VPort), der an die PCIe Physical Function (PF) angefügt ist. Der VM-Netzwerkadapter wird im Gastbetriebssystem der untergeordneten Partition verfügbar gemacht.

    Nachdem die Filter auf den Standard-VPort verschoben wurden, ist der synthetische Datenpfad für den Netzwerkdatenverkehr zu und von den Netzwerkkomponenten, die im Gastbetriebssystem ausgeführt werden, voll funktionsfähig. Der PF-Miniporttreiber gibt empfangene Pakete auf dem standardmäßigen PF-VPort an, der den synthetischen Datenpfad verwendet, um die Pakete an das Gastbetriebssystem anzugeben. Ebenso werden alle übertragenen Pakete vom Gastbetriebssystem über den synthetischen Datenpfad weitergeleitet und über den Standard-PF-VPort übertragen.

    Weitere Informationen zu VPorts finden Sie unter Virtuelle Ports (VPorts).

  2. Der Virtualisierungsstapel löscht den VPort, der an den VF angefügt ist, indem eine OID-Set-Anforderung (Object Identifier) von OID_NIC_SWITCH_DELETE_VPORT an den PF-Miniporttreiber ausgegeben wird. Der Miniporttreiber gibt alle Hardware- und Softwareressourcen frei, die dem VPort zugeordnet sind, und schließt die OID-Anforderung ab.

    Weitere Informationen finden Sie unter Löschen eines virtuellen Ports.

  3. Der Virtualisierungsstapel fordert eine PCIe-Funktionsebenenzurücksetzung (FLR) des VF an, bevor die Zuordnung der Ressourcen aufgehoben wird. Dazu gibt der Stapel eine OID-Set-Anforderung von OID_SRIOV_RESET_VFan den PF-Miniporttreiber aus. Die FLR versetzt den VF auf dem SR-IOV-Netzwerkadapter in einen Ruhezustand und löscht alle ausstehenden Interruptereignisse für den VF.

  4. Nachdem der VF zurückgesetzt wurde, fordert der Virtualisierungsstapel eine Aufhebung der Zuordnung der VF-Ressourcen an, indem eine OID-Set-Anforderung von OID_NIC_SWITCH_FREE_VF an den PF-Miniporttreiber ausgegeben wird. Dies bewirkt, dass der Miniporttreiber die Hardwareressourcen freigibt, die dem VF zugeordnet sind.

Weitere Informationen zu diesem Prozess finden Sie unter Virtual Function Teardown Sequence.