Använda Azure CLI för att skapa en virtuell Windows- eller Linux-dator med accelererat nätverk

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som har statusen End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Den här artikeln beskriver hur du skapar en virtuell Linux- eller Windows-dator (VM) med Accelererat nätverk (AccelNet) aktiverat med hjälp av kommandoradsgränssnittet för Azure CLI. I artikeln beskrivs också hur du aktiverar och hanterar accelererat nätverk på befintliga virtuella datorer.

Du kan också skapa en virtuell dator med accelererat nätverk aktiverat med hjälp av Azure Portal. Mer information om hur du använder Azure Portal för att hantera accelererat nätverk på virtuella datorer finns i Hantera accelererat nätverk via portalen.

Information om hur du använder Azure PowerShell för att skapa en virtuell Windows-dator med accelererat nätverk aktiverat finns i Använda Azure PowerShell för att skapa en virtuell Linux-dator med accelererat nätverk.

Förutsättningar

Skapa en virtuell dator med accelererat nätverk

I följande exempel kan du ersätta exempelparametrarna, till exempel <myResourceGroup>, <myNic>och <myVm> med dina egna värden.

Skapa ett virtuellt nätverk

  1. Använd az group create för att skapa en resursgrupp som ska innehålla resurserna. Se till att välja en Windows- eller Linux-region som stöds enligt listan i Windows- och Linux-accelererat nätverk.

    az group create --name <myResourceGroup> --location <myAzureRegion>
    
  2. Använd az network vnet create för att skapa ett virtuellt nätverk med ett undernät i resursgruppen:

    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
    

Skapa en nätverkssäkerhetsgrupp

  1. Använd az network nsg create för att skapa en nätverkssäkerhetsgrupp (NSG).

    az network nsg create \
      --resource-group <myResourceGroup> \
      --name <myNsg>
    
  2. NSG innehåller flera standardregler, varav en inaktiverar all inkommande åtkomst från Internet. Använd az network nsg rule create för att öppna en port för att tillåta fjärrskrivbordsprotokoll (RDP) eller SSH-åtkomst (Secure Shell) till den virtuella datorn.

    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
    

Skapa ett nätverksgränssnitt med accelererat nätverk

  1. Använd az network public-ip create för att skapa en offentlig IP-adress. Den virtuella datorn behöver ingen offentlig IP-adress om du inte har åtkomst till den från Internet, men du behöver den offentliga IP-adressen för att slutföra stegen för den här artikeln.

    az network public-ip create \
      --name <myPublicIp> \
      --resource-group <myResourceGroup>
    
  2. Använd az network nic create för att skapa ett nätverksgränssnitt (NIC) med accelererat nätverk aktiverat. I följande exempel skapas ett nätverkskort i undernätet för det virtuella nätverket och NSG associeras med nätverkskortet.

    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>
    

Skapa en virtuell dator och koppla nätverkskortet

Använd az vm create för att skapa den virtuella datorn och använd --nics alternativet för att koppla det nätverkskort som du skapade. Se till att välja en VM-storlek och distribution som visas i Windows- och Linux-accelererat nätverk. En lista över alla VM-storlekar och egenskaper finns i Storlekar för virtuella datorer i Azure.

I följande exempel skapas en virtuell Windows Server 2019 Datacenter-dator med en storlek som stöder accelererat nätverk 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>

När den virtuella datorn har skapats får du utdata som liknar följande exempel. För en Linux-dator noterar du , publicIpAddresssom du anger för att komma åt den virtuella datorn i nästa steg.

{
  "fqdns": "",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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"
}

Bekräfta att accelererat nätverk är aktiverat

När du har skapat den virtuella datorn i Azure ansluter du till den virtuella datorn och bekräftar att Ethernet-styrenheten är installerad i Windows.

  1. I Azure Portal söker du efter och väljer virtuella datorer.

  2. På sidan Virtuella datorer väljer du den nya virtuella datorn.

  3. På den virtuella datorns översiktssida väljer du Anslut.

  4. På skärmen Anslut väljer du Intern RDP.

  5. På den interna RDP-skärmen väljer du Ladda ned RDP-fil.

  6. Öppna den nedladdade RDP-filen och logga sedan in med de autentiseringsuppgifter som du angav när du skapade den virtuella datorn.

  7. Högerklicka på Starta på den virtuella fjärrdatorn och välj Enhetshanteraren.

  8. I fönstret Enhetshanteraren expanderar du noden Nätverkskort.

  9. Kontrollera att Mellanox ConnectX-4 Lx Virtual Ethernet-adaptern visas, enligt följande bild:

    Mellanox ConnectX-3 Virtual Function Ethernet Adapter, nytt nätverkskort för accelererat nätverk, Enhetshanteraren

    Förekomsten av kortet bekräftar att accelererat nätverk är aktiverat för den virtuella datorn.

  10. Kontrollera att paketen flödar över VF-gränssnittet från utdata från följande kommando:

    PS C:\ > Get-NetAdapter | Where-Object InterfaceDescription –like "*Mellanox*Virtual*" | Get-NetAdapterStatistics
    
    Name                             ReceivedBytes ReceivedUnicastPackets       SentBytes SentUnicastPackets
    ----                             ------------- ----------------------       --------- ------------------
    Ethernet 2                           492447549                 347643         7468446              34991
    
    

Kommentar

Om Mellanox-adaptern inte startar öppnar du en kommandotolk för administratör på den virtuella fjärrdatorn och anger följande kommando:

netsh int tcp set global rss = enabled

Hantera dynamisk bindning och återkallande av virtuell funktion

Bindning till det syntetiska nätverkskortet som exponeras på den virtuella datorn är ett obligatoriskt krav för alla program som utnyttjar accelererat nätverk. Om ett program körs direkt via VF-nätverkskortet tar det inte emot alla paket som är avsedda för den virtuella datorn, eftersom vissa paket visas över det syntetiska gränssnittet.

Du måste köra ett program via det syntetiska nätverkskortet för att garantera att programmet tar emot alla paket som är avsedda för det. Bindning till det syntetiska nätverkskortet säkerställer också att programmet fortsätter att köras även om den virtuella hårddisken återkallas under värdunderhåll.

Mer information om programbindningskrav finns i How Accelerated Networking works in Linux and FreeBSD VMs (Så här fungerar accelererat nätverk i virtuella Linux- och FreeBSD-datorer).

För att säkerställa att din anpassade avbildning eller dina program har rätt stöd för dynamisk bindning och återkallande av virtuella funktioner kan funktionerna testas på valfri Windows Hyper-V-server. Använd en lokal Windows Server som kör Hyper-V i följande konfiguration:

  • Se till att du har ett fysiskt nätverkskort som stöder SR-IOV.
  • En extern virtuell växel skapas ovanpå det här SR-IOV-adaptern med "Aktivera enrotig I/O-virtualisering (SR-IOV)" markerad.
  • En virtuell dator som kör operativsystemavbildningen eller programmet skapas/distribueras.
  • Nätverkskorten för den här virtuella datorn, under Maskinvaruacceleration, har valt "Aktivera SR-IOV".

När du har verifierat att den virtuella datorn och programmet använder ett nätverkskort med hjälp av SR-IOV kan du ändra följande exempelkommandon för att inaktivera/aktivera SR-IOV för att återkalla och lägga till den virtuella funktionen som simulerar vad som händer under Azure-värdtjänsten:

# 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

Hantera accelererat nätverk på befintliga virtuella datorer

Det går att aktivera accelererat nätverk på en befintlig virtuell dator. Den virtuella datorn måste uppfylla följande krav för att stödja accelererat nätverk:

  • En storlek som stöds för accelererat nätverk.

  • En Azure Marketplace-avbildning och kernelversion som stöds för Linux.

  • Stoppad eller frigjord innan du kan aktivera accelererat nätverk på något nätverkskort. Det här kravet gäller för alla enskilda virtuella datorer eller virtuella datorer i en tillgänglighetsuppsättning eller Azure Virtual Machine Scale Sets.

Aktivera accelererat nätverk på enskilda virtuella datorer eller virtuella datorer i tillgänglighetsuppsättningar

  1. Stoppa och frigör först den virtuella datorn eller alla virtuella datorer i tillgänglighetsuppsättningen.

    az vm deallocate \
      --resource-group <myResourceGroup> \
      --name <myVm>
    

    Om du har skapat den virtuella datorn individuellt utan en tillgänglighetsuppsättning måste du bara stoppa eller frigöra den enskilda virtuella datorn för att aktivera accelererat nätverk. Om du har skapat den virtuella datorn med en tillgänglighetsuppsättning måste du stoppa eller frigöra alla virtuella datorer i uppsättningen innan du kan aktivera accelererat nätverk på någon av nätverkskorten.

  2. När den virtuella datorn har stoppats aktiverar du Accelererat nätverk på nätverkskortet för den virtuella datorn.

    az network nic update \
      --name <myNic> \
      --resource-group <myResourceGroup> \
      --accelerated-networking true
    
  3. Starta om den virtuella datorn eller alla virtuella datorer i tillgänglighetsuppsättningen och bekräfta att accelererat nätverk är aktiverat.

    az vm start --resource-group <myResourceGroup> \
      --name <myVm>
    

Aktivera accelererat nätverk på VM-skalningsuppsättningar

Skalningsuppsättningar för virtuella Azure-datorer skiljer sig något, men följer samma arbetsflöde.

  1. Stoppa först de virtuella datorerna:

    az vmss deallocate \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    
  2. När de virtuella datorerna har stoppats uppdaterar du egenskapen Accelererat nätverk under nätverksgränssnittet.

    az vmss update --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true
    
  3. Vm-skalningsuppsättningar har en uppgraderingsprincip som tillämpar uppdateringar med hjälp av automatiska, löpande eller manuella inställningar. Följande instruktioner anger principen till automatisk så att Vm-skalningsuppsättningar plockar upp ändringarna omedelbart efter omstarten.

    az vmss update \
      --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set upgradePolicy.mode="automatic"
    
  4. Starta slutligen om VM-skalningsuppsättningar.

    az vmss start \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    

När du har startat om och uppgraderingarna har slutförts visas den virtuella hårddisken i virtuella datorer som använder en os- och VM-storlek som stöds.

Ändra storlek på befintliga virtuella datorer med accelererat nätverk

Du kan ändra storlek på virtuella datorer med accelererat nätverk aktiverat endast till storlekar som också stöder accelererat nätverk. Du kan inte ändra storlek på en virtuell dator med accelererat nätverk till en virtuell datorinstans som inte stöder accelererat nätverk med hjälp av storleksändringsåtgärden. Använd i stället följande process för att ändra storlek på dessa virtuella datorer:

  1. Stoppa och frigöra den virtuella datorn eller alla virtuella datorer i tillgänglighetsuppsättningen eller Vm-skalningsuppsättningar.

  2. Inaktivera accelererat nätverk på nätverkskortet för den virtuella datorn eller alla virtuella datorer i tillgänglighetsuppsättningen eller Vm-skalningsuppsättningar.

  3. Flytta den virtuella datorn eller de virtuella datorerna till en ny storlek som inte stöder accelererat nätverk och starta om dem.

Hantera accelererat nätverk via portalen

När du skapar en virtuell dator i Azure Portal kan du markera kryssrutan Aktivera accelererat nätverk på fliken Nätverkskärmen Skapa en virtuell dator.

Om den virtuella datorn använder ett operativsystem och en vm-storlek som stöds för accelererat nätverk markeras kryssrutan Aktivera accelererat nätverk på fliken Nätverkskärmen Skapa en virtuell dator automatiskt. Om accelererat nätverk inte stöds är kryssrutan inte markerad och ett meddelande förklarar orsaken.

Kommentar

  • Du kan aktivera accelererat nätverk när du skapar virtuella datorer på portalen endast för operativsystem som stöds av Azure Marketplace. Om du vill skapa och aktivera accelererat nätverk för en virtuell dator med en anpassad OS-avbildning måste du använda Azure CLI eller PowerShell.

  • Inställningen Accelererat nätverk i portalen visar det användarvalda tillståndet. Accelererat nätverk gör att du kan välja Inaktiverad i portalen även om vm-storleken kräver accelererat nätverk. Vm-storlekar som kräver accelererat nätverk aktiverar accelererat nätverk vid körning oavsett användarinställning i portalen.

Så här aktiverar eller inaktiverar du accelererat nätverk för en befintlig virtuell dator via Azure Portal:

  1. På sidan Azure Portal för den virtuella datorn väljer du Nätverk på den vänstra menyn.

  2. På sidan Nätverk väljer du nätverksgränssnittet.

  3. Längst upp på sidan Översikt över nätverkskort väljer du Redigera accelererat nätverk.

  4. Välj Automatisk, Aktiverad eller Inaktiverad och välj sedan Spara.

Så här bekräftar du om accelererat nätverk är aktiverat för en befintlig virtuell dator:

  1. På portalsidan för den virtuella datorn väljer du Nätverk på den vänstra menyn.

  2. På sidan Nätverk väljer du nätverksgränssnittet.

  3. På sidan Översikt över nätverksgränssnittet under Essentials kan du se om Accelererat nätverk är inställt på Aktiverad eller Inaktiverad.

Nästa steg