Guía de solución de problemas de Azure Disk Encryption para máquinas virtuales Linux

Importante

Azure Disk Encryption está programado para su retirada el 15 de septiembre de 2028. Hasta esa fecha, puede seguir usando Azure Disk Encryption sin interrupciones. El 15 de septiembre de 2028, las cargas de trabajo habilitadas para ADE seguirán ejecutándose, pero los discos cifrados no se desbloquearán después de reiniciar la máquina virtual, lo que provocará una interrupción del servicio.

Use el cifrado en el host para las máquinas virtuales nuevas o pruebe Tamaños de máquina virtual confidenciales con cifrado de disco de sistema operativo para cargas de trabajo de procesamiento confidencial. Todas las máquinas virtuales habilitadas para ADE (incluidas las copias de seguridad) deben migrar al cifrado en el host antes de la fecha de retirada para evitar interrupciones del servicio. Consulte Migre desde Azure Disk Encryption al cifrado en el host para obtener más información.

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Conjuntos de escalado flexibles

Esta guía está destinada a profesionales de tecnologías de la información (TI), analistas de seguridad de la información y administradores de la nube cuyas organizaciones utilizan Azure Disk Encryption. Use este artículo para solucionar problemas relacionados con el cifrado de disco.

Antes de realizar cualquiera de estos pasos, asegúrese primero de que las máquinas virtuales que intenta cifrar están entre los tamaños de máquina virtual y los sistemas operativos admitidos, y que cumple todos los requisitos previos:

Solución de problemas del cifrado de discos con el SO Linux

El cifrado de discos con el sistema operativo Linux debe desmontar la unidad del sistema operativo antes de pasar por el proceso de cifrado de disco completo. Si no puede desmontar la unidad, es probable que aparezca el mensaje de error "no se pudo desmontar después de...".

Este error puede producirse al intentar cifrar el disco del sistema operativo en una máquina virtual con un entorno modificado a partir de la imagen estándar de la galería compatible. Las desviaciones de la imagen admitida pueden interferir con la capacidad de la extensión para desmontar la unidad del sistema operativo. Entre los ejemplos de desviaciones se incluyen los siguientes elementos:

  • Imágenes personalizadas que ya no coinciden con un sistema de archivos o esquema de particiones compatibles.
  • Las aplicaciones grandes, como SAP, MongoDB, Apache Cassandra y Docker, no se admiten cuando están instaladas y se ejecutan en el sistema operativo antes de que se realice el cifrado. Azure Disk Encryption no puede apagar estos procesos de forma segura según sea necesario para preparar la unidad del sistema operativo para el cifrado de disco. Si todavía hay procesos activos que mantienen abiertos descriptores de archivo en la unidad del sistema operativo, Azure Disk Encryption no puede desmontar la unidad del sistema operativo, lo que provoca un error al cifrarla.
  • Se ejecutan scripts personalizados casi al mismo tiempo que se deshabilita el cifrado, o si se hace algún otro cambio en la máquina virtual durante el proceso de cifrado. Este conflicto puede ocurrir cuando una plantilla de Azure Resource Manager define varias extensiones para ejecutarse al mismo tiempo o cuando una extensión de script personalizada u otra acción se ejecutan simultáneamente que el cifrado del disco. Serializar e aislar estos pasos podría resolver el problema.
  • Security Enhanced Linux (SELinux) no está deshabilitado antes de habilitar el cifrado, por lo que se produce un error en el paso de desmontaje. SELinux se puede volver a habilitar una vez completado el cifrado.
  • El disco del sistema operativo utiliza un esquema de administrador de volúmenes lógicos (LVM). Aunque hay compatibilidad limitada con los discos de datos LVM, no se admite el disco del sistema operativo LVM.
  • No se cumplen los requisitos mínimos de memoria (se recomiendan 7 GB para el cifrado del disco de sistema operativo).
  • Las unidades de datos se han montado recursivamente en el directorio /mnt/ o entre sí (por ejemplo, /mnt/datos1, /mnt/datos2, /datos3 + /datos3/datos4).

Actualización del kernel predeterminado para Ubuntu 14.04 LTS

La imagen de Ubuntu 14.04 LTS se incluye con una versión predeterminada del kernel 4.4. Esta versión del kernel tiene un problema conocido por el que el mecanismo OOM Killer (Out of Memory) finaliza incorrectamente el comando dd durante el proceso de cifrado del sistema operativo. Este error se ha corregido en la versión más reciente del kernel de Linux optimizado para Azure. Para evitar este error, antes de habilitar el cifrado en la imagen, actualice al kernel optimizado de Azure 4.15 o posterior mediante los siguientes comandos:

sudo apt-get update
sudo apt-get install linux-azure
sudo reboot

Una vez que la máquina virtual se reinicie en el nuevo kernel, compruebe la nueva versión del kernel mediante la ejecución de:

uname -a

Actualización del agente de la máquina virtual de Azure y de las versiones de las extensiones

es posible que se produzca un error en las operaciones de Azure Disk Encryption en imágenes de máquina virtual que usan versiones no admitidas del agente de máquina virtual de Azure. Actualice las imágenes de Linux con versiones del agente anteriores a la 2.2.38 antes de habilitar el cifrado. Para obtener más información, consulte Actualización del agente Linux de Azure en una máquina virtual y Soporte de versión mínima para los agentes de la máquina virtual en Azure.

También es necesaria la versión correcta de la extensión del agente invitado Microsoft.Azure.Security.AzureDiskEncryption o Microsoft.Azure.Security.AzureDiskEncryptionForLinux. La plataforma mantiene y actualiza automáticamente las versiones de extensión cuando se cumplen los requisitos previos del agente de máquina virtual de Azure y se usa una versión compatible del agente de máquina virtual.

La extensión Microsoft.OSTCExtensions.AzureDiskEncryptionForLinux ha quedado obsoleta y ya no es compatible.

No se pueden cifrar los discos de Linux

En algunos casos, el cifrado de disco Linux parece estar bloqueado en el inicio del cifrado de disco del sistema operativo y SSH está deshabilitado. El proceso de cifrado puede tardar entre 3 y 16 horas en finalizar en una imagen de la galería de stock. Si agrega discos de datos de tamaño multiterabyte, el proceso puede tardar días.

La secuencia de cifrado del disco del sistema operativo Linux desmonta la unidad del sistema operativo temporalmente. A continuación, realiza el cifrado de bloque a bloque de todo el disco del sistema operativo, antes de que vuelva a montarse en su estado cifrado. El cifrado del disco de Linux no permite el uso simultáneo de la máquina virtual mientras el cifrado está en curso. Las características de rendimiento de la máquina virtual pueden suponer una diferencia significativa en el tiempo necesario para el cifrado completo. Estas características incluyen el tamaño del disco y si la cuenta de almacenamiento es almacenamiento premium (SSD) o estándar.

Mientras se cifra la unidad del sistema operativo, la máquina virtual entra en estado de mantenimiento y deshabilita SSH para evitar cualquier interrupción en el proceso en curso. Para comprobar el estado de cifrado, use el comando Get-AzVmDiskEncryptionStatus de Azure PowerShell y compruebe el campo ProgressMessage. ProgressMessage notificará una serie de estados a medida que se cifran los discos de datos y del sistema operativo:

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings :
ProgressMessage            : Transitioning

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Encryption succeeded for data volumes

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Provisioning succeeded

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : OS disk encryption started

ProgressMessage permanecerá en Cifrado del disco del sistema operativo iniciado durante la mayor parte del proceso de cifrado. Cuando el cifrado se complete y se realice correctamente, ProgressMessage devolverá:

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : Encrypted
DataVolumesEncrypted       : NotMounted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Encryption succeeded for all volumes

Una vez disponible este mensaje, la unidad de sistema operativo cifrada está lista para su uso y puede volver a usar la máquina virtual.

Si la información de arranque, el mensaje de progreso o un error notifica que se produce un error en el cifrado del sistema operativo en medio de este proceso, restaure la máquina virtual a la instantánea o copia de seguridad realizada inmediatamente antes del cifrado. Un ejemplo de un mensaje es el error "no se pudo desmontar" descrito en esta guía.

Antes de volver a intentar el cifrado, vuelva a evaluar las características de la máquina virtual y asegúrese de que se cumplen todos los requisitos previos.

Solución de problemas de Azure Disk Encryption detrás de un firewall

Vea Cifrado de discos en una red aislada.

Solución de problemas de estado del cifrado

El portal podría mostrar un disco como cifrado incluso después de descifrarlo dentro de la máquina virtual. Este problema puede producirse cuando se usan comandos de bajo nivel para descifrar directamente el disco desde la máquina virtual en lugar de usar los comandos de administración de Azure Disk Encryption de nivel superior. Los comandos de nivel superior descifran el disco desde la máquina virtual. Fuera de la máquina virtual, también actualizan la configuración de cifrado de nivel de plataforma y la configuración de extensión importantes asociadas a la máquina virtual. Si esta configuración no se mantiene alineada, la plataforma no puede notificar el estado de cifrado ni aprovisionar correctamente la máquina virtual.

Para deshabilitar Azure Disk Encryption con PowerShell, use Disable-AzVMDiskEncryption seguido de Remove-AzVMDiskEncryptionExtension. Si se ejecuta Remove-AzVMDiskEncryptionExtension antes de deshabilitar el cifrado, se producirá un error.

Para deshabilitar Azure Disk Encryption con la CLI, use az vm encryption disable.

Pasos siguientes

En este documento, aprendió más acerca de algunos problemas comunes de Azure Disk Encryption y cómo solucionarlos. Para más información acerca de este servicio y su funcionalidad, consulte los artículos siguientes: