Reparación de una máquina virtual Linux mediante los comandos de reparación de máquinas virtuales de Azure.
Se aplica a: ✔️ Máquinas virtuales Linux
Si su máquina virtual Linux (VM) en Azure se encuentra con un error de arranque o de disco, puede que tenga que realizar una mitigación en el propio disco. Un ejemplo habitual sería una actualización de aplicación con error que impide que la máquina virtual se pueda arrancar correctamente. Este artículo detalla cómo utilizar los comandos de reparación de Azure Virtual Machine para conectar el disco a otra VM Linux para corregir cualquier error y, a continuación, reconstruir su VM original.
Importante
- Los scripts de este artículo sólo se aplican a las máquinas virtuales que utilizan Azure Resource Manager.
- Se requiere conectividad saliente desde la máquina virtual (puerto 443) para que se ejecute el script.
- Sólo puede ejecutarse un script a la vez.
- Un script en ejecución no se puede cancelar.
- El tiempo máximo de ejecución de un script es de 90 minutos.
- No modifique las etiquetas creadas en la máquina virtual de reparación. Las etiquetas son necesarias para que el comando de restauración funcione correctamente.
- Para las máquinas virtuales que utilizan Azure Disk Encryption, solo se admiten discos gestionados cifrados con cifrado de una sola pasada (con o sin KEK).
Información general sobre el proceso de reparación
Ahora puede utilizar los comandos de reparación de Azure Virtual Machine para cambiar el disco del sistema operativo de una máquina virtual, y ya no es necesario eliminar y volver a crear la máquina virtual.
Siga estos pasos para solucionar el problema de la máquina virtual:
- Inicio de Azure Cloud Shell
- Ejecute la extensión az add/update
- Ejecute az vm reparar crear
- Ejecute az vm repair run, o realice los pasos de mitigación.
- Ejecute az vm reparar restaurar
Para ver todos los comandos y parámetros de reparación de VM disponibles, consulte az vm repair.
Para ejecutar los comandos, necesita un rol que pueda crear los siguientes tipos de recursos en la suscripción:
- Grupos de recursos
- Máquinas virtuales
- Etiquetas de recursos
- Redes virtuales
- Grupos de seguridad de red
- Interfaces de red
- Discos
- Direcciones IP públicas (opcional)
Ejemplo de proceso de reparación
Inicio de Azure Cloud Shell
Azure Cloud Shell es un shell interactivo gratuito que puede usar para ejecutar los pasos de este artículo. Incluye herramientas comunes de Azure preinstaladas y configuradas para utilizarlas con su cuenta. Si ejecutas un script de reparación que te llevará más de 20 minutos, puede que prefieras ejecutar los comandos localmente. Para ejecutar los comandos localmente, se requiere Azure CLI versión 2.0.67 o posterior. Ejecute
az --version
para encontrar la versión. Si necesita instalar o actualizar su Azure CLI, consulte Instalar Azure CLI.Para abrir Cloud Shell, seleccione Probar en la esquina superior derecha de un bloque de código. También puede abrir Cloud Shell en una pestaña independiente acudiendo a https://shell.azure.com.
Seleccione Copiar para copiar los bloques de código y, a continuación, pegue el código en Cloud Shell y seleccione Intro para ejecutarlo.
Si prefiere instalar y utilizar la CLI localmente, esta guía rápida requiere la versión 2.0.67 o posterior de Azure CLI. Ejecute
az --version
para encontrar la versión. Si necesita instalar o actualizar su Azure CLI, consulte Instalar Azure CLI.Si tiene que iniciar sesión en Cloud Shell con una cuenta diferente a la que ha iniciado sesión actualmente en Azure Portal, puede usar
az login
desde la referencia de az login. Para cambiar entre suscripciones asociadas a su cuenta, puede usaraz account set --subscription
de la referencia de az account set.Si es la primera vez que utiliza los comandos
az vm repair
, añada la extensión CLI vm-repair.az extension add -n vm-repair
Si ha utilizado previamente los comandos
az vm repair
, aplique cualquier actualización a la extensión vm-repair.az extension update -n vm-repair
Ejecute
az vm repair create
. Este comando creará una copia del disco del sistema operativo para la máquina virtual no funcional, creará una máquina virtual de reparación en un nuevo grupo de recursos y adjuntará la copia del disco del sistema operativo. La máquina virtual de reparación tendrá el mismo tamaño y región que la máquina virtual no funcional especificada. El grupo de recursos y el nombre de la máquina virtual utilizados en todos los pasos corresponderán a la máquina virtual no funcional. Si su VM está utilizando Azure Disk Encryption, utilice--unlock-encrypted-vm
para desbloquear el disco cifrado de modo que sea accesible cuando se conecte a la VM de reparación. Para obtener más información, consulte confirmar que ADE está activado en el disco.
Importante
Los comandos de ejecución y restauración requerirán que todas las entradas se introduzcan utilizando el mismo caso que se utilizó en el comando de creación, tome nota o consulte las etiquetas en la VM de reparación para ver lo que se utilizó.
Ejemplo de la reparación de VM
az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password password1234 --verbose
Ejecute
az vm repair run
. Este comando ejecutará el script de reparación especificado en el disco adjunto a través de la VM de reparación. Si la guía de solución de problemas que está utilizando especifica un objeto run-id, úselo aquí. De lo contrario, puede utilizaraz vm repair list-scripts
para ver las secuencias de comandos de reparación disponibles. El grupo de recursos y el nombre de la máquina virtual utilizados aquí corresponden a la máquina virtual no funcional utilizada en el paso 3. Puede encontrar información adicional sobre los scripts de reparación en la biblioteca de scripts de reparación.az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id lin-hello-world --verbose
Opcionalmente, puede realizar cualquier paso de mitigación manual necesario utilizando la VM de reparación y, a continuación, continuar con el paso 5.
Ejecute
az vm repair restore
. Este comando intercambiará el disco de SO reparado con el disco de SO original de la VM. El grupo de recursos y el nombre de la máquina virtual utilizados aquí corresponden a la máquina virtual no funcional utilizada en el paso 3.az vm repair restore -g MyResourceGroup -n MyVM --verbose
Comprobación y habilitación del diagnóstico de arranque
En el ejemplo siguiente se habilita la extensión de diagnóstico en la máquina virtual denominada myVMDeployed
en el grupo de recursos myResourceGroup
:
CLI de Azure
az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/
Pasos siguientes
- Si tiene problemas para conectarse a la VM, consulte Solución de problemas de conexiones RDP a una máquina virtual de Azure.
- Para problemas con el acceso a aplicaciones que se ejecutan en su VM, consulte Solución de problemas de conectividad de aplicaciones en una máquina virtual en Azure.
- Para más información sobre el uso de Resource Manager, consulte Información general de Azure Resource Manager.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.