Usare l'interfaccia della riga di comando di Azure per creare una macchina virtuale Windows o Linux con rete accelerata

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux prossima allo stato EOL (End of Life, fine del ciclo di vita). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Questo articolo descrive come creare una macchina virtuale (VM) Linux o Windows con rete accelerata (AccelNet) abilitata usando l'interfaccia della riga di comando di Azure. L'articolo illustra anche come abilitare e gestire la rete accelerata in macchine virtuali esistenti.

È anche possibile creare una macchina virtuale con rete accelerata abilitata usando il portale di Azure. Per altre informazioni sull'uso del portale di Azure per gestire la rete accelerata nelle macchine virtuali, vedere Gestire la rete accelerata tramite il portale.

Per usare Azure PowerShell per creare una macchina virtuale Windows con rete accelerata abilitata, vedere Usare Azure PowerShell per creare una macchina virtuale Linux con rete accelerata.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. È possibile creare gratuitamente un account.

  • Versione più recente dell'interfaccia della riga di comando di Azure installata. Accedere ad Azure con il comando az login.

Creare una macchina virtuale con rete accelerata

Negli esempi seguenti è possibile sostituire i parametri di esempio, ad <myResourceGroup>esempio , <myNic>e <myVm> con i propri valori.

Creare una rete virtuale

  1. Usare az group create per creare un gruppo di risorse per contenere le risorse. Assicurarsi di selezionare un'area Windows o Linux supportata come indicato in Rete accelerata windows e Linux.

    az group create --name <myResourceGroup> --location <myAzureRegion>
    
  2. Usare az network vnet create per creare una rete virtuale con una subnet nel gruppo di risorse:

    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
    

Creare un gruppo di sicurezza di rete

  1. Usare az network nsg create per creare un gruppo di sicurezza di rete.Use az network nsg create to create a network security group (NSG).

    az network nsg create \
      --resource-group <myResourceGroup> \
      --name <myNsg>
    
  2. Il gruppo di sicurezza di rete contiene diverse regole predefinite, una delle quali disabilita l'accesso in ingresso da Internet. Usare az network nsg rule create per aprire una porta per consentire l'accesso RDP (Remote Desktop Protocol) o secure shell (SSH) alla macchina virtuale.

    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
    

Creare un'interfaccia di rete con rete accelerata

  1. Usare az network public-ip create per creare un indirizzo IP pubblico. La macchina virtuale non richiede un indirizzo IP pubblico se non si accede da Internet, ma è necessario che l'indirizzo IP pubblico completi i passaggi per questo articolo.

    az network public-ip create \
      --name <myPublicIp> \
      --resource-group <myResourceGroup>
    
  2. Usare az network nic create per creare un'interfaccia di rete (NIC) con rete accelerata abilitata. L'esempio seguente crea una scheda di interfaccia di rete nella subnet della rete virtuale e associa il gruppo di sicurezza di rete alla scheda di interfaccia di rete.

    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>
    

Creare una macchina virtuale e collegare le schede di interfaccia di rete

Usare az vm create per creare la macchina virtuale e usare l'opzione --nics per collegare la scheda di interfaccia di rete creata. Assicurarsi di selezionare le dimensioni e la distribuzione di macchine virtuali elencate in Rete accelerata Windows e Linux. Per un elenco di tutte le dimensioni e le caratteristiche delle macchine virtuali, vedere Dimensioni per le macchine virtuali in Azure.

L'esempio seguente crea una macchina virtuale Windows Server 2019 Datacenter con dimensioni che supportano la rete accelerata 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>

Dopo aver creato la macchina virtuale, si ottiene un output simile all'esempio seguente. Per un computer Linux, prendere nota di publicIpAddress, che si immette per accedere alla macchina virtuale nel passaggio successivo.

{
  "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"
}

Verificare che la rete accelerata sia abilitata

Dopo aver creato la macchina virtuale in Azure, connettersi alla macchina virtuale e verificare che il controller Ethernet sia installato in Windows.

  1. Nella portale di Azure cercare e selezionare macchine virtuali.

  2. Nella pagina Macchine virtuali selezionare la nuova macchina virtuale.

  3. Nella pagina Panoramica della macchina virtuale selezionare Connessione.

  4. Nella schermata Connessione selezionare RDP nativo.

  5. Nella schermata RDP nativo selezionare Scarica file RDP.

  6. Aprire il file RDP scaricato e quindi accedere con le credenziali immesse al momento della creazione della macchina virtuale.

  7. Nella macchina virtuale remota fare clic con il pulsante destro del mouse su Start e selezionare Gestione dispositivi.

  8. Nella finestra Gestione dispositivi espandere il nodo Schede di rete.

  9. Verificare che venga visualizzata la scheda Ethernet virtuale Mellanox Connessione X-4 Lx, come illustrato nell'immagine seguente:

    Scheda Ethernet della funzione virtuale Mellanox Connessione X-3, nuova scheda di rete per la rete accelerata Gestione dispositivi

    La presenza dell'adattatore conferma che la rete accelerata è abilitata per la macchina virtuale.

Nota

Se l'adapter Mellanox non viene avviato, aprire un prompt dei comandi dell'amministratore nella macchina virtuale remota e immettere il comando seguente:

netsh int tcp set global rss = enabled

Gestire l'associazione dinamica e la revoca della funzione virtuale

L'associazione alla scheda di interfaccia di rete sintetica esposta nella macchina virtuale è un requisito obbligatorio per tutte le applicazioni che sfruttano la rete accelerata. Se un'applicazione viene eseguita direttamente sulla scheda di interfaccia di rete VF, non riceve tutti i pacchetti destinati alla macchina virtuale, perché alcuni pacchetti vengono visualizzati sull'interfaccia sintetica.

È necessario eseguire un'applicazione sulla scheda di interfaccia di rete sintetica per garantire che l'applicazione riceva tutti i pacchetti destinati. L'associazione alla scheda di interfaccia di rete sintetica garantisce anche che l'applicazione continui a essere in esecuzione anche se la funzione VF viene revocata durante la manutenzione dell'host.

Per altre informazioni sui requisiti di associazione delle applicazioni, vedere Funzionamento della rete accelerata nelle macchine virtuali Linux e FreeBSD.

Per garantire che l'immagine o le applicazioni personalizzate supportino correttamente l'associazione dinamica e la revoca delle funzioni virtuali, è possibile testare la funzionalità in qualsiasi server Windows Hyper-V. Usare un server Windows locale che esegue Hyper-V nella configurazione seguente:

  • Assicurarsi di disporre di una scheda di rete fisica che supporti SR-IOV.
  • Un commutatore virtuale esterno viene creato sopra questa scheda SR-IOV con l'opzione "Abilita virtualizzazione I/O radice singola (SR-IOV)" selezionata.
  • Viene creata/distribuita una macchina virtuale che esegue l'immagine o l'applicazione del sistema operativo.
  • Le schede di rete per questa macchina virtuale, in Accelerazione hardware, hanno selezionato "Abilita SR-IOV".

Dopo aver verificato che la macchina virtuale e l'applicazione sfruttano una scheda di rete usando SR-IOV, è possibile modificare i comandi di esempio seguenti per attivare/disattivare SR-IOV per revocare e aggiungere la funzione virtuale che simula cosa accade durante la manutenzione dell'host di 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

Gestire la rete accelerata nelle macchine virtuali esistenti

È possibile abilitare la rete accelerata in una macchina virtuale esistente. La macchina virtuale deve soddisfare i requisiti seguenti per supportare la rete accelerata:

  • Dimensioni supportate per la rete accelerata.

  • Un'immagine e una versione del kernel di Azure Marketplace supportate per Linux.

  • Arrestato o deallocato prima di poter abilitare la rete accelerata in qualsiasi scheda di interfaccia di rete. Questo requisito si applica a tutte le singole macchine virtuali o macchine virtuali in un set di disponibilità o set di scalabilità di macchine virtuali di Azure.

Abilitare la rete accelerata in singole macchine virtuali o macchine virtuali nei set di disponibilità

  1. Prima di tutto, arrestare e deallocare la macchina virtuale o tutte le macchine virtuali nel set di disponibilità.

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

    Se la macchina virtuale è stata creata singolarmente senza un set di disponibilità, è necessario arrestare o deallocare solo la singola macchina virtuale per abilitare la rete accelerata. Se la macchina virtuale è stata creata con un set di disponibilità, è necessario arrestare o deallocare tutte le macchine virtuali nel set prima di poter abilitare la rete accelerata in una delle schede di interfaccia di rete.

  2. Una volta arrestata la macchina virtuale, abilitare Rete accelerata nella scheda di interfaccia di rete della macchina virtuale.

    az network nic update \
      --name <myNic> \
      --resource-group <myResourceGroup> \
      --accelerated-networking true
    
  3. Riavviare la macchina virtuale o tutte le macchine virtuali nel set di disponibilità e verificare che la rete accelerata sia abilitata.

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

Abilitare la rete accelerata in set di scalabilità di macchine virtuali

Azure set di scalabilità di macchine virtuali è leggermente diverso, ma segue lo stesso flusso di lavoro.

  1. In primo luogo, arrestare le macchine virtuali:

    az vmss deallocate \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    
  2. Una volta arrestate le macchine virtuali, aggiornare la proprietà Rete accelerata nell'interfaccia di rete.

    az vmss update --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true
    
  3. set di scalabilità di macchine virtuali dispone di criteri di aggiornamento che applicano gli aggiornamenti tramite impostazioni automatiche, in sequenza o manuali. Le istruzioni seguenti impostano il criterio su automatico in modo che set di scalabilità di macchine virtuali preleva le modifiche immediatamente dopo il riavvio.

    az vmss update \
      --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set upgradePolicy.mode="automatic"
    
  4. Infine, riavviare set di scalabilità di macchine virtuali.

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

Al termine del riavvio e degli aggiornamenti, il VF viene visualizzato all'interno di macchine virtuali che usano un sistema operativo e una dimensione di macchina virtuale supportati.

Ridimensionare le macchine virtuali esistenti con rete accelerata

È possibile ridimensionare le macchine virtuali con rete accelerata abilitata solo per le dimensioni che supportano anche la rete accelerata. Non è possibile ridimensionare una macchina virtuale con rete accelerata in un'istanza di macchina virtuale che non supporta la rete accelerata usando l'operazione di ridimensionamento. Usare invece il processo seguente per ridimensionare queste macchine virtuali:

  1. Arrestare e deallocare la macchina virtuale o tutte le macchine virtuali nel set di disponibilità o set di scalabilità di macchine virtuali.

  2. Disabilitare la rete accelerata nella scheda di interfaccia di rete della macchina virtuale o in tutte le macchine virtuali nel set di disponibilità o set di scalabilità di macchine virtuali.

  3. Spostare la macchina virtuale o le macchine virtuali in una nuova dimensione che non supporta la rete accelerata e riavviarle.

Gestire la rete accelerata tramite il portale

Quando si crea una macchina virtuale nella portale di Azure, è possibile selezionare la casella di controllo Abilita rete accelerata nella scheda Rete della schermata Crea macchina virtuale.

Se la macchina virtuale usa un sistema operativo supportato e le dimensioni della macchina virtuale per rete accelerata, la casella di controllo Abilita rete accelerata nella scheda Rete della schermata Crea macchina virtuale viene selezionata automaticamente. Se la rete accelerata non è supportata, la casella di controllo non è selezionata e un messaggio spiega il motivo.

Nota

  • È possibile abilitare rete accelerata durante la creazione di macchine virtuali del portale solo per i sistemi operativi supportati da Azure Marketplace. Per creare e abilitare la rete accelerata per una macchina virtuale con un'immagine personalizzata del sistema operativo, è necessario usare l'interfaccia della riga di comando di Azure o PowerShell.

  • L'impostazione Rete accelerata nel portale mostra lo stato selezionato dall'utente. La rete accelerata consente di scegliere Disabilitato nel portale anche se le dimensioni della macchina virtuale richiedono rete accelerata. Le dimensioni delle macchine virtuali che richiedono rete accelerata abilitano la rete accelerata in fase di esecuzione indipendentemente dall'impostazione utente nel portale.

Per abilitare o disabilitare la rete accelerata per una macchina virtuale esistente tramite il portale di Azure:

  1. Nella pagina portale di Azure per la macchina virtuale selezionare Rete dal menu a sinistra.

  2. Nella pagina Rete selezionare l'interfaccia di rete.

  3. Nella parte superiore della pagina Panoramica della scheda di interfaccia di rete selezionare Modifica rete accelerata.

  4. Selezionare Automatico, Abilitato o Disabilitato e quindi selezionare Salva.

Per verificare se la rete accelerata è abilitata per una macchina virtuale esistente:

  1. Nella pagina del portale per la macchina virtuale selezionare Rete dal menu a sinistra.

  2. Nella pagina Rete selezionare l'interfaccia di rete.

  3. Nella pagina Panoramica dell'interfaccia di rete, in Informazioni di base, notare se la rete accelerata è impostata su Abilitato o Disabilitato.

Passaggi successivi