Condividi tramite


Esercitazione: Creare e usare dischi con un set di scalabilità di macchine virtuali con Azure PowerShell

I set di scalabilità di macchine virtuali usano dischi per archiviare il sistema operativo, le applicazioni e i dati dell'istanza di macchina virtuale. Quando si crea e si gestisce un set di scalabilità, è importante scegliere le dimensioni del disco e la configurazione appropriate per il carico di lavoro previsto. Questa esercitazione illustra la creazione e la gestione dei dischi di VM. Questa esercitazione descrive quanto segue:

  • Dischi del sistema operativo e dischi temporanei
  • Dischi dati
  • Dischi Standard e Premium
  • Prestazioni dei dischi
  • Collegare e preparare i dischi dati

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. Screenshot che mostra un esempio di Prova per Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Pulsante per avviare Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot che mostra il pulsante Cloud Shell nel portale di Azure

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.

  4. Premere Invio per eseguire il codice o il comando.

Dischi di Azure predefiniti

Quando si crea o si ridimensiona un set di scalabilità, vengono automaticamente collegati due dischi a ogni istanza di macchina virtuale.

Disco del sistema operativo: i dischi del sistema operativo possono essere ridimensionati fino a 2 TB e ospitano il sistema operativo dell'istanza di macchina virtuale. Il disco del sistema operativo viene etichettato come /dev/sda per impostazione predefinita. La configurazione della memorizzazione nella cache del disco del sistema operativo è ottimizzata per le prestazioni del sistema operativo. A causa di questa configurazione, il disco del sistema operativo non deve ospitare applicazioni o i dati. Per le applicazioni e i dati, usare un disco dati, descritto in dettaglio più avanti in questo articolo.

Disco temporaneo: i dischi temporanei usano un'unità SSD che si trova nello stesso host di Azure dell'istanza di macchina virtuale. Si tratta di dischi ad alte prestazioni e possono essere usati per operazioni quali l'elaborazione dei dati temporanei. Se tuttavia l'istanza di macchina virtuale viene spostata in un nuovo host, tutti i dati archiviati in un disco temporaneo verranno rimossi. Le dimensioni del disco temporaneo sono determinate dalle dimensioni dell'istanza di macchina virtuale. I dischi temporanei vengono etichettati come /dev/sdb e hanno un punto di montaggio /mnt.

Dischi dati di Azure

È possibile aggiungere altri dischi dati se è necessario installare applicazioni e archiviare dati. I dischi dati devono essere usati in qualsiasi situazione in cui si desidera un'archiviazione dei dati durevoli e reattiva. Ogni disco dati ha una capacità massima di 4 TB. Le dimensioni dell'istanza di macchina virtuale determinano il numero di dischi dati che possono essere collegati. Per ogni vCPU della macchina virtuale, è possibile collegare due dischi dati.

Tipi di dischi per la VM

La tabella seguente mostra un confronto tra i cinque tipi di disco per decidere quale usare.

Disco Ultra SSD Premium v2 SSD Premium SSD Standard Unità disco rigido Standard
Tipo di disco SSD SSD SSD SSD HDD
Scenario Carichi di lavoro con livelli elevati di I/O, come SAP HANA, database di alto livello (ad esempio, SQL, Oracle) e altri carichi di lavoro con un numero elevato di transazioni. Carichi di lavoro di produzione e sensibili alle prestazioni che richiedono costantemente bassa latenza, un numero elevato di operazioni di I/O al secondo e velocità effettiva elevata Carichi di lavoro di produzione con requisiti particolari di prestazioni Server Web, applicazioni aziendali usate poco di frequente e sviluppo/test Backup, carichi di lavoro non critici, accesso poco frequente
Dimensioni massime disco 65.536 GiB 65.536 GiB 32.767 GiB 32.767 GiB 32.767 GiB
Velocità effettiva massima 4.000 MB/s 1\.200 MB/s 900 MB/s 750 MB/s 500 MB/s
Operazioni di I/O al secondo max 160.000 80.000 20.000 6.000 2.000, 3.000*
Possibilità di uso come disco del sistema operativo No No

*Si applica solo ai dischi con performance plus (anteprima) abilitate.

Per un video che illustra alcune differenze generali per i diversi tipi di disco, nonché alcuni modi per determinare quali effetti influiscono sui requisiti del carico di lavoro, vedere Opzioni di archiviazione a blocchi con Archiviazione su disco di Azure e SAN di Elastic.

Creare e collegare dischi

È possibile creare e collegare i dischi quando si crea un set di scalabilità oppure con un set di scalabilità esistente.

A partire dalla versione 2019-07-01 dell'API, è possibile impostare le dimensioni del disco del sistema operativo in un set di scalabilità di macchine virtuali con la proprietà storageProfile.osDisk.diskSizeGb. Dopo il provisioning, potrebbe essere necessario espandere o ripartizionare il disco per utilizzare l'intero spazio. Altre informazioni su come espandere il volume nel sistema operativo in Windows o Linux.

Collegare dischi al momento della creazione del set di scalabilità

Creare un set di scalabilità di macchine virtuali con New-AzVmss. Quando richiesto, immettere un nome utente e una password per le istanze di macchina virtuale. Per distribuire il traffico alle singole istanze di macchine virtuali, viene creato anche un servizio di bilanciamento del carico. Il servizio di bilanciamento del carico include regole per la distribuzione del traffico sulla porta TCP 80, oltre che per consentire il traffico di Desktop remoto sulla porta TCP 3389 e la comunicazione remota di PowerShell sulla porta TCP 5985.

Vengono creati due dischi con il parametro -DataDiskSizeGb. Il primo disco è da 64 GB, il secondo è da 128 GB. Quando richiesto, fornire le proprie credenziali amministrative desiderate per le istanze di macchina virtuale nel set di scalabilità:

New-AzResourceGroup -Name "myResourceGroup" -Location "East US"
New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "EastUS" `
  -OrchestrationMode "Flexible" `
  -VMScaleSetName "myScaleSet" `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -DataDiskSizeInGb 64,128

La creazione e la configurazione di tutte le risorse e le istanze di VM del set di scalabilità richiedono alcuni minuti.

Collegare un disco a un set di scalabilità esistente

È anche possibile collegare dischi a un set di scalabilità esistente. Usare il set di scalabilità creato nel passaggio precedente per aggiungere un altro disco con Add-AzVmssDataDisk. L'esempio seguente collega un altro disco dati da 128 GB a un set di scalabilità esistente:

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Attach a 128 GB data disk to LUN 2
Add-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -CreateOption Empty `
  -Lun 2 `
  -DiskSizeGB 128

# Update the scale set to apply the change
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

In alternativa, se si vuole aggiungere un disco dati a una singola istanza di un set di scalabilità, usare Add-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId 1
Add-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -LUN 2 -DiskSizeInGB 1 -CreateOption Empty -StorageAccountType Standard_LRS
Update-AzVmssVM -VirtualMachineScaleSetVM $VirtualMachine

Elencare i dischi collegati

Per visualizzare informazioni sui dischi collegati a un set di scalabilità, usare Get-AzVmss nel modo seguente:

Get-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet"

Sotto la proprietà VirtualMachineProfile.StorageProfile viene visualizzato l'elenco di DataDisks. Vengono visualizzate informazioni su dimensioni del disco, livello di archiviazione e LUN (numero di unità logica). L'output di esempio seguente visualizza i dettagli dei tre dischi dati collegati al set di scalabilità:

DataDisks[0]                            :
  Lun                                   : 0
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 64
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[1]                            :
  Lun                                   : 1
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[2]                            :
  Lun                                   : 2
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS

Scollegare un disco

Quando un disco non è più necessario, è possibile rimuoverlo dal set di scalabilità. Il disco viene rimosso da tutte le istanze di macchina virtuale presenti nel set di scalabilità. Per rimuovere un disco da un set di scalabilità, usare Remove-AzVmssDataDisk e specificare il LUN del disco. I LUN vengono visualizzati nell'output di Get-AzVmss nella sezione precedente. Nell'esempio seguente viene rimosso il LUN 3 dal set di scalabilità:

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Detach a disk from the scale set
Remove-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -Lun 2

# Update the scale set and detach the disk from the VM instances
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

In alternativa, se si vuole rimuovere un disco dati in una singola istanza di un set di scalabilità, usare Remove-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "c91dfbd9"
Remove-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -Lun 2
Update-AzVmssVM -VirtualMachineScaleSetVM -VM $VirtualMachine

Pulire le risorse

Per rimuovere il set di scalabilità e i dischi, eliminare il gruppo di risorse e tutte le relative risorse con Remove-AzResourceGroup. Il parametro -Force conferma che si desidera eliminare le risorse senza un prompt aggiuntivo a tale scopo. Il parametro -AsJob restituisce il controllo al prompt senza attendere il completamento dell'operazione.

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

Passaggi successivi

In questa esercitazione si è appreso come creare e usare dischi con i set di scalabilità con Azure PowerShell:

  • Dischi del sistema operativo e dischi temporanei
  • Dischi dati
  • Dischi Standard e Premium
  • Prestazioni dei dischi
  • Collegare e preparare i dischi dati

Passare all'esercitazione successiva per informazioni su come usare un'immagine personalizzata per le istanze di macchina virtuale del set di scalabilità.