Come ridimensionare i dispositivi logici di gestione dei volumi che usano Crittografia dischi di Azure
Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili
Questo articolo illustra come ridimensionare i dischi dati che usano Crittografia dischi di Azure. Per ridimensionare i dischi, si userà la gestione logica dei volumi (LVM) in Linux. I passaggi si applicano a più scenari.
È possibile usare questo processo di ridimensionamento negli ambienti seguenti:
- Distribuzioni Linux:
- Red Hat Enterprise Linux (RHEL) 7 o versioni successive
- Ubuntu 18.04 o versioni successive
- SUSE 12 o versione successiva
- Versioni di Crittografia dischi di Azure:
- Estensione a passaggio singolo
- Estensione a doppio passaggio
Prerequisiti
Questo articolo presuppone che l'utente abbia:
Una configurazione LVM esistente. Per ulteriori informazioni, vedere Configurare LVM in una macchina virtuale Linux.
Dischi già crittografati da Crittografia dischi di Azure. Per altre informazioni, vedere Configurare LVM e RAID nei dispositivi crittografati.
Esperienza con Linux e LVM.
Esperienza nell'uso di percorsi /dev/disk/scsi1/ per i dischi dati in Azure. Per altre informazioni, vedere Risolvere i problemi relativi al nome del dispositivo della macchina virtuale Linux.
Scenari
Le procedure descritte in questo articolo si applicano agli scenari seguenti:
- Configurazioni LVM e LVM-on-crypt tradizionali
- Crittografia LVM tradizionale
- LVM-on-crypt
- Solo dischi dati. Il ridimensionamento del disco del sistema operativo non è supportato.
Configurazioni LVM e LVM-on-crypt tradizionali
Le configurazioni LVM e LVM-on-crypt tradizionali estendono un volume logico (LV) quando il gruppo di volumi (VG) ha spazio disponibile.
Crittografia LVM tradizionale
Nella crittografia LVM tradizionale, i LV vengono crittografati. L'intero disco non è crittografato.
Usando la crittografia LVM tradizionale, è possibile:
- Estendere l'LV quando si aggiunge un nuovo volume fisico (PV).
- Estendere l'LV quando si ridimensiona un PV esistente.
LVM-on-crypt
Il metodo consigliato per la crittografia del disco è LVM-on-encrypt. Questo metodo crittografa l'intero disco, non solo l'LV.
Usando LVM-on-crypt, è possibile:
- Estendere l'LV quando si aggiunge un nuovo PV.
- Estendere l'LV quando si ridimensiona un PV esistente.
Nota
Non è consigliabile combinare la crittografia LVM tradizionale e LVM-on-crypt nella stessa macchina virtuale.
Le sezioni seguenti forniscono esempi di come usare LVM e LVM-on-crypt. Negli esempi vengono usati valori preesistenti per dischi, VV, VG, LV, file system, identificatori univoci universalmente (UUID) e punti di montaggio. Sostituire questi valori con i propri valori per adattarsi all'ambiente.
Estendere una LV quando il VG ha spazio disponibile
Il modo tradizionale per ridimensionare gli LV consiste nell'estendere un LV quando il VG ha spazio disponibile. È possibile usare questo metodo per i dischi non crittografati, i volumi LVM-encrypted tradizionali e le configurazioni LVM-on-crypt.
Verificare le dimensioni correnti del file system da aumentare:
df -h /mountpoint
Verificare che il VG disponga di spazio sufficiente per aumentare l'LV:
sudo vgs
È anche possibile usare
vgdisplay
:sudo vgdisplay vgname
Identificare l'LV da ridimensionare:
sudo lsblk
Per LVM-on-crypt, la differenza è che questo output indica che il livello crittografato è a livello di disco.
Controllare le dimensioni dell'LV:
sudo lvdisplay lvname
Aumentare le dimensioni dell'LV usando
-r
per ridimensionare il file system online:sudo lvextend -r -L +2G /dev/vgname/lvname
Verificare le nuove dimensioni per LV e il file system:
df -h /mountpoint
L'output delle dimensioni indica che l'LV e il file system sono stati ridimensionati correttamente.
È possibile controllare di nuovo le informazioni sull'LV per confermare le modifiche a livello di LV:
sudo lvdisplay lvname
Estendere un volume LVM tradizionale aggiungendo un nuovo PV
Quando è necessario aggiungere un nuovo disco per aumentare le dimensioni del VG, estendere il volume LVM tradizionale aggiungendo un nuovo PV.
Verificare le dimensioni correnti del file system da aumentare:
df -h /mountpoint
Verificare la configurazione PV corrente:
sudo pvs
Controllare le informazioni correnti del gruppo di disponibilità virtuale:
sudo vgs
Controllare l'elenco dei dischi corrente. Identificare i dischi dati controllando i dispositivi in /dev/disk/azure/scsi1/.
sudo ls -l /dev/disk/azure/scsi1/
Controllare l'output di
lsblk
:sudo lsbk
Collegare il nuovo disco alla macchina virtuale seguendo le istruzioni riportate in Collegare un disco dati a una macchina virtuale Linux.
Controllare l'elenco dei dischi e notare il nuovo disco.
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk
Creare un nuovo PV sopra il nuovo disco dati:
sudo pvcreate /dev/newdisk
Questo metodo usa l'intero disco come PV senza una partizione. In alternativa, è possibile usare
fdisk
per creare una partizione e quindi usare tale partizione perpvcreate
.Verificare che il PV sia stato aggiunto all'elenco PV:
sudo pvs
Estendere il VG aggiungendo il nuovo PV a esso:
sudo vgextend vgname /dev/newdisk
Controllare le nuove dimensioni del VG:
sudo vgs
Usare
lsblk
per identificare l'LV che deve essere ridimensionato:sudo lsblk
Estendere le dimensioni LV usando
-r
per aumentare il file system online:sudo lvextend -r -L +2G /dev/vgname/lvname
Verificare le nuove dimensioni dell'LV e del file system:
df -h /mountpoint
Importante
Quando Crittografia dati di Azure viene usata nelle configurazioni LVM tradizionali, il livello crittografato viene creato a livello LV, non a livello di disco.
A questo punto, il livello crittografato viene espanso nel nuovo disco. Il disco dati effettivo non ha impostazioni di crittografia a livello di piattaforma, quindi lo stato della crittografia non viene aggiornato.
Questi sono alcuni dei motivi per cui LVM-on-crypt è l'approccio consigliato.
Controllare le informazioni di crittografia dal portale:
Per aggiornare le impostazioni di crittografia sul disco, aggiungere un nuovo LV e abilitare l'estensione nella macchina virtuale.
Aggiungere un nuovo LV, crearvi un file system e aggiungerlo a
/etc/fstab
.Impostare di nuovo l'estensione di crittografia. Questa volta si stamperanno le impostazioni di crittografia nel nuovo disco dati a livello di piattaforma. Ecco un esempio dell'interfaccia della riga di comando:
az vm encryption enable -g ${RGNAME} --name ${VMNAME} --disk-encryption-keyvault "<your-unique-keyvault-name>"
Controllare le informazioni di crittografia dal portale:
Dopo aver aggiornato le impostazioni di crittografia, è possibile eliminare la nuova LV. Eliminare anche la voce da /etc/fstab
e /etc/crypttab
creati.
Per completare la pulizia, seguire questa procedura:
Smontare l'LV:
sudo umount /mountpoint
Chiudere il livello crittografato del volume:
sudo cryptsetup luksClose /dev/vgname/lvname
Eliminare l'LV:
sudo lvremove /dev/vgname/lvname
Estendere un volume LVM tradizionale ridimensionando un PV esistente
Alcuni scenari potrebbero richiedere il ridimensionamento di un disco esistente. In tal caso, eseguire la procedura seguente:
Identificare i dischi crittografati:
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk -fs
Controllare le informazioni sul PV:
sudo pvs
I risultati nell'immagine mostrano che tutti gli spazi su tutti i PV sono attualmente usati.
Controllare le informazioni del gruppo di disponibilità virtuale:
sudo vgs sudo vgdisplay -v vgname
Controllare le dimensioni del disco. È possibile usare
fdisk
olsblk
per elencare le dimensioni delle unità.for disk in `sudo ls -l /dev/disk/azure/scsi1/* | awk -F/ '{print $NF}'` ; do echo "sudo fdisk -l /dev/${disk} | grep ^Disk "; done | bash sudo lsblk -o "NAME,SIZE"
In questo esempio è stato identificato quali VV sono associati a quali LV usando
lsblk -fs
. È possibile identificare le associazioni eseguendolvdisplay
.sudo lvdisplay --maps VG/LV sudo lvdisplay --maps datavg/datalv1
In questo caso, tutte e quattro le unità dati fanno parte dello stesso VG e di una singola LV. La configurazione potrebbe essere diversa.
Controllare l'utilizzo corrente del file system:
df -h /datalvm*
Ridimensionare i dischi dati seguendo le istruzioni riportate in Espandere un disco gestito di Azure. È possibile usare il portale, l'interfaccia della riga di comando o PowerShell.
Importante
È possibile ridimensionare alcuni dischi dati in macchine virtuali Linux senza deallocare la macchina virtuale. Per verificare che i dischi siano conformi ai requisiti, vedere [Espandere i dischi rigidi virtuali in una macchina virtuale Linux](/azure/virtual-machines/linux/expand-disks? tabs=ubuntu#expand-an-azure-managed-disk).
Avviare la macchina virtuale e controllare le nuove dimensioni usando
fdisk
.for disk in `sudo ls -l /dev/disk/azure/scsi1/* | awk -F/ '{print $NF}'` ; do echo "sudo fdisk -l /dev/${disk} | grep ^Disk "; done | bash sudo lsblk -o "NAME,SIZE"
In questo caso,
/dev/sdd
è stato ridimensionato da 5 G a 20 G.Controllare le dimensioni PV correnti:
sudo pvdisplay /dev/resizeddisk
Anche se il disco è stato ridimensionato, il PV ha ancora le dimensioni precedenti.
Ridimensionare il PV:
sudo pvresize /dev/resizeddisk
Controllare le dimensioni del PV:
sudo pvdisplay /dev/resizeddisk
Applicare la stessa procedura per tutti i dischi da ridimensionare.
Controllare le informazioni del gruppo di disponibilità virtuale.
sudo vgdisplay vgname
Il VG ha ora spazio sufficiente per essere allocato ai LV.
Ridimensionare l'LV:
sudo lvresize -r -L +5G vgname/lvname sudo lvresize -r -l +100%FREE /dev/datavg/datalv01
Controllare le dimensioni del file system:
df -h /datalvm2
Estendere un volume LVM-on-crypt aggiungendo un nuovo PV
È anche possibile estendere un volume LVM-on-crypt aggiungendo un nuovo PV. Questo metodo segue attentamente i passaggi descritti in Configurare LVM e RAID nei dispositivi crittografati. Vedere le sezioni che illustrano come aggiungere un nuovo disco e configurarlo in una configurazione LVM-on-crypt.
È possibile usare questo metodo per aggiungere spazio a un LV esistente. In alternativa, è possibile creare nuovi VG o LV.
Verificare le dimensioni correnti del gruppo di sicurezza virtuale:
sudo vgdisplay vgname
Verificare le dimensioni del file system e dell'LV da espandere:
sudo lvdisplay /dev/vgname/lvname
df -h mountpoint
Aggiungere un nuovo disco dati alla macchina virtuale e identificarlo.
Prima di aggiungere il nuovo disco, controllare i dischi:
sudo fdisk -l | egrep ^"Disk /"
Ecco un altro modo per controllare i dischi prima di aggiungere il nuovo disco:
sudo lsblk
Per aggiungere il nuovo disco, è possibile usare PowerShell, l'interfaccia della riga di comando di Azure o il portale di Azure. Per altre informazioni, vedere Collegare un disco dati a una macchina virtuale Linux.
Lo schema dei nomi del kernel si applica al dispositivo appena aggiunto. Una nuova unità viene in genere assegnata alla lettera successiva disponibile. In questo caso, il disco aggiunto è
sdd
.Controllare i dischi per assicurarsi che il nuovo disco sia stato aggiunto:
sudo fdisk -l | egrep ^"Disk /"
sudo lsblk
Creare un file system sopra il disco aggiunto di recente. Associare il disco ai dispositivi collegati in
/dev/disk/azure/scsi1/
.sudo ls -la /dev/disk/azure/scsi1/
sudo mkfs.ext4 /dev/disk/azure/scsi1/${disk}
Creare un punto di montaggio temporaneo per il nuovo disco aggiunto:
newmount=/data4 sudo mkdir ${newmount}
Aggiungere il file system creato di recente a
/etc/fstab
.sudo blkid /dev/disk/azure/scsi1/lun4| awk -F\" '{print "UUID="$2" '${newmount}' "$4" defaults,nofail 0 0"}' >> /etc/fstab
Montare il file system appena creato:
sudo mount -a
Verificare che il nuovo file system sia montato:
df -h
sudo lsblk
Riavviare la crittografia avviata in precedenza per le unità dati.
Suggerimento
Per LVM-on-crypt, è consigliabile usare
EncryptFormatAll
. In caso contrario, è possibile che venga visualizzata una doppia crittografia durante l'impostazione di dischi aggiuntivi.Per altre informazioni, vedere Configurare LVM e RAID nei dispositivi crittografati.
Ecco un esempio:
az vm encryption enable \ --resource-group ${RGNAME} \ --name ${VMNAME} \ --disk-encryption-keyvault ${KEYVAULTNAME} \ --key-encryption-key ${KEYNAME} \ --key-encryption-keyvault ${KEYVAULTNAME} \ --volume-type "DATA" \ --encrypt-format-all \ -o table
Al termine della crittografia, viene visualizzato un livello di crittografia sul disco appena aggiunto:
sudo lsblk
Smontare il livello crittografato del nuovo disco:
sudo umount ${newmount}
Controllare le informazioni correnti sul PV:
sudo pvs
Creare un PV sopra il livello crittografato del disco. Prendere il nome del dispositivo dal comando
lsblk
precedente. Aggiungere un mapper/dev/
davanti al nome del dispositivo per creare il PV:sudo pvcreate /dev/mapper/mapperdevicename
Viene visualizzato un avviso relativo alla cancellazione della firma
ext4 fs
corrente. Si tratta di un comportamento previsto. Rispondere a questa domanda cony
.Verificare che il nuovo PV sia stato aggiunto alla configurazione LVM:
sudo pvs
Aggiungere il nuovo PV al VG che è necessario aumentare.
sudo vgextend vgname /dev/mapper/nameofhenewpv
Verificare le nuove dimensioni e lo spazio disponibile del VG:
sudo vgdisplay vgname
Si noti l'aumento del conteggio
Total PE
e diFree PE / Size
.Aumentare le dimensioni dell'LV e del file system. Usare l'opzione
-r
inlvextend
. In questo esempio si aggiunge lo spazio totale disponibile nel VG alla vista LV specificata.sudo lvextend -r -l +100%FREE /dev/vgname/lvname
Seguire i passaggi successivi per verificare le modifiche.
Verificare le dimensioni dell'LV:
sudo lvdisplay /dev/vgname/lvname
Verificare le nuove dimensioni del file system:
df -h /mountpoint
Verificare che il livello LVM si trova sopra il livello crittografato:
sudo lsblk
Se si usa
lsblk
senza opzioni, vengono visualizzati più volte i punti di montaggio. Il comando esegue l'ordinamento in base al dispositivo e agli LV.Potrebbe essere necessario usare
lsblk -fs
. In questo comando,-fs
inverte l'ordinamento in modo che i punti di montaggio vengano visualizzati una sola volta. I dischi vengono visualizzati più volte.sudo lsblk -fs
Estendere una LVM in un volume di crittografia ridimensionando un PV esistente
Identificare i dischi crittografati:
sudo lsblk
sudo lsblk -s
Controllare le informazioni relative al PV:
sudo pvs
Controllare le informazioni del gruppo di disponibilità virtuale:
sudo vgs
Controllare le informazioni sull'LV:
sudo lvs
Controllare l'utilizzo del file system:
df -h /mountpoint(s)
Controllare le dimensioni dei dischi:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
Ridimensionare il disco dati. È possibile usare il portale, l'interfaccia della riga di comando o PowerShell. Per altre informazioni, vedere la sezione Ridimensionamento del disco in Espandere i dischi rigidi virtuali in una macchina virtuale Linux .
Importante
Non è possibile ridimensionare i dischi virtuali mentre la macchina virtuale è in esecuzione. Deallocare la macchina virtuale per questo passaggio.
Controllare le dimensioni dei dischi:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
In questo caso, entrambi i dischi sono stati ridimensionati da 2 GB a 4 GB. Ma le dimensioni del file system, LV e PV rimangono invariate.
Controllare le dimensioni PV correnti. Tenere presente che in LVM-on-crypt il PV è il dispositivo
/dev/mapper/
, non il dispositivo/dev/sd*
.sudo pvdisplay /dev/mapper/devicemappername
Ridimensionare il PV:
sudo pvresize /dev/mapper/devicemappername
Controllare le nuove dimensioni PV:
sudo pvdisplay /dev/mapper/devicemappername
Ridimensionare il livello crittografato nel PV:
sudo cryptsetup resize /dev/mapper/devicemappername
Applicare la stessa procedura per tutti i dischi da ridimensionare.
Controllare le informazioni del gruppo di disponibilità virtuale:
sudo vgdisplay vgname
Il VG ha ora spazio sufficiente per essere allocato ai LV.
Controllare le informazioni sull'LV:
sudo lvdisplay vgname/lvname
Controllare l'utilizzo del file system:
df -h /mountpoint
Ridimensionare l'LV:
sudo lvresize -r -L +2G /dev/vgname/lvname
In questo caso viene usata l'opzione
-r
per ridimensionare anche il file system.Controllare le informazioni sull'LV:
sudo lvdisplay vgname/lvname
Controllare l'utilizzo del file system:
df -h /mountpoint
Applicare la stessa procedura di ridimensionamento a qualsiasi altra LV che lo richiede.