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.
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