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 di Linux che ha raggiunto lo stato di fine del servizio (EOL). Valutare le proprie esigenze e pianificare di conseguenza. Per ulteriori informazioni, consultare la Guida alla fine del ciclo di 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 un account gratuitamente.
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
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>
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
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>
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
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>
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.
Nella portale di Azure cercare e selezionare macchine virtuali.
Nella pagina Macchine virtuali selezionare la nuova macchina virtuale.
Nella pagina Panoramica della macchina virtuale selezionare Connetti.
Nella schermata Connetti selezionare RDP nativo.
Nella schermata RDP nativo selezionare Scarica file RDP.
Aprire il file RDP scaricato e quindi accedere con le credenziali immesse al momento della creazione della macchina virtuale.
Nella macchina virtuale remota fare clic con il pulsante destro del mouse su Start e selezionare Gestione dispositivi.
Nella finestra Gestione dispositivi espandere il nodo Schede di rete.
Verificare che venga visualizzata la scheda Ethernet virtuale Mellanox ConnectX-4 Lx, come illustrato nell'immagine seguente:
La presenza dell'adattatore conferma che la rete accelerata è abilitata per la macchina virtuale.
Verificare che i pacchetti vengano trasmessi sull'interfaccia VF dall'output del comando seguente:
PS C:\ > Get-NetAdapter | Where-Object InterfaceDescription –like "*Mellanox*Virtual*" | Get-NetAdapterStatistics Name ReceivedBytes ReceivedUnicastPackets SentBytes SentUnicastPackets ---- ------------- ---------------------- --------- ------------------ Ethernet 2 492447549 347643 7468446 34991
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à
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.
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
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.
In primo luogo, arrestare le macchine virtuali:
az vmss deallocate \ --name <myVmss> \ --resource-group <myResourceGroup>
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
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"
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:
Arrestare e deallocare la macchina virtuale o tutte le macchine virtuali nel set di disponibilità o set di scalabilità di macchine virtuali.
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.
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:
Nella pagina portale di Azure per la macchina virtuale selezionare Rete dal menu a sinistra.
Nella pagina Rete selezionare l'interfaccia di rete.
Nella parte superiore della pagina Panoramica della scheda di interfaccia di rete selezionare Modifica rete accelerata.
Selezionare Automatico, Abilitato o Disabilitato e quindi selezionare Salva.
Per verificare se la rete accelerata è abilitata per una macchina virtuale esistente:
Nella pagina del portale per la macchina virtuale selezionare Rete dal menu a sinistra.
Nella pagina Rete selezionare l'interfaccia di rete.
Nella pagina Panoramica dell'interfaccia di rete, in Informazioni di base, notare se la rete accelerata è impostata su Abilitato o Disabilitato.