Cambio del tamaño de dispositivos de administración de volúmenes lógicos cifrados que usan Azure Disk Encryption
Se aplica a: ✔️ máquinas virtuales Linux ✔️ conjuntos de escalado flexibles
En este artículo, aprenderá a cambiar el tamaño de los discos de datos que usan Azure Disk Encryption. Para cambiar el tamaño de los discos, usará la administración de volúmenes lógicos (LVM) en Linux. Los pasos se aplican a varios escenarios.
Puede usar este proceso de cambio de tamaño en los entornos siguientes:
- Distribuciones de Linux:
- Red Hat Enterprise Linux (RHEL) 7 o posterior
- Ubuntu 18.04 o posterior
- SUSE 12 o posterior
- Versiones de Azure Disk Encryption:
- Extensión de paso único
- Extensión de paso doble
Requisitos previos
En este artículo se supone que ha:
Una configuración de LVM existente. Para obtener más información, consulte Configuración del LVM en una VM Linux.
Discos que ya estén cifrados mediante Azure Disk Encryption. Para obtener más información, consulte Configuración de LVM y RAID en dispositivos cifrados.
Experiencia en el uso de Linux y LVM.
Experiencia en el uso de rutas de acceso /dev/disk/scsi1/ para discos de datos en Azure. Para obtener más información, consulte Solución de problemas de nombres de dispositivo de VM Linux.
Escenarios
Los procedimientos descritos en este artículo se aplican a los escenarios siguientes:
- Configuraciones de LVM tradicional y LVM-on-crypt
- Cifrado de LVM tradicional
- LVM-on-crypt
- Solo discos de datos. No se admite el cambio de tamaño del disco del sistema operativo.
Configuraciones de LVM tradicional y LVM-on-crypt
Las configuraciones de LVM tradicional y LVM-on-crypt amplían un volumen lógico (LV) cuando el grupo de volúmenes (VG) tiene espacio disponible.
Cifrado de LVM tradicional
En el cifrado de LVM tradicional, se cifran los LV. No se cifra el disco completo.
Mediante el cifrado de LVM tradicional, se puede:
- Ampliar el LV al agregar un nuevo volumen físico (PV).
- Ampliar el LV al cambiar el tamaño de un PV existente.
LVM-on-crypt
El método recomendado para el cifrado de disco es LVM-on-crypt. Con este método se cifra todo el disco, no solo el LV.
Mediante LVM-on-crypt, se puede:
- Ampliar el LV al agregar un nuevo PV.
- Ampliar el LV al cambiar el tamaño de un PV existente.
Nota:
No se recomienda combinar el cifrado de LVM tradicional y de LVM-on-crypt en la misma VM.
En las secciones siguientes se proporcionan ejemplos de cómo usar LVM y LVM-on-crypt. En los ejemplos se usan valores preexistentes para discos, PV, VG, LV, sistemas de archivos, identificadores únicos universales (UUID) y puntos de montaje. Reemplace estos valores por sus propios valores para que se adapten a su entorno.
Ampliación de un LV cuando el VG tiene espacio disponible
La manera tradicional de cambiar el tamaño de los volúmenes lógicos (LV) es ampliar un LV cuando el grupo de volúmenes (VG) tiene espacio disponible. Puede usar este método para discos sin cifrar, volúmenes cifrados con LVM tradicional y configuraciones de LVM-on-crypt.
Compruebe el tamaño actual del sistema de archivos que quiere aumentar:
df -h /mountpoint
Compruebe que el VG tiene suficiente espacio para aumentar el LV:
sudo vgs
También puede usar
vgdisplay
:sudo vgdisplay vgname
Identifique qué LV tiene que cambiar de tamaño:
sudo lsblk
En el caso de LVM-on-crypt, la diferencia es que este resultado muestra que la capa cifrada se encuentra en el nivel de disco.
Compruebe el tamaño del LV:
sudo lvdisplay lvname
Aumente el tamaño de LV mediante
-r
para cambiar el tamaño del sistema de archivos en línea:sudo lvextend -r -L +2G /dev/vgname/lvname
Compruebe los nuevos tamaños del LV y del sistema de archivos:
df -h /mountpoint
El resultado del tamaño indica que el tamaño del LV y del sistema de archivos se cambió correctamente.
Puede volver a comprobar la información del LV para confirmar los cambios en el nivel de LV:
sudo lvdisplay lvname
Ampliación de un volumen de LVM tradicional al agregar un nuevo PV
Cuando tenga que agregar un nuevo disco para aumentar el tamaño del VG, amplíe el volumen de LVM tradicional agregando un nuevo PV.
Compruebe el tamaño actual del sistema de archivos que quiere aumentar:
df -h /mountpoint
Compruebe la configuración actual del PV:
sudo pvs
Compruebe la información actual del VG:
sudo vgs
Compruebe la lista de discos actual. Para identificar los discos de datos, compruebe los dispositivos en /dev/disk/azure/scsi1/ .
sudo ls -l /dev/disk/azure/scsi1/
Compruebe el resultado de
lsblk
:sudo lsbk
Conecte el nuevo disco a la VM según las instrucciones de Conexión de un disco de datos a una VM Linux.
Compruebe la lista de discos y observe el nuevo disco.
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk
Cree un nuevo PV además del nuevo disco de datos:
sudo pvcreate /dev/newdisk
Este método usa el disco completo como PV sin ninguna partición. Como alternativa, puede usar
fdisk
para crear una partición y, a continuación, utilizar esa partición parapvcreate
.Compruebe que el PV se ha agregado a la lista de PV:
sudo pvs
Amplíe el VG al agregarle el nuevo PV:
sudo vgextend vgname /dev/newdisk
Compruebe el nuevo tamaño del VG:
sudo vgs
Use
lsblk
para identificar el LV cuyo tamaño debe cambiar:sudo lsblk
Amplíe el tamaño del LV mediante
-r
para aumentar el sistema de archivos en línea:sudo lvextend -r -L +2G /dev/vgname/lvname
Compruebe los nuevos tamaños del LV y del sistema de archivos:
df -h /mountpoint
Importante
Cuando se usa el cifrado de datos de Azure en configuraciones de LVM tradicionales, la capa cifrada se crea en el nivel de LV, no en el nivel de disco.
En este punto, la capa cifrada se amplía al nuevo disco. El disco de datos real no tiene ninguna configuración de cifrado en el nivel de plataforma, por lo que no se actualiza el estado de cifrado.
Estos son algunos de los motivos por los que LVM-on-crypt es el enfoque recomendado.
Compruebe la información de cifrado desde el portal:
Para actualizar la configuración de cifrado en el disco, agregue un nuevo LV y habilite la extensión en la VM.
Agregue un nuevo LV, cree un sistema de archivos en él y agréguelo a
/etc/fstab
.Vuelva a establecer la extensión de cifrado. Esta vez marcará la configuración de cifrado en el nuevo disco de datos en el nivel de plataforma. Este es un ejemplo de la CLI:
az vm encryption enable -g ${RGNAME} --name ${VMNAME} --disk-encryption-keyvault "<your-unique-keyvault-name>"
Compruebe la información de cifrado desde el portal:
Una vez actualizada la configuración de cifrado, puede eliminar el nuevo LV. Elimine también la entrada de /etc/fstab
y /etc/crypttab
que creó.
Siga estos pasos para finalizar la limpieza:
Desmonte el LV:
sudo umount /mountpoint
Cierre la capa cifrada del volumen:
sudo cryptsetup luksClose /dev/vgname/lvname
Elimine el LV:
sudo lvremove /dev/vgname/lvname
Ampliación de un volumen de LVM tradicional al cambiar el tamaño de un PV existente
En algunos escenarios, es posible que las limitaciones le obliguen a cambiar el tamaño de un disco existente. A continuación, se indica cómo puede hacerlo.
Identifique los discos cifrados:
sudo ls -l /dev/disk/azure/scsi1/
sudo lsblk -fs
Compruebe la información del PV:
sudo pvs
Los resultados de la imagen muestran que actualmente se está usando todo el espacio de los PV.
Compruebe la información del VG:
sudo vgs sudo vgdisplay -v vgname
Compruebe los tamaños de disco. Puede usar
fdisk
olsblk
para enumerar los tamaños de unidad.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"
Aquí hemos identificado cuáles PV están asociados con cuáles LV mediante
lsblk -fs
. Para identificar las asociaciones, puede ejecutarlvdisplay
.sudo lvdisplay --maps VG/LV sudo lvdisplay --maps datavg/datalv1
En este caso, las cuatro unidades de datos forman parte del mismo VG y un único LV. Su configuración puede ser diferente.
Compruebe el uso del sistema de archivos actual:
df -h /datalvm*
Cambie el tamaño de los discos de datos según las instrucciones de Expansión de un disco administrado de Azure. Puede usar el portal, la CLI o PowerShell.
Importante
Algunos discos de datos en máquinas virtuales Linux se pueden cambiar de tamaño sin desasignar la máquina virtual, compruebe [Expanda discos duros virtuales en una máquina virtual Linux](/azure/virtual-machines/linux/expand-disks? tabs=ubuntu#expand-an-azure-managed-disk) para comprobar que los discos cumplen los requisitos.
Inicie la VM y compruebe los nuevos tamaños mediante
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"
En este caso, se cambió el tamaño de
/dev/sdd
de 5 GB a 20 GB.Compruebe el tamaño actual del PV:
sudo pvdisplay /dev/resizeddisk
Aunque se cambió el tamaño del disco, el PV todavía tiene el tamaño anterior.
Cambie el tamaño del PV:
sudo pvresize /dev/resizeddisk
Compruebe el tamaño del PV:
sudo pvdisplay /dev/resizeddisk
Aplique el mismo procedimiento para todos los discos cuyo tamaño quiere cambiar.
Compruebe la información del VG:
sudo vgdisplay vgname
El VG ahora tiene espacio suficiente para asignarlo a los LV.
Cambie el tamaño del LV:
sudo lvresize -r -L +5G vgname/lvname sudo lvresize -r -l +100%FREE /dev/datavg/datalv01
Compruebe el tamaño del sistema de archivos:
df -h /datalvm2
Ampliación de un volumen LVM-on-crypt al agregar un nuevo PV
También puede ampliar un volumen LVM-on-crypt agregando un nuevo PV. Este método sigue estrechamente los pasos descritos en Configuración de LVM y RAID en dispositivos cifrados. Consulte las secciones en las que se explica cómo agregar un disco nuevo y establecerlo en una configuración LVM-on-crypt.
Puede usar este método para agregar espacio a un LV existente. O bien, puede crear nuevos VG o LV.
Compruebe el tamaño actual del VG:
sudo vgdisplay vgname
Compruebe el tamaño del sistema de archivos y del LV que quiere ampliar:
sudo lvdisplay /dev/vgname/lvname
df -h mountpoint
Agregue un nuevo disco de datos a la VM e identifíquelo.
Antes de agregar el nuevo disco, compruebe los discos:
sudo fdisk -l | egrep ^"Disk /"
Esta es otra manera de comprobar los discos antes de agregar el nuevo disco:
sudo lsblk
Para agregar el nuevo disco, puede usar PowerShell, la CLI de Azure o Azure Portal. Para obtener más información, consulte Conexión de un disco de datos a una VM Linux.
El esquema de nombres del kernel se aplica al dispositivo recién agregado. Normalmente, a una nueva unidad se le asigna la siguiente letra disponible. En este caso, el disco agregado es
sdd
.Compruebe los discos para asegurarse de que se ha agregado el nuevo disco:
sudo fdisk -l | egrep ^"Disk /"
sudo lsblk
Cree un sistema de archivos sobre el disco recién agregado. Asocie el disco con los dispositivos vinculados en
/dev/disk/azure/scsi1/
.sudo ls -la /dev/disk/azure/scsi1/
sudo mkfs.ext4 /dev/disk/azure/scsi1/${disk}
Cree un punto de montaje temporal para el nuevo disco agregado:
newmount=/data4 sudo mkdir ${newmount}
Agregue el sistema de archivos recién creado a
/etc/fstab
.sudo blkid /dev/disk/azure/scsi1/lun4| awk -F\" '{print "UUID="$2" '${newmount}' "$4" defaults,nofail 0 0"}' >> /etc/fstab
Monte el sistema de archivos recién creado:
sudo mount -a
Verifique que el nuevo sistema de archivos se ha montado:
df -h
sudo lsblk
Reinicie el cifrado que inició anteriormente para las unidades de datos.
Sugerencia
Para LVM-on-crypt, se recomienda usar
EncryptFormatAll
. De lo contrario, es posible que vea un cifrado doble mientras configura discos adicionales.Para obtener más información, consulte Configuración de LVM y RAID en dispositivos cifrados.
Este es un ejemplo:
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
Cuando finalice el cifrado, verá una capa de cifrado en el disco recién agregado:
sudo lsblk
Desmonte la capa cifrada del nuevo disco:
sudo umount ${newmount}
Compruebe la información actual del PV:
sudo pvs
Cree un PV sobre la capa cifrada del disco. Tome el nombre del dispositivo del comando
lsblk
anterior. Agregue un asignador/dev/
delante del nombre del dispositivo para crear el PV:sudo pvcreate /dev/mapper/mapperdevicename
Verá una advertencia sobre borrar la firma
ext4 fs
actual. Se espera esta advertencia. Responda a esta pregunta cony
.Compruebe que el nuevo PV se ha agregado a la configuración de LVM:
sudo pvs
Agregue el nuevo PV al VG que necesita aumentar.
sudo vgextend vgname /dev/mapper/nameofhenewpv
Compruebe el nuevo tamaño y el espacio disponible del VG:
sudo vgdisplay vgname
Observe el aumento del recuento de
Total PE
yFree PE / Size
.Aumente el tamaño del LV y del sistema de archivos. Usa la opción
-r
enlvextend
. En este ejemplo, vamos a agregar el espacio total disponible en el VG al LV dado.sudo lvextend -r -l +100%FREE /dev/vgname/lvname
Siga los pasos a continuación para comprobar los cambios.
Compruebe el tamaño del LV:
sudo lvdisplay /dev/vgname/lvname
Compruebe el nuevo tamaño del sistema de archivos:
df -h /mountpoint
Compruebe que la capa de LVM está sobre la capa cifrada:
sudo lsblk
Si usa
lsblk
sin opciones, verá los puntos de montaje varias veces. El comando ordena por dispositivo y LV.Podría interesarle usar
lsblk -fs
. En este comando,-fs
invierte el criterio de ordenación para que los puntos de montaje se muestren una vez. Los discos se muestran varias veces.sudo lsblk -fs
Ampliación de un LVM en un volumen de cifrado al cambiar el tamaño de un PV existente
Identifique los discos cifrados:
sudo lsblk
sudo lsblk -s
Compruebe la información del PV:
sudo pvs
Compruebe la información del VG:
sudo vgs
Compruebe la información del LV:
sudo lvs
Compruebe el uso del sistema de archivos:
df -h /mountpoint(s)
Compruebe los tamaños de los discos:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
Cambie el tamaño del disco de datos. Puede usar el portal, la CLI o PowerShell. Para obtener más información, consulte la sección sobre el cambio de tamaño de discos en Expansión de discos duros virtuales en una VM Linux.
Importante
No se puede cambiar el tamaño de los discos virtuales mientras la VM está en ejecución. Desasigne la VM para este paso.
Compruebe los tamaños de los discos:
sudo fdisk sudo fdisk -l | egrep ^"Disk /" sudo lsblk
En este caso, el tamaño de ambos discos se cambió de 2 GB a 4 GB. Pero el tamaño del sistema de archivos, el LV y el PV sigue siendo el mismo.
Compruebe el tamaño actual del PV. Recuerde que en LVM-on-crypt, el PV es el dispositivo
/dev/mapper/
, no el dispositivo/dev/sd*
.sudo pvdisplay /dev/mapper/devicemappername
Cambie el tamaño del PV:
sudo pvresize /dev/mapper/devicemappername
Compruebe el nuevo tamaño del PV:
sudo pvdisplay /dev/mapper/devicemappername
Cambie el tamaño de la capa cifrada en el PV:
sudo cryptsetup resize /dev/mapper/devicemappername
Aplique el mismo procedimiento para todos los discos cuyo tamaño quiere cambiar.
Compruebe la información del VG:
sudo vgdisplay vgname
El VG ahora tiene espacio suficiente para asignarlo a los LV.
Compruebe la información del LV:
sudo lvdisplay vgname/lvname
Compruebe el uso del sistema de archivos:
df -h /mountpoint
Cambie el tamaño del LV:
sudo lvresize -r -L +2G /dev/vgname/lvname
Aquí usamos la opción
-r
para cambiar también el tamaño del sistema de archivos.Compruebe la información del LV:
sudo lvdisplay vgname/lvname
Compruebe el uso del sistema de archivos:
df -h /mountpoint
Aplique el mismo procedimiento de cambio de tamaño a cualquier otro LV que lo requiera.