SR-IOV Obsługa przełączania awaryjnego VF i migracji na żywo
Po uruchomieniu partycji podrzędnej Hyper-V ruch sieciowy przepływa przez syntetyczną ścieżkę danych. Jeśli fizyczna karta sieciowa obsługuje interfejs wirtualizacji we/wy pojedynczego głównego (SR-IOV), może włączyć co najmniej jedną funkcję wirtualną PCI Express (PCIe). Każdy VF może być podłączony do partycji podrzędnej Hyper-V. W takim przypadku ruch sieciowy przepływa przez sprzętowo zoptymalizowaną ścieżkę danych VF SR-IOV.
Po ustanowieniu ścieżki danych VF ruch sieciowy może być przywrócony do syntetycznej ścieżki danych, jeśli którykolwiek z następujących warunków jest spełniony:
VF został dołączony do partycji podrzędnej Hyper-V, ale został odłączony. Na przykład stos wirtualizacji może odłączyć dysk VF od jednej partycji podrzędnej i dołączyć go do innej partycji podrzędnej. Może się to zdarzyć, gdy liczba uruchomionych partycji podrzędnych Hyper-V przekracza liczbę dostępnych zasobów VF na podstawowej karcie sieciowej SR-IOV.
Proces przełączania na syntetyczną ścieżkę danych ze ścieżki danych VF nazywa się failover VF.
Partycja podrzędna Hyper-V jest migrowana na żywo do innego hosta.
Na poniższej ilustracji przedstawiono różne ścieżki danych obsługiwane przez kartę sieciową SR-IOV.
NetVSC udostępnia kartę sieciową maszyny wirtualnej (VM), która jest powiązana ze sterownikiem miniportu VF w celu obsługi przepływu danych VF. Podczas przejścia do syntetycznej ścieżki danych karta sieciowa VF jest bezpiecznie usuwana, jeśli jest to możliwe z systemu operacyjnego gościa. Jeśli nie można bezpiecznie usunąć VF i upłynął limit czasu, zostanie on usunięty z zaskoczenia. Następnie sterownik miniportu VF jest zatrzymany, a klient usługi wirtualnej sieci (NetVSC) jest niezwiązany ze sterownika miniport VF.
Przejście między ścieżkami danych VF i syntetycznymi odbywa się z minimalną utratą pakietów i zapobiega utracie połączeń TCP. Przed zakończeniem przejścia na syntetyczną ścieżkę danych, stosy wirtualizacji wykonują następujące kroki:
Stos wirtualizacji przenosi filtry kontroli dostępu do multimediów (MAC) i wirtualnej sieci LAN (VLAN) dla karty sieciowej maszyny wirtualnej do domyślnego portu wirtualnego (VPort), który jest dołączony do funkcji fizycznej PCIe (PF). Karta sieciowa maszyny wirtualnej jest widoczna w systemie operacyjnym gościa w partycji podrzędnej.
Po przeniesieniu filtrów do domyślnego wirtualnego portu, syntetyczna ścieżka danych jest w pełni operacyjna dla ruchu sieciowego do i ze składników sieciowych uruchamianych w systemie operacyjnym gościa. Sterownik miniportu PF sygnalizuje odebrane pakiety na domyślnym PF VPort, który używa syntetycznej ścieżki danych, aby wskazać pakiety do systemu operacyjnego gościa. Podobnie wszystkie przesyłane pakiety z systemu operacyjnego gościa są kierowane przez syntetyczną ścieżkę danych i przesyłane za pośrednictwem domyślnego PF VPort.
Aby uzyskać więcej informacji na temat portów wirtualnych (VPorts), zobacz Virtual Ports (VPorts).
Stos wirtualizacji usuwa VPort przypisany do VF przez wystawienie żądania ustawienia identyfikatora obiektu (OID) OID_NIC_SWITCH_DELETE_VPORT do sterownika miniport PF. Sterownik miniportu zwalnia wszelkie zasoby sprzętowe i programowe skojarzone z portem VPort i kończy żądanie OID.
Aby uzyskać więcej informacji, zobacz Usuwanie portu wirtualnego.
Stos wirtualizacji żąda zresetowania poziomu funkcji PCIe (FLR) VF przed cofnięciem przydziału zasobów. Stos realizuje to poprzez wysłanie żądania ustawienia OID OID_SRIOV_RESET_VFdo sterownika miniport PF. FLR wprowadza VF na SR-IOV karty sieciowej do stanu spoczynku i usuwa wszelkie oczekujące zdarzenia przerwań dla VF.
Po zresetowaniu VF stos wirtualizacji żąda cofnięcia przydziału zasobów VF, wydając żądanie zestawu identyfikatora OID OID_NIC_SWITCH_FREE_VF do sterownika miniport PF. Powoduje to zwolnienie przez sterownik miniportu zasobów sprzętowych skojarzonych z VF.
Aby uzyskać więcej informacji na temat tego procesu, zobacz Virtual Function Teardown Sequence.