Utilizzare i dischi ULTRASSD nelle macchine virtuali in Azure (preview)
Gli Azure UltraSSD disk, attualmente in preview, sono dischi che permettono di avere un throughput ed un numero di IOPS superiori rispetto all’offerta di dischi SSD che oggi sono disponibili per le macchine virtuali.
Attualmente le prestazioni di questi dischi sono le migliori offerte dal mercato del cloud pubblico e sono decisamente interessanti per far girare dei workload pesanti come ad esempio database che fanno molte transazioni.
Per poter testare queste dischi è necessario prima di tutto richiedere l’accesso alla preview utilizzando l’apposito modulo. Una volta ottenuta l’abilitazione all’utilizzo vi verranno indicate tutte le procedure per l’implementazione.
La preview permette di utilizzare i dischi solo per le macchine virtuali create in East US 2 ed in una determinata zona di disponibilità (Availability Zone) che vi verrà assegnata.
Limiti della preview
Durante la preview ci sono dei limiti nell’utilizzo di questa funzionalità:
- Sono supportati solo in East US 2 e in un’unica zona di disponibilità.
- Possono essere utilizzati solo con zone di disponibilità (i set di disponibilità e le singole installazioni di VM al di fuori delle zone non avranno la possibilità di collegare un disco UltraSSD).
- Sono supportati solo su macchine virtuali delle serie Dsv3 / Esv3.
- Sono disponibili solo come dischi di dati.
- Possono essere creati solo come dischi vuoti.
- Attualmente possono essere distribuiti solo utilizzando i modelli di Azure Resource Manager, CLI e PowerShell.
- Non supportano ancora l’integrazione con Azure Backup o Azure Site Recovery.
Quando create un disco UltraSSD potete configurare la sua capacità e le sue performance in maniera indipendente. In più questi parametri possono essere modificati a macchina accesa!
Nella tabella sotto vi riporto alcune caratteristiche dei dischi:
Disk Size (GiB) | IOPS | Throughput (MBps) |
4 | 1200 | 300 |
8 | 2400 | 600 |
16 | 4800 | 1200 |
32 | 9600 | 2000 |
64 | 19200 | 2000 |
128 | 38400 | 2000 |
256 | 76800 | 2000 |
512 | 80000 | 2000 |
1,024-65,536 (incremento di 1 TiB) | 160000 | 2000 |
Dopo aver ricevuto l’abilitazione all’utilizzo dei dischi UltraSSD in preview, è necessario verificare in quale zona di disponibilità (Availability Zone) vi è stato concesso l’accesso. Per poterlo fare è necessario utilizzare il comando PowerShell
1 |
Get-AzureRmComputeResourceSku | where {$_.ResourceType -eq "disks" -and $_.Name -eq "UltraSSD_LRS" -and $_.LocationInfo.Location -eq "eastus2"} |
oppure con il comando CLI
1 |
az vm list-skus --resource-type disks --query "[?name=='UltraSSD_LRS'].locationInfo[0][?location=='eastus2']" |
Figura 1: Verifica della zona di disponibilità in cui vi sono stati abilitati di dischi UltraSSD in preview
È possibile invece verificare se la vostra sottoscrizione sia abilitata per le zone di disponibilità (Availability Zone) con il comando PowerShell
1 |
Get-AzureRMProviderFeature |
oppure con il comando CLI
1 2 3 4 5 6 7 8 9 |
az feature show --namespace Microsoft.Resources --name AvailabilityZones { "id": "/subscriptions/XX/providers/Microsoft.Features/providers/Microsoft.Resources/features/AvailabilityZones", "name": "Microsoft.Resources/AvailabilityZones", "properties": { "state": "Registered" }, "type": "Microsoft.Features/providers/features" } |
Il risultato dovrebbe essere quello mostrato in figura sotto:
Figura 2: Verifica che i corretti Azure Provider siano registrati per la sottoscrizione
Nel caso in cui gli Azure Provider corretti non risultino registrati sarà necessario lanciare i seguenti comandi PowerShell
1 2 |
Register-AzureRmProviderFeature -FeatureName AvailabilityZones -ProviderNamespace Microsoft.Resources Register-AzureRmResourceProvider -ProviderNamespace Microsoft.Resources |
oppure con i comandi CLI
1 2 |
az feature register --namespace Microsoft.Resources --name AvailabilityZones az provider register -n Microsoft.Resources |
Creazione di una macchina virtuale dotata di dischi UltraSSD
Come abbiamo già detto, durante la preview le uniche macchine virtuali che è possibile dotare di dischi UltraSDD (solo come disco dati e non come disco del sistema operativo) sono le macchine della serie Dsv3 / Esv3.
Il metodo più comodo e veloce per la creazione della VM con dischi UltraSSD è quello di utilizzare un Azure Resource Manager Template, che potete trovare al link https://aka.ms/UltraSSDTemplate
Poiché il template potrebbe tornarvi utile, vi consiglio di salvarlo in modo tale da portelo riutilizzare direttamente da portale di Azure.
Collegatevi al portale di Azure e da All Services scegliete la voce Templates. Date un nome ed una descrizione al template e nel passaggio successivo incollate il codice contenuto al link https://aka.ms/UltraSSDTemplate
Figura 3: Aggiunta di un nuovo Azure Resource Manager Template
Figura 4: Creazione del template con il codice contenuto al link https://aka.ms/UltraSSDTemplate
Figura 5: Il template è stato salvato e sarà riutilizzabile con comodità dal portale di Azure
Una volta che avrete salvato il template lo potrete riutilizzare tutte le volte che volete. Cliccate sul nome del template e compilate i campi come richiesto. Nella figura sotto vi riporto un esempio di macchina che ho realizzato.
Figura 6: Utilizzo del template pe la creazione della VM con dischi UltraSSD
Creazione di una VM con dischi UltraSSD utilizzando Powershell
È possibile creare una macchina con dischi dati UltraSSD anche utilizzando PowerShell. Procedete alla creazione della macchina virtuale utilizzando il comando:
1 |
New-AzVm -ResourceGroupName "nome del resource group" -Name "nome della VM" -Location "eastus2" -Image "Win2016Datacenter" -EnableUltraSSD -size "Standard_E8s_v3" -zone "numero della zone che vi è stato assegnato" |
Adesso che avete creato una VM capace di utilizzare i dischi UltraSSD potete creare il disco aggiuntivo UltraSSD utilizzando il comando:
1 2 3 |
$diskconfig = New-AzDiskConfig -Location 'EastUS2' -DiskSizeGB 256 -DiskIOPSReadWrite 1000 -DiskMBpsReadWrite 100 -AccountType UltraSSD_LRS -CreateOption Empty -Zone "numero della zone che vi è stato assegnato" New-AzDisk -ResourceGroupName "nome del resource group" -DiskName 'Disk02' -Disk $diskconfig |
Figura 7: Creazione del disco UltraSSD utilizzando PowerShell
Potete visualizzare il disco creato utilizzando il portale di Azure, scegliendo da All Services la voce Disks
Figura 8: Il disco UltraSSD creato è visibile nel portale di Azure
Per collegare il disco UltraSSD alla VM che avete creato potete utilizzare i seguenti comandi PowerShell
1 2 3 |
$vm = Get-AzVM -Name "nome della VM" -ResourceGroupName "nome del resource group" $vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1 Update-AzVM -VM "nome della VM" -ResourceGroupName "nome del resource group" |
In alternativa vi potete servire del portale di Azure per creare la macchina virtuale e dopo aver creato il disco, per agganciare il disco creato alla VM, come mostrato nella figura sotto:
Figura 9: Creazione della VM dal portale
Figura 10: Abilitazione della funzionalità di utilizzo dei dischi UltraSSD effettuata dal portale
Figura 11: Collegamento del disco UltraSSD (precedentemente creato) alla macchina virtuale
All’interno della VM il disco sarà visibile e potrà essere inizializzato e formattato, come mostrato nelle figure sotto:
Figura 12: Inizializzazione del disco UltraSSD aggiunto alla Vm
Figura 13: Il disco è stato formattato ed è pronto per essere utilizzato
Modifica delle performance dei dischi UltraSSD
Una caratteristica interessante dei dischi UltraSSD è quella di poter modificare dinamicamente le proprie performance (disk IOPS e disk throughput) senza la necessità di riavviare la macchina virtuale. Per farlo vi basterà utilizzare il comando PowerShell
1 2 |
$diskupdateconfig = New-AzDiskUpdateConfig -DiskMBpsReadWrite 2000 Update-AzDisk -ResourceGroupName "nome del resource group" -DiskName "nome del disco" -DiskUpdate $diskupdateconfig |
oppure utilizzare il comando CLI
1 |
az disk update --subscription "nome della sottoscrizione" --resource-group "nome del resource group" --name "nome del disco" --set diskIopsReadWrite=80000 --set diskMbpsReadWrite=800 |
Conclusioni
I dischi UltraSSD permettono di avere macchine virtuali con storage a bassissima latenza e con un altissimo numero di IOPS. Il throughput elevato permette di poter avere delle macchine con performance adatti a workload intensivi come SAP HANA o database top tier. Per approfondimenti vi rimando al link https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-enable-ultra-ssd