Esercitazione: gestire i dischi di Azure con l'interfaccia della riga di comando di Azure
Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili
Le macchine virtuali (VM) di Azure usano dischi per archiviare sistema operativo, applicazioni e dati. Quando si crea una VM, è importante scegliere dimensioni del disco e configurazione appropriate per il carico di lavoro previsto. Questa esercitazione illustra come distribuire e gestire i dischi delle macchine virtuali. Vengono fornite informazioni su:
- Dischi del sistema operativo e dischi temporanei
- Dischi dati
- Dischi Standard e Premium
- Prestazioni dei dischi
- Collegamento e preparazione dei dischi dati
- Snapshot dei dischi
Dischi di Azure predefiniti
Quando viene creata una macchina virtuale di Azure, due dischi vengono automaticamente collegati alla macchina virtuale.
Disco del sistema operativo: i dischi del sistema operativo possono essere ridimensionati fino a 2 terabyte e ospitano il sistema operativo delle macchine virtuali. 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 essere usato per applicazioni o dati. Per le applicazioni e i dati, usare un disco dati, descritto in dettaglio più avanti in questa esercitazione.
Disco temporaneo: i dischi temporanei usano un'unità SSD che si trova nello stesso host della macchina virtuale di Azure. I dischi temporanei sono altamente efficienti e possono essere usati per operazioni quali l'elaborazione dei dati temporanei. Tuttavia, se la macchina virtuale viene spostata in un nuovo host, tutti i dati memorizzati su un disco temporaneo vengono rimossi. Le dimensioni del disco temporaneo sono determinate dalle dimensioni della macchina virtuale. I dischi temporanei vengono etichettati come /dev/sdb e hanno un punto di montaggio /mnt.
Dischi dati di Azure
Per installare applicazioni e archiviare dati è possibile aggiungere altri dischi dati. I dischi dati devono essere usati in qualsiasi situazione in cui si desidera un'archiviazione dei dati durevoli e reattiva. Le dimensione della macchina virtuale determinano il numero di dischi dati possono essere collegati a una macchina virtuale.
Tipi di dischi per la VM
Azure offre due tipi di dischi.
Dischi Standard: sono supportati da unità disco rigido e offrono un'archiviazione conveniente con buone prestazioni. I dischi standard sono ideali per un carico di lavoro di sviluppo e test con costi contenuti.
Dischi Premium: sono supportati da un disco a bassa latenza e ad alte prestazioni basato su unità SSD. Ideali per le macchine virtuali che eseguono un carico di lavoro di produzione. Le dimensioni di macchina virtuale che contengono la lettera S nel nome delle dimensioni in genere supportano Archiviazione Premium. Le macchine virtuali di Azure serie DS, DSv2 e GS e FS, ad esempio, supportano Archiviazione Premium. Quando si selezionano le dimensioni del disco, il valore viene arrotondato per eccesso al tipo successivo. Ad esempio, se le dimensioni del disco superano i 64 GB ma sono inferiori a 128 GB, il tipo di disco è P10.
Dimensioni SSD Premium | P1 | P2 | P3 | P4 | P6 | P10 | P15 | P20 | P30 | P40 | P50 | P60 | P70 | P80 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dimensioni disco in GiB | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1.024 | 2.048 | 4.096 | 8,192 | 16,384 | 32.767 |
Operazioni di I/O al secondo con provisioning di base per disco | 120 | 120 | 120 | 120 | 240 | 500 | 1.100 | 2.300 | 5,000 | 7.500 | 7.500 | 16.000 | 18.000 | 20.000 |
**Operazioni di I/O al secondo con provisioning espanso per disco | N/D | N/D | N/D | N/D | N/D | N/D | N/D | N/D | 8.000 | 16.000 | 20.000 | 20.000 | 20.000 | 20.000 |
Velocità effettiva con provisioning di base per disco | 25 MB/s | 25 MB/s | 25 MB/s | 25 MB/s | 50 MB/s | 100 MB/s | 125 MB/s | 150 MB/s | 200 MB/s | 250 MB/s | 250 MB/s | 500 MB/s | 750 MB/s | 900 MB/s |
**Velocità effettiva con provisioning espanso per disco | N/D | N/D | N/D | N/D | N/D | N/D | N/D | N/D | 300 MB/s | 600 MB/s | 900 MB/s | 900 MB/s | 900 MB/s | 900 MB/s |
Numero massimo di operazioni di I/O al secondo in modalità burst per disco | 3.500 | 3.500 | 3.500 | 3.500 | 3.500 | 3.500 | 3.500 | 3.500 | 30.000* | 30.000* | 30.000* | 30.000* | 30.000* | 30.000* |
Velocità effettiva massima in modalità burst per disco | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 1.000 MB/s* | 1.000 MB/s* | 1.000 MB/s* | 1.000 MB/s* | 1.000 MB/s* | 1.000 MB/s* |
Durata massima in modalità burst | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | Nessun limite* | Nessun limite* | Nessun limite* | Nessun limite* | Nessun limite* | Nessun limite* |
Idoneo per la prenotazione | No | No | No | No | No | No | No | No | Sì, fino a un anno | Sì, fino a un anno | Sì, fino a un anno | Sì, fino a un anno | Sì, fino a un anno | Sì, fino a un anno |
*Si applica solo ai dischi con bursting on demand abilitato.
**Si applica solo ai dischi con performance plus (anteprima) abilitate.
Quando si effettua il provisioning di un disco di archiviazione Premium, a differenza di Archiviazione Standard, vengono garantiti livelli di capacità, IOPS e velocità effettiva del disco. Se ad esempio si crea un disco P50, Azure effettua il provisioning di 4.095 GB di capacità di archiviazione, 7.500 IOPS e 250 MB/s di velocità effettiva per tale disco. L'applicazione può usare la totalità o una della capacità e delle prestazioni. I dischi SSD Premium sono progettati per offrire basse latenze di pochissimi millisecondi, nonché il numero di operazioni di I/O al secondo e la velocità effettiva di destinazione descritti nella tabella precedente per il 99,9% del tempo.
Sebbene la tabella sopra riportata identifichi il numero massimo di operazioni di I/O al secondo per disco, è possibile raggiungere un livello superiore di prestazioni tramite lo striping di più dischi di dati. Ad esempio, è possibile collegare 64 dati dischi alla macchina virtuale Standard_GS5. Se ognuno di questi dischi viene ridimensionato come un P30, è possibile ottenere un massimo di 80.000 operazioni di I/O al secondo. Per informazioni dettagliate sul numero massimo di operazioni di I/O al secondo per macchina virtuale, vedere Tipi e dimensioni delle macchine virtuali.
Avviare Azure Cloud Shell
Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.
Per aprire Cloud Shell, selezionare Prova nell'angolo in alto a destra di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com/powershell. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.
Creare e collegare dischi
I dischi dati possono essere creati e collegati al momento della creazione della macchina virtuale o a una macchina virtuale esistente.
Collegare un disco al momento della creazione della macchina virtuale
Creare un gruppo di risorse con il comando az group create.
az group create --name myResourceGroupDisk --location eastus
Creare una VM con il comando az vm create. L'esempio seguente crea una macchina virtuale denominata myVM, aggiunge un account utente denominato azureuser e genera le chiavi SSH, se non esistono già. L'argomento --datadisk-sizes-gb
viene usato per specificare che è necessario creare un disco aggiuntivo e collegarlo alla macchina virtuale. Per creare e collegare più dischi, usare un elenco delimitato da spazio dei valori delle dimensioni del disco. Nell'esempio seguente viene creata una macchina virtuale con due dischi di dati, entrambi di 128 GB. Poiché le dimensioni dei dischi sono 128 GB, entrambi i dischi sono configurati come P10, il che garantisce un massimo di 500 operazioni di I/O al secondo per disco.
az vm create \
--resource-group myResourceGroupDisk \
--name myVM \
--image Ubuntu2204 \
--size Standard_DS2_v2 \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 128 128
Collegare un disco alla macchina virtuale esistente
Per creare e collegare un nuovo disco a una macchina virtuale esistente, usare il comando az vm disk attach. Nell'esempio seguente viene creato un disco premium, di 128 gigabyte, che viene collegato alla macchina virtuale creata nel passaggio precedente.
az vm disk attach \
--resource-group myResourceGroupDisk \
--vm-name myVM \
--name myDataDisk \
--size-gb 128 \
--sku Premium_LRS \
--new
Preparare i dischi di dati
Dopo aver collegato un disco alla macchina virtuale, il sistema operativo deve essere configurato per l'uso del disco. L'esempio seguente illustra come configurare manualmente un disco. È anche possibile automatizzare questo processo puòcon cloud-init, di cui si parlerà nell'esercitazione successiva.
Creare una connessione SSH alla macchina virtuale. Sostituire l'indirizzo IP di esempio con l'indirizzo IP pubblico della macchina virtuale.
ssh azureuser@10.101.10.10
Eseguire la partizione del disco con parted
.
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
Scrivere un file system nella partizione con il comando mkfs
. Usare partprobe
per fare in modo che il sistema operativo riconosca la modifica.
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1
Montare il nuovo disco in modo che sia accessibile nel sistema operativo.
sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive
È possibile ora accedere al disco tramite il punto di montaggio /datadrive
, che è possibile verificare eseguendo il comando df -h
.
df -h | grep -i "sd"
L'output mostra la nuova unità montata su /datadrive
.
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 2.0G 27G 7% /
/dev/sda15 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 14G 41M 13G 1% /mnt
/dev/sdc1 50G 52M 47G 1% /datadrive
Per assicurarsi che l'unità venga rimontata dopo un riavvio, è necessario aggiungerla al file /etc/fstab. A tale scopo, ottenere l'UUID del disco con l'utilità blkid
.
sudo -i blkid
L'output mostra l'UUID dell'unità, /dev/sdc1
in questo caso.
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs"
Nota
Se il file /etc/fstab non viene modificato in modo corretto, il sistema potrebbe diventare non avviabile. In caso di dubbi, fare riferimento alla documentazione della distribuzione per informazioni su come modificare correttamente questo file. È inoltre consigliabile creare una copia di backup del file /etc/fstab prima della modifica.
Aprire il file /etc/fstab
in un editor di testo, come segue:
sudo nano /etc/fstab
Aggiungere una riga simile alla seguente al file /etc/fstab, sostituendo il valore UUID con quello personale.
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2
Dopo aver completato la modifica del file, usare Ctrl+O
per scrivere il file e Ctrl+X
per uscire dall'editor.
Ora che il disco è stato configurato, chiudere la sessione SSH.
exit
Acquisire uno snapshot del disco
Quando si crea uno snapshot del disco, Azure crea una copia temporizzata di sola lettura del disco. Gli snapshot della macchina virtuale di Azure sono utili per salvare rapidamente lo stato di una macchina virtuale prima di apportare modifiche alla configurazione. In caso di problemi o errori, è possibile ripristinare la macchina virtuale usando uno snapshot. Quando una macchina virtuale dispone di più dischi, viene acquisito uno snapshot per ciascun disco separatamente dagli altri dischi. Per eseguire backup coerenti con l'applicazione, prendere in considerazione l'arresto della macchina virtuale prima di eseguire gli snapshot dei dischi. In alternativa, usare il Servizio Backup di Microsoft Azure, che consente di eseguire backup automatici, mentre la macchina virtuale è in esecuzione.
Crea snapshot
Prima di creare uno snapshot, è necessario l'ID o il nome del disco. Usare az vm show per visualizzare l'ID disco. In questo esempio l'ID del disco viene archiviato in una variabile in modo da poter essere usato in un passaggio successivo.
osdiskid=$(az vm show \
-g myResourceGroupDisk \
-n myVM \
--query "storageProfile.osDisk.managedDisk.id" \
-o tsv)
Ora che l'ID è disponibile, usare az snapshot create per creare uno snapshot del disco.
az snapshot create \
--resource-group myResourceGroupDisk \
--source "$osdiskid" \
--name osDisk-backup
Creare un disco da uno snapshot
È quindi possibile usare az disk create per convertire lo snapshot in un disco, che può essere usato per ricreare la macchina virtuale.
az disk create \
--resource-group myResourceGroupDisk \
--name mySnapshotDisk \
--source osDisk-backup
Ripristinare una macchina virtuale da uno snapshot
Per illustrare il ripristino della macchina virtuale, usare az vm delete per eliminare la macchina virtuale esistente.
az vm delete \
--resource-group myResourceGroupDisk \
--name myVM
Creare una nuova macchina virtuale dal disco dello snapshot.
az vm create \
--resource-group myResourceGroupDisk \
--name myVM \
--attach-os-disk mySnapshotDisk \
--os-type linux
Ricollegare un disco dati
È necessario ricollegare tutti i dischi dati alla macchina virtuale.
Usare il comando az disk list per trovare il nome del disco dati. L'esempio inserisce il nome del disco in una variabile denominata datadisk
, che viene usata nel passaggio successivo.
datadisk=$(az disk list \
-g myResourceGroupDisk \
--query "[?contains(name,'myVM')].[id]" \
-o tsv)
Usare il comando az vm disk attach per collegare il disco.
az vm disk attach \
–g myResourceGroupDisk \
--vm-name myVM \
--name $datadisk
Passaggi successivi
In questa esercitazione sono stati descritti argomenti relativi ai dischi delle VM, ad esempio:
- Dischi del sistema operativo e dischi temporanei
- Dischi dati
- Dischi Standard e Premium
- Prestazioni dei dischi
- Collegamento e preparazione dei dischi dati
- Snapshot dei dischi
Passare all'esercitazione successiva per informazioni sull'automazione della configurazione delle macchine virtuali.