Udostępnij za pośrednictwem


Omówienie przyspieszonej sieci

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która jest stanem End Of Life (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

W tym artykule opisano zalety, ograniczenia i obsługiwane konfiguracje przyspieszonej sieci. Przyspieszona sieć umożliwia wirtualizację we/wy pojedynczego katalogu głównego (SR-IOV) w obsługiwanych typach maszyn wirtualnych, co znacznie poprawia wydajność sieci. Ta ścieżka danych o wysokiej wydajności pomija hosta, co zmniejsza opóźnienia, zakłócenia i wykorzystanie procesora CPU dla najbardziej wymagających obciążeń sieciowych.

Uwaga

Aby uzyskać więcej informacji na temat wersji zapoznawczej karty sieciowej platformy Microsoft Azure (MANA), zapoznaj się z dokumentacją usługi Azure MANA

Na poniższym diagramie pokazano, jak dwie maszyny wirtualne komunikują się z przyspieszoną siecią i bez tej funkcji.

Zrzut ekranu przedstawiający komunikację między maszynami wirtualnymi platformy Azure i bez przyspieszonej sieci.

Bez przyspieszonej sieci cały ruch sieciowy w i poza maszyną wirtualną przechodzi przez hosta i przełącznik wirtualny. Przełącznik wirtualny zapewnia wszystkie wymuszanie zasad do ruchu sieciowego. Zasady obejmują sieciowe grupy zabezpieczeń, listy kontroli dostępu, izolację i inne usługi zwirtualizowane sieci.

W przypadku przyspieszonej sieci ruch sieciowy docierający do interfejsu sieciowego maszyny wirtualnej jest przekazywany bezpośrednio do maszyny wirtualnej. Przyspieszona sieć odciąża wszystkie zasady sieciowe zastosowane przez przełącznik wirtualny i stosuje je na sprzęcie. Ponieważ sprzęt stosuje zasady, karta sieciowa NIC może przekazywać ruch sieciowy bezpośrednio do maszyny wirtualnej. Karta sieciowa NIC pomija hosta i przełącznik wirtualny, zachowując wszystkie zasady, które zostały zastosowane na hoście.

Świadczenia

Przyspieszona sieć zapewnia następujące korzyści:

  • Mniejsze opóźnienie i wyższe pakiety na sekundę. Usunięcie przełącznika wirtualnego ze ścieżki danych eliminuje czas, który pakiety spędzają na hoście na potrzeby przetwarzania zasad. Zwiększa również liczbę pakietów, które może przetworzyć maszyna wirtualna.

  • Zmniejszona liczba wstrząsów. Czas przetwarzania przełączników wirtualnych zależy od liczby zasad do zastosowania i obciążenia procesora CPU, który przetwarza. Odciążanie wymuszania zasad w sprzęcie usuwa tę zmienność, dostarczając pakiety bezpośrednio do maszyny wirtualnej. Odciążanie powoduje również usunięcie komunikacji typu host-maszyna wirtualna, wszystkich przerw oprogramowania i wszystkich przełączników kontekstowych.

  • Zmniejszone wykorzystanie procesora CPU. Pominięcie przełącznika wirtualnego na hoście prowadzi do mniejszego wykorzystania procesora CPU na potrzeby przetwarzania ruchu sieciowego.

Limity i ograniczenia

  • Zalety przyspieszonej sieci mają zastosowanie tylko do maszyny wirtualnej, która ją włącza.

  • Aby uzyskać najlepsze wyniki, włącz przyspieszoną sieć na co najmniej dwóch maszynach wirtualnych w tej samej sieci wirtualnej platformy Azure. Ta funkcja ma minimalny wpływ na opóźnienie podczas komunikacji między sieciami wirtualnymi lub nawiązywania połączenia lokalnego.

  • Nie można włączyć przyspieszonej sieci na uruchomionej maszynie wirtualnej. Przyspieszona sieć można włączyć na obsługiwanej maszynie wirtualnej tylko wtedy, gdy maszyna wirtualna zostanie zatrzymana i cofnięto przydział.

  • Nie można wdrażać maszyn wirtualnych (klasycznych) z przyspieszoną siecią za pośrednictwem usługi Azure Resource Manager.

  • Platforma Azure nie aktualizuje sterowników karty sieciowej Mellanox na maszynie wirtualnej. W przypadku maszyn wirtualnych z systemami Linux i FreeBSD klienci są zachęcani do pozostania na bieżąco z najnowszymi aktualizacjami jądra oferowanymi przez dystrybucję. W przypadku maszyn wirtualnych z systemem Windows klienci powinni zastosować zaktualizowane sterowniki ze strony pomocy technicznej firmy Nvidia, jeśli jakiekolwiek problemy zostaną później napotkane z sterownikiem dostarczonym z obrazem witryny Marketplace lub zastosowanymi do obrazu niestandardowego.

Obsługiwane regiony

Przyspieszona sieć jest dostępna we wszystkich regionach globalnych platformy Azure i w chmurze Azure Government.

Obsługiwane systemy operacyjne

Następujące wersje systemu Windows obsługują przyspieszoną sieć:

  • Windows Server 2022
  • Windows Server 2019 Standard/Datacenter
  • Windows Server 2016 Standard/Datacenter
  • Windows Server 2012 R2 Standard/Datacenter
  • System Windows 10 w wersji 21H2 lub nowszej, w tym wielosesja systemu Windows 10 Enterprise
  • Windows 11, w tym wieloseksja systemu Windows 11 Enterprise

Następujące dystrybucje systemów Linux i FreeBSD z witryny Azure Marketplace obsługują gotowe przyspieszone sieci:

  • Ubuntu 14.04 z jądrem linux-azure
  • Ubuntu 16.04 lub nowszy
  • SLES12 SP3 lub nowszy
  • RHEL 7.4 lub nowszy
  • CentOS 7.4 lub nowszy
  • CoreOS Linux
  • Debian "Stretch" z jądrem backports
  • Debian "Buster" lub nowszy
  • Oracle Linux 7.4 lub nowszy z jądrem zgodnym z systemem Red Hat (RHCK)
  • Oracle Linux 7.5 lub nowszy z UEK w wersji 5
  • FreeBSD 10.4, 11.1, 12.0 lub nowszy

Obsługiwane wystąpienia maszyn wirtualnych

Większość rozmiarów wystąpień maszyn wirtualnych ogólnego przeznaczenia i zoptymalizowanych pod kątem obliczeń z co najmniej dwoma procesorami wirtualnymi obsługuje przyspieszoną sieć. W wystąpieniach obsługujących funkcję hyperthreading wystąpienia maszyn wirtualnych z co najmniej czterema procesorami wirtualnymi obsługują przyspieszoną sieć.

Aby sprawdzić, czy rozmiar maszyny wirtualnej obsługuje przyspieszoną sieć, zobacz Rozmiary maszyn wirtualnych na platformie Azure.

Listę jednostek SKU maszyn wirtualnych obsługujących przyspieszoną sieć można wykonać bezpośrednio za pomocą polecenia az vm list-skus interfejsu wiersza polecenia platformy Azure:

az vm list-skus \
  --location westus \
  --all true \
  --resource-type virtualMachines \
  --query '[].{size:size, name:name, acceleratedNetworkingEnabled: capabilities[?name==`AcceleratedNetworkingEnabled`].value | [0]}' \
  --output table

Uwaga

Mimo że rozmiary NC i NV są wyświetlane w danych wyjściowych polecenia, te rozmiary nie obsługują przyspieszonej sieci. Włączenie przyspieszonej sieci na maszynach wirtualnych NC lub NV nie ma wpływu.

Niestandardowe obrazy maszyn wirtualnych

Jeśli używasz obrazu niestandardowego obsługującego przyspieszoną sieć, upewnij się, że spełniasz następujące wymagania.

Obsługa urządzeń i sterowników

Każdy niestandardowy obraz obsługujący przyspieszoną sieć musi zawierać sterowniki, które umożliwiają wirtualizację we/wy z jednym elementem głównym dla kart interfejsu sieciowego używanego na platformach Azure. Ta lista sprzętu obejmuje oprogramowanie NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 i kartę sieciową platformy Microsoft Azure (MANA).

Dynamiczne powiązanie i odwołanie funkcji wirtualnej

Przyspieszona sieć wymaga, aby obrazy systemu operacyjnego gościa prawidłowo obsługiwały funkcję wirtualną usuwaną lub dodaną dynamicznie. Scenariusze, takie jak konserwacja hosta lub migracja na żywo, spowodują dynamiczne odwołanie funkcji wirtualnej i przywrócenie po zdarzeniu konserwacji. Ponadto aplikacje muszą mieć pewność, że są powiązane z urządzeniem syntetycznym, a nie z funkcją wirtualną, aby zachować łączność sieciową podczas tych zdarzeń.

Aby uzyskać więcej informacji na temat wymagań dotyczących powiązań aplikacji, zobacz Jak działa przyspieszona sieć na maszynach wirtualnych z systemami Linux i FreeBSD.

Konfigurowanie sterowników do niezarządzania

Przyspieszona sieć wymaga konfiguracji sieci, które oznaczają sterowniki NVIDIA jako urządzenia niezarządzane. Obrazy z wersją cloud-init w wersji 19.4 lub nowszej mają poprawnie skonfigurowaną sieć do obsługi przyspieszonej sieci podczas aprowizacji. Zdecydowanie zalecamy, aby nie uruchamiać konkurencyjnego oprogramowania interfejsu sieciowego (takiego jak ifupdown i networkd) na obrazach niestandardowych i że nie uruchamiasz klienta dhcpclient bezpośrednio w wielu interfejsach.

W poniższym przykładzie przedstawiono przykładowy spadek konfiguracji dla NetworkManager systemu RHEL lub CentOS:

sudo cat <<EOF > /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
# Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
# This interface is transparentlybonded to the synthetic interface,
# so NetworkManager should just ignore any SRIOV interfaces.
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
EOF

Ruch sieciowy używa ścieżki danych przyspieszonej sieci

W przypadku sterowników FIRMY NVIDIA: sprawdź, czy pakiety przepływają przez interfejs VF

W przypadku sterownika MANA: sprawdź, czy ruch przepływa przez mana