Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili
Questo articolo illustra come collegare dischi nuovi ed esistenti a una macchina virtuale Linux tramite il portale di Azure. È anche possibile collegare un disco dati a una macchina virtuale Windows nel portale di Azure.
Trovare la macchina virtuale Linux nel portale di Azure
Seguire questa procedura:
Passare al portale di Azure per trovare la macchina virtuale. Cercare e selezionare Macchine virtuali.
Selezionare la macchina virtuale a cui si vuole collegare il disco dall'elenco.
Nella pagina Macchine virtuali , in Impostazioni, selezionare Dischi.
Collegare un nuovo disco dati gestito nel portale di Azure
Seguire questa procedura:
Nel riquadro Dischi selezionare Crea e collega un nuovo disco in Dischi dati.
Immettere un nome per il disco gestito. Esaminare le impostazioni predefinite e aggiornare il tipo di archiviazione, le dimensioni (GiB),la crittografia e la memorizzazione nella cache dell'host in base alle esigenze.
Al termine, selezionare Salva nella parte superiore della pagina per creare il disco gestito e aggiornare la configurazione della macchina virtuale.
Collegare un disco dati gestito esistente nel portale di Azure
Seguire questa procedura:
Nel riquadro Dischi selezionare Collega dischi esistenti in Dischi dati.
Selezionare il menu a discesa per Nome disco e selezionare un disco dall'elenco dei dischi gestiti disponibili.
Selezionare Salva per collegare il disco gestito esistente e aggiornare la configurazione della macchina virtuale.
Connettersi alla macchina virtuale Linux per montare il nuovo disco
È necessario SSH nella macchina virtuale per partizionare, formattare e montare il nuovo disco in modo che la macchina virtuale di Linux possa usarlo. Per altre informazioni, vedere How to use SSH with Linux on Azure (Come usare SSH con Linux in Azure). L'esempio seguente si connette a una macchina virtuale con l'indirizzo IP pubblico 10.123.123.25 con il nome utente azureuser:
ssh azureuser@10.123.123.25
Trovare il disco dati collegato in Linux
Azure macchine virtuali Linux possono esporre dischi gestiti tramite controller SCSI o NVMe. Selezionare il tipo di controller usato dalla macchina virtuale. Per informazioni dettagliate sui tipi di controller, vedere Conversione da SCSI a NVMe.
Usare lsblk per elencare i dischi in una macchina virtuale con un controller SCSI:
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
L'output è simile all'esempio seguente:
sda 0:0:0:0 30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G
In questo esempio il disco aggiunto è sdc. Usa LUN 0 e ha una capacità di 4 GiB.
Per un esempio più complesso, ecco l'aspetto di più dischi dati nel portale:
Nell'immagine è possibile visualizzare tre dischi dati: 4 GiB nel LUN 0, 16 GiB nel LUN 1 e 32 GiB nel LUN 2.
Dall'output di lsblkè possibile notare che il disco da 4 GiB al LUN 0 è sdc, il disco da 16 GiB in LUN 1 è sdde il disco da 32 GiB al LUN 2 è sde.
sda 0:0:0:0 30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G
sdd 3:0:0:1 16G
sde 3:0:0:2 32G
Preparare un nuovo disco dati vuoto in Linux
Importante
Se si usa un disco esistente che contiene dati, passare al montaggio del disco. Le istruzioni seguenti eliminano i dati sul disco. Verificare di aver identificato il disco corretto prima di formattarlo.
Se si collega un nuovo disco, è necessario partizionare il disco.
Usare l'utilità parted per partizionare un disco dati e mkfs.xfs formattare la partizione con il file system XFS.
- Usare la versione più recente di
parteddisponibile per la distribuzione. - Se le dimensioni del disco sono pari a 2 tebibyte (TiB) o superiori, è necessario usare il partizionamento GPT. Se la dimensione del disco è inferiore a 2 TiB, è possibile usare il partizionamento MBR o GPT.
Nell'esempio seguente viene parted usato in /dev/sdc, dove il primo disco dati si trova in genere nella maggior parte delle macchine virtuali. Sostituire sdc con l'opzione corretta per il disco. L'esempio formatta la partizione usando il file system XFS .
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo partprobe /dev/sdc
sudo mkfs.xfs /dev/sdc1
Usare l'utilità partprobe per assicurarsi che il kernel riconosca la nuova tabella di partizione. Se non si usa partprobe, i blkid comandi o lsblk potrebbero non restituire immediatamente l'UUID per il nuovo file system.
Montare il disco dati in Linux
Creare una directory per montare il file system usando mkdir:
sudo mkdir /datadrive
Usare mount per montare il file system.
Sostituire /dev/sdc1 con la partizione per il disco dati identificato nella macchina virtuale con un controller SCSI.
sudo mount /dev/sdc1 /datadrive
Aggiungere l'unità al file /etc/fstab per assicurarsi che l'unità venga aggiunta automaticamente dopo un riavvio.
Assicurarsi che l'UUID (Universally Unique Identifier) venga usato in /etc/fstab per fare riferimento all'unità anziché a un nome di dispositivo, ad esempio /dev/sdc1 o /dev/nvme0n2p1. Se il sistema operativo rileva un errore del disco durante l'avvio, l'uso di UUID evita che venga montato il disco non corretto in una posizione specifica. Ai dischi dati rimanenti verrebbero quindi assegnati gli stessi ID di dispositivo. Per trovare l'UUID della nuova unità, usare l'utilità blkid .
sudo blkid
L'output seguente proviene da una macchina virtuale con un controller SCSI. In una macchina virtuale con un controller NVMe, la partizione del disco dati gestito viene visualizzata come percorso NVMe, ad esempio /dev/nvme0n2p1 anziché /dev/sdc1.
/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a"
/dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" PARTUUID="1a2b3c4d-01"
/dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"
Configurare il montaggio automatico in /etc/fstab
Note
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. È necessario creare un backup del file /etc/fstab prima della modifica.
Aprire quindi il file /etc/fstab in un editor di testo. Aggiungere una riga alla fine del file, usando il valore UUID per la partizione creata nei passaggi precedenti e il punto di montaggio di /datadrive. Se è stato usato l'esempio di questo articolo, la nuova riga sarà simile all'esempio seguente.
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2
Al termine della modifica del file, salvare e chiudere l'editor.
Note
La rimozione successiva di un disco dati senza modificare fstab potrebbe causare il mancato avvio della macchina virtuale. La maggior parte delle distribuzioni specifica le opzioni fstab nofail e/o nobootwait. Queste opzioni consentono l'avvio di un sistema anche se il disco non riesce a montare in fase di avvio. Per altre informazioni su questi parametri, consultare la documentazione della distribuzione.
L'opzione nofail garantisce l'avvio della macchina virtuale anche se il file system è danneggiato o il disco non esiste in fase di avvio. Senza questa opzione, è possibile che si verifichi un comportamento come descritto in Cannot SSH to Linux VM due to FSTAB errors (Non è possibile connettersi tramite SSH a una macchina virtuale Linux a causa di errori FSTAB)
Verificare il disco dati montato in Linux
Usare lsblk di nuovo per verificare che il disco dati sia montato in /datadrive.
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
sda 0:0:0:0 30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G
└─sdc1 4G /datadrive
Supporto TRIM/UNMAP per Linux in Azure
Alcuni kernel Linux supportano operazioni TRIM/UNMAP per eliminare i blocchi inutilizzati sul disco. Questa funzionalità è utile principalmente per informare Azure che le pagine eliminate non sono più valide e possono essere rimosse. Questa funzionalità consente di risparmiare sui dischi fatturati in base alla quantità di spazio di archiviazione utilizzata, ad esempio dischi standard non gestiti e snapshot del disco.
Esistono due modi per abilitare la funzione TRIM in una VM Linux. Come di consueto, consultare la propria distribuzione per ottenere l'approccio consigliato.
Usare l'opzione
discarddi montaggio in /etc/fstab, ad esempio:UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,discard 1 2In alcuni casi l'opzione
discardpuò avere implicazioni sulle prestazioni. In alternativa, è possibile eseguire il comandofstrimmanualmente dalla riga di comando oppure aggiungerlo a crontab per eseguirlo a intervalli regolari:Ubuntu
sudo apt-get install util-linux sudo fstrim /datadriveRHEL
sudo yum install util-linux sudo fstrim /datadriveSUSE
sudo zypper install util-linux sudo fstrim /datadrive