Tworzenie maszyny wirtualnej z systemem Windows lub Linux przy użyciu przyspieszonej sieci przy użyciu interfejsu wiersza polecenia platformy Azure
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 sposób tworzenia maszyny wirtualnej z systemem Linux lub Windows z włączoną przyspieszoną siecią (AccelNet) przy użyciu interfejsu wiersza polecenia platformy Azure. W tym artykule omówiono również sposób włączania przyspieszonej sieci i zarządzania nią na istniejących maszynach wirtualnych.
Możesz również utworzyć maszynę wirtualną z włączoną przyspieszoną siecią przy użyciu witryny Azure Portal. Aby uzyskać więcej informacji na temat zarządzania przyspieszoną siecią na maszynach wirtualnych przy użyciu witryny Azure Portal, zobacz Zarządzanie przyspieszoną siecią za pośrednictwem portalu.
Aby utworzyć maszynę wirtualną z systemem Windows z włączoną przyspieszoną siecią przy użyciu programu Azure PowerShell, zobacz Tworzenie maszyny wirtualnej z systemem Linux z przyspieszoną siecią przy użyciu programu Azure PowerShell.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Możesz bezpłatnie utworzyć konto.
Zainstalowano najnowszą wersję interfejsu wiersza polecenia platformy Azure. Zaloguj się na platformie Azure przy użyciu polecenia az login .
Tworzenie maszyny wirtualnej z przyspieszoną siecią
W poniższych przykładach możesz zastąpić przykładowe parametry, takie jak <myResourceGroup>
, <myNic>
i <myVm>
własnymi wartościami.
Tworzenie sieci wirtualnej
Użyj polecenia az group create , aby utworzyć grupę zasobów zawierającą zasoby. Pamiętaj, aby wybrać obsługiwany region systemu Windows lub Linux, jak pokazano na liście w przyspieszonej sieci systemu Windows i Linux.
az group create --name <myResourceGroup> --location <myAzureRegion>
Użyj polecenia az network vnet create , aby utworzyć sieć wirtualną z jedną podsiecią w grupie zasobów:
az network vnet create \ --resource-group <myResourceGroup> \ --name <myVnet> \ --address-prefix 192.168.0.0/16 \ --subnet-name <mySubnet> \ --subnet-prefix 192.168.1.0/24
Tworzenie sieciowej grupy zabezpieczeń
Użyj polecenia az network nsg create , aby utworzyć sieciową grupę zabezpieczeń.
az network nsg create \ --resource-group <myResourceGroup> \ --name <myNsg>
Sieciowa grupa zabezpieczeń zawiera kilka domyślnych reguł, z których jeden wyłącza cały dostęp przychodzący z Internetu. Użyj polecenia az network nsg rule create , aby otworzyć port, aby zezwolić na dostęp protokołu RDP (Remote Desktop Protocol) lub bezpiecznego powłoki (SSH) do maszyny wirtualnej.
az network nsg rule create \ --resource-group <myResourceGroup> \ --nsg-name <myNsg> \ --name Allow-RDP-Internet \ --access Allow \ --protocol Tcp \ --direction Inbound \ --priority 100 \ --source-address-prefix Internet \ --source-port-range "*" \ --destination-address-prefix "*" \ --destination-port-range 3389
Tworzenie interfejsu sieciowego z przyspieszoną siecią
Użyj polecenia az network public-ip create , aby utworzyć publiczny adres IP. Maszyna wirtualna nie potrzebuje publicznego adresu IP, jeśli nie uzyskujesz do niego dostępu z Internetu, ale potrzebujesz publicznego adresu IP, aby wykonać kroki opisane w tym artykule.
az network public-ip create \ --name <myPublicIp> \ --resource-group <myResourceGroup>
Użyj polecenia az network nic create , aby utworzyć interfejs sieciowy z włączoną przyspieszoną siecią. Poniższy przykład tworzy kartę sieciową w podsieci sieci wirtualnej i kojarzy sieciową grupę zabezpieczeń z kartą sieciową.
az network nic create \ --resource-group <myResourceGroup> \ --name <myNic> \ --vnet-name <myVnet> \ --subnet <mySubnet> \ --accelerated-networking true \ --public-ip-address <myPublicIp> \ --network-security-group <myNsg>
Tworzenie maszyny wirtualnej i dołączanie karty sieciowej
Użyj polecenia az vm create , aby utworzyć maszynę wirtualną i użyj --nics
opcji dołączenia utworzonej karty sieciowej. Upewnij się, że wybrano rozmiar i dystrybucję maszyn wirtualnych wymienioną w przyspieszonej sieci systemu Windows i Linux. Aby uzyskać listę wszystkich rozmiarów i cech maszyn wirtualnych, zobacz Rozmiary maszyn wirtualnych na platformie Azure.
Poniższy przykład tworzy maszynę wirtualną z systemem Windows Server 2019 Datacenter o rozmiarze obsługującym przyspieszoną sieć Standard_DS4_v2.
az vm create \
--resource-group <myResourceGroup> \
--name <myVm> \
--image Win2019Datacenter \
--size Standard_DS4_v2 \
--admin-username <myAdminUser> \
--admin-password <myAdminPassword> \
--nics <myNic>
Po utworzeniu maszyny wirtualnej uzyskasz dane wyjściowe podobne do poniższego przykładu. W przypadku maszyny z systemem Linux zanotuj publicIpAddress
wartość , która zostanie wprowadzona w celu uzyskania dostępu do maszyny wirtualnej w następnym kroku.
{
"fqdns": "",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
"location": "centralus",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "192.168.0.4",
"publicIpAddress": "40.68.254.142",
"resourceGroup": "myResourceGroup"
}
Upewnij się, że przyspieszona sieć jest włączona
Po utworzeniu maszyny wirtualnej na platformie Azure połącz się z maszyną wirtualną i upewnij się, że kontroler Ethernet jest zainstalowany w systemie Windows.
W witrynie Azure Portal wyszukaj i wybierz maszyny wirtualne.
Na stronie Maszyny wirtualne wybierz nową maszynę wirtualną.
Na stronie Przegląd maszyny wirtualnej wybierz pozycję Połącz.
Na ekranie Połącz wybierz pozycję Natywny protokół RDP.
Na natywnym ekranie protokołu RDP wybierz pozycję Pobierz plik RDP.
Otwórz pobrany plik RDP, a następnie zaloguj się przy użyciu poświadczeń wprowadzonych podczas tworzenia maszyny wirtualnej.
Na zdalnej maszynie wirtualnej kliknij prawym przyciskiem myszy przycisk Start i wybierz pozycję Menedżer urządzeń.
W oknie Menedżer urządzeń rozwiń węzeł Karty sieciowe.
Upewnij się, że zostanie wyświetlona wirtualna karta Ethernet Mellanox ConnectX-4 Lx, jak pokazano na poniższej ilustracji:
Obecność karty potwierdza, że przyspieszona sieć jest włączona dla maszyny wirtualnej.
Sprawdź, czy pakiety przepływają przez interfejs VF z danych wyjściowych następującego polecenia:
PS C:\ > Get-NetAdapter | Where-Object InterfaceDescription –like "*Mellanox*Virtual*" | Get-NetAdapterStatistics Name ReceivedBytes ReceivedUnicastPackets SentBytes SentUnicastPackets ---- ------------- ---------------------- --------- ------------------ Ethernet 2 492447549 347643 7468446 34991
Uwaga
Jeśli nie można uruchomić karty Mellanox, otwórz wiersz polecenia administratora na zdalnej maszynie wirtualnej i wprowadź następujące polecenie:
netsh int tcp set global rss = enabled
Obsługa powiązania dynamicznego i odwoływania funkcji wirtualnej
Powiązanie z syntetyczną kartą sieciową uwidocznioną na maszynie wirtualnej jest obowiązkowym wymaganiem dla wszystkich aplikacji korzystających z przyspieszonej sieci. Jeśli aplikacja działa bezpośrednio przez kartę sieciową VF, nie odbiera wszystkich pakietów przeznaczonych do maszyny wirtualnej, ponieważ niektóre pakiety są wyświetlane w interfejsie syntetycznym.
Należy uruchomić aplikację na syntetycznej karcie sieciowej, aby zagwarantować, że aplikacja odbiera wszystkie pakiety przeznaczone do niej. Powiązanie z syntetyczną kartą sieciową gwarantuje również, że aplikacja będzie działać nawet wtedy, gdy VF zostanie odwołana podczas obsługi hosta.
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.
Aby upewnić się, że niestandardowy obraz lub aplikacje prawidłowo obsługują dynamiczne powiązanie i odwoływanie funkcji wirtualnych, funkcje można przetestować na dowolnym serwerze funkcji Hyper-V systemu Windows. Użyj lokalnego systemu Windows Server z uruchomioną funkcją Hyper-V w następującej konfiguracji:
- Upewnij się, że masz fizyczną kartę sieciową, która obsługuje protokół SR-IOV.
- Zewnętrzny przełącznik wirtualny jest tworzony na podstawie tej karty SR-IOV z zaznaczonym polem "Włącz wirtualizację we/wy z jednym elementem głównym (SR-IOV)."
- Maszyna wirtualna z uruchomionym obrazem systemu operacyjnego lub aplikacją jest tworzona/wdrażana.
- Karty sieciowe dla tej maszyny wirtualnej w obszarze Przyspieszanie sprzętowe mają wybraną opcję "Włącz sr-IOV".
Po zweryfikowaniu maszyny wirtualnej i aplikacji korzystasz z karty sieciowej przy użyciu funkcji SR-IOV, możesz zmodyfikować następujące przykładowe polecenia, aby przełączać przełącznik SR-IOV w celu odwołania i dodania funkcji wirtualnej, która będzie symulować, co się stanie podczas obsługi hosta platformy Azure:
# Get the virtual network adapter to test
$vmNic = Get-VMNetworkAdapter -VMName "myvm" | where {$_.MacAddress -eq "001122334455"}
# Enable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 100 -IovQueuePairsRequested 1
# Disable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 0
Zarządzanie przyspieszoną siecią na istniejących maszynach wirtualnych
Istnieje możliwość włączenia przyspieszonej sieci na istniejącej maszynie wirtualnej. Maszyna wirtualna musi spełniać następujące wymagania, aby obsługiwać przyspieszoną sieć:
Obsługiwany rozmiar przyspieszonej sieci.
Obsługiwany obraz witryny Azure Marketplace i wersja jądra dla systemu Linux.
Zatrzymano lub cofnięto przydział przed włączeniem przyspieszonej sieci na dowolnej karcie sieciowej. To wymaganie dotyczy wszystkich poszczególnych maszyn wirtualnych lub maszyn wirtualnych w zestawie dostępności lub zestawach skalowania maszyn wirtualnych platformy Azure.
Włączanie przyspieszonej sieci na poszczególnych maszynach wirtualnych lub maszynach wirtualnych w zestawach dostępności
Najpierw zatrzymaj maszynę wirtualną i cofnij jej przydział lub wszystkie maszyny wirtualne w zestawie dostępności.
az vm deallocate \ --resource-group <myResourceGroup> \ --name <myVm>
Jeśli maszyna wirtualna została utworzona indywidualnie bez zestawu dostępności, należy zatrzymać lub cofnąć przydział tylko dla pojedynczej maszyny wirtualnej, aby włączyć przyspieszoną sieć. Jeśli maszyna wirtualna została utworzona z zestawem dostępności, musisz zatrzymać lub cofnąć przydział wszystkich maszyn wirtualnych w zestawie, zanim będzie można włączyć przyspieszoną sieć na dowolnej z kart sieciowych.
Po zatrzymaniu maszyny wirtualnej włącz przyspieszoną sieć na karcie sieciowej maszyny wirtualnej.
az network nic update \ --name <myNic> \ --resource-group <myResourceGroup> \ --accelerated-networking true
Uruchom ponownie maszynę wirtualną lub wszystkie maszyny wirtualne w zestawie dostępności i upewnij się, że włączono przyspieszoną sieć.
az vm start --resource-group <myResourceGroup> \ --name <myVm>
Włączanie przyspieszonej sieci w zestawach skalowania maszyn wirtualnych
Zestawy skalowania maszyn wirtualnych platformy Azure są nieco inne, ale są zgodne z tym samym przepływem pracy.
Najpierw zatrzymaj maszyny wirtualne:
az vmss deallocate \ --name <myVmss> \ --resource-group <myResourceGroup>
Po zatrzymaniu maszyn wirtualnych zaktualizuj właściwość Przyspieszona sieć w ramach interfejsu sieciowego.
az vmss update --name <myVmss> \ --resource-group <myResourceGroup> \ --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true
Zestawy skalowania maszyn wirtualnych mają zasady uaktualniania, które stosują aktualizacje przy użyciu ustawień automatycznych, stopniowego lub ręcznego. Poniższe instrukcje ustawiają zasady na automatyczne, aby zestawy skalowania maszyn wirtualnych pobierały zmiany natychmiast po ponownym uruchomieniu.
az vmss update \ --name <myVmss> \ --resource-group <myResourceGroup> \ --set upgradePolicy.mode="automatic"
Na koniec uruchom ponownie zestawy skalowania maszyn wirtualnych.
az vmss start \ --name <myVmss> \ --resource-group <myResourceGroup>
Po ponownym uruchomieniu i zakończeniu uaktualniania program VF pojawi się wewnątrz maszyn wirtualnych korzystających z obsługiwanego systemu operacyjnego i rozmiaru maszyny wirtualnej.
Zmienianie rozmiaru istniejących maszyn wirtualnych przy użyciu przyspieszonej sieci
Można zmienić rozmiar maszyn wirtualnych z włączoną przyspieszoną siecią tylko na rozmiary, które obsługują również przyspieszoną sieć. Nie można zmienić rozmiaru maszyny wirtualnej z przyspieszoną siecią na wystąpienie maszyny wirtualnej, które nie obsługuje przyspieszonej sieci przy użyciu operacji zmiany rozmiaru. Zamiast tego użyj następującego procesu, aby zmienić rozmiar tych maszyn wirtualnych:
Zatrzymaj i cofnij przydział maszyny wirtualnej lub wszystkich maszyn wirtualnych w zestawie dostępności lub zestawach skalowania maszyn wirtualnych.
Wyłącz przyspieszoną sieć na karcie sieciowej maszyny wirtualnej lub wszystkich maszyn wirtualnych w zestawie dostępności lub zestawach skalowania maszyn wirtualnych.
Przenieś maszynę wirtualną lub maszyny wirtualne do nowego rozmiaru, który nie obsługuje przyspieszonej sieci i uruchom je ponownie.
Zarządzanie przyspieszoną siecią za pośrednictwem portalu
Podczas tworzenia maszyny wirtualnej w witrynie Azure Portal możesz zaznaczyć pole wyboru Włącz przyspieszoną sieć na karcie Sieć na ekranie Tworzenie maszyny wirtualnej.
Jeśli maszyna wirtualna używa obsługiwanego systemu operacyjnego i rozmiaru maszyny wirtualnej dla przyspieszonej sieci, pole wyboru Włącz przyspieszoną sieć na karcie Sieć na ekranie Tworzenie maszyny wirtualnej jest zaznaczone automatycznie. Jeśli przyspieszona sieć nie jest obsługiwana, pole wyboru nie jest zaznaczone, a komunikat wyjaśnia przyczynę.
Uwaga
Przyspieszona sieć można włączyć podczas tworzenia maszyn wirtualnych portalu tylko dla obsługiwanych systemów operacyjnych w witrynie Azure Marketplace. Aby utworzyć i włączyć przyspieszoną sieć dla maszyny wirtualnej z niestandardowym obrazem systemu operacyjnego, musisz użyć interfejsu wiersza polecenia platformy Azure lub programu PowerShell.
Ustawienie przyspieszonej sieci w portalu pokazuje stan wybrany przez użytkownika. Przyspieszona sieć umożliwia wybranie opcji Wyłączone w portalu, nawet jeśli rozmiar maszyny wirtualnej wymaga przyspieszonej sieci. Rozmiary maszyn wirtualnych, które wymagają przyspieszonej sieci, umożliwiają przyspieszoną sieć w czasie wykonywania niezależnie od ustawienia użytkownika w portalu.
Aby włączyć lub wyłączyć przyspieszoną sieć dla istniejącej maszyny wirtualnej za pośrednictwem witryny Azure Portal:
Na stronie witryny Azure Portal dla maszyny wirtualnej wybierz pozycję Sieć z menu po lewej stronie.
Na stronie Sieć wybierz interfejs sieciowy.
W górnej części strony Przegląd karty sieciowej wybierz pozycję Edytuj przyspieszoną sieć.
Wybierz pozycję Automatyczne, Włączone lub Wyłączone, a następnie wybierz pozycję Zapisz.
Aby sprawdzić, czy przyspieszona sieć jest włączona dla istniejącej maszyny wirtualnej:
Na stronie portalu maszyny wirtualnej wybierz pozycję Sieć z menu po lewej stronie.
Na stronie Sieć wybierz interfejs sieciowy.
Na stronie Przegląd interfejsu sieciowego w obszarze Podstawy zwróć uwagę, czy dla przyspieszonej sieci ustawiono wartość Włączone, czy Wyłączone.