Reparación de una máquina virtual Windows mediante los comandos de reparación de máquinas virtuales de Azure

Se aplica a: ✔️ Máquinas virtuales de Windows

Si la máquina virtual Windows de Azure encuentra un error de arranque o disco, es posible que tenga que reparar el disco sin conexión. Un ejemplo habitual sería una actualización de aplicación con error que impide que la máquina virtual se pueda arrancar correctamente. En este artículo se detalla cómo usar comandos de reparación de máquinas virtuales de Azure para conectar automáticamente un disco del sistema operativo roto a otra máquina virtual Windows para la reparación sin conexión. A través de este procedimiento, el disco del sistema operativo con errores se desbloqueará automáticamente en la segunda máquina virtual, denominada máquina virtual de reparación, si el disco está cifrado con Azure Disk Encryption. Cuando el disco con errores está conectado a la máquina virtual de reparación, puede corregir los errores y, a continuación, volver a generar la máquina virtual original con el disco reparado.

Importante

  • Los scripts de este artículo solo se aplican a las máquinas virtuales que usan Azure Resource Manager.
  • La conectividad de salida de la máquina virtual (puerto 443) es necesaria para que se ejecute el script.
  • Solo se puede ejecutar un script a la vez.
  • Un script en ejecución no se puede cancelar.
  • El tiempo máximo que se puede ejecutar un script es de noventa minutos después de agotarse el tiempo de espera.
  • No modifique las etiquetas que se crean en la máquina virtual de reparación. Las etiquetas son necesarias para que el comando restore funcione correctamente.
  • En el caso de las máquinas virtuales que usan Azure Disk Encryption, solo se admiten los discos administrados cifrados con el cifrado de un solo paso (con o sin KEK).

Información general del proceso de reparación

Ahora puede usar los comandos de reparación de máquinas virtuales de Azure para cambiar el disco del sistema operativo de una máquina virtual y ya no necesita eliminar y volver a crear dicha máquina virtual.

La sección De ejemplo de proceso de reparación le guiará por el siguiente proceso:

  1. Inicie Azure Cloud Shell.
  2. Ejecute az extension add o az extension update.
  3. Ejecute az vm repair create.
  4. Ejecute az vm repair run o realice los pasos de mitigación.
  5. Ejecute az vm repair restore.

Nota

Para ver todos los parámetros y comandos de reparación de máquinas virtuales disponibles, consulte az vm repair.

Importante

Para ejecutar los comandos, necesita un rol que pueda crear los siguientes tipos de recursos en la suscripción:

  • Grupos de recursos
  • Virtual Machines
  • Etiquetas del recurso
  • Redes virtuales
  • Grupos de seguridad de red
  • Interfaces de red
  • Discos
  • Direcciones IP públicas (opcional)

Ejemplo del proceso de reparación

  1. 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 las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta. Si ejecuta un script que tardará más de 20 minutos (por ejemplo: script win-sfc-sf-corruption ), puede que prefiera ejecutar los comandos localmente. Para ejecutar los comandos localmente, se requiere la versión 2.0.67 de la CLI de Azure o una versión posterior. Ejecute az --version para encontrar la versión. Si necesita instalar o actualizar la CLI de Azure, consulte Instalación de la CLI de Azure.

    Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código. También puede abrir Cloud Shell en una pestaña independiente visitando https://shell.azure.com.

    Seleccione Copiar para copiar los bloques de código, luego pegue el código en Cloud Shell y, por último, seleccione Entrar para ejecutarlo.

    Si prefiere instalar y usar la CLI localmente, en este inicio rápido se requiere la versión 2.0.67 o posterior de la CLI de Azure. Ejecute az --version para encontrar la versión. Si necesita instalar o actualizar la CLI de Azure, consulte Instalación de la CLI de Azure.

    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 usar az account set --subscription de la referencia de az account set.

  2. Si es la primera vez que usa los comandos az vm repair, agregue la extensión de la CLI vm-repair.

    az extension add -n vm-repair
    

    Si ha usado anteriormente los comandos az vm repair, aplique las actualizaciones a la extensión vm-repair.

    az extension update -n vm-repair
    
  3. 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 conectará 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 que se usan en todos los pasos serán los de la máquina virtual no funcional. Si la máquina virtual usa Azure Disk Encryption, use --unlock-encrypted-vm para desbloquear el disco cifrado para que sea accesible cuando esté conectado a la máquina virtual de reparación. Para obtener más información, vea confirmar que ADE está habilitado en el disco. Si necesita solucionar problemas de la máquina virtual en un entorno de Hyper-V anidado, use --enable-nested y la máquina virtual de reparación se creará con el rol hyper-V habilitado junto con una máquina virtual anidada mediante la copia del disco del sistema operativo.

Importante

Los comandos de ejecución y restauración requerirán que se escriban todas las entradas con el mismo caso que se usa en el comando create, anote o consulte las etiquetas de la máquina virtual de reparación para ver lo que se usó.

Ejemplo de reparación de máquinas virtuales

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --verbose

Ejemplo de reparación de máquinas virtuales con Hyper-V anidado

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --enable-nested --verbose
  1. Ejecute az vm repair run. Este comando ejecutará el script de reparación especificado en el disco conectado a través de la máquina virtual de reparación. Si la guía de solución de problemas que usa se especifica un run-id, úsela aquí. De lo contrario, puede usar az vm repair list-scripts para ver los scripts de reparación disponibles. El grupo de recursos y el nombre de la máquina virtual que se usan aquí son para la máquina virtual no funcional que se emplea 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 win-hello-world --verbose
    

    Opcionalmente, puede completar los pasos de mitigación manuales necesarios con la máquina virtual de reparación y, a continuación, continuar con el paso 5.

  2. Ejecute az vm repair restore. Este comando cambiará el disco del sistema operativo que se reparó por el disco del sistema operativo original de la máquina virtual. El grupo de recursos y el nombre de la máquina virtual que se usan aquí son para la máquina virtual no funcional que se emplea 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

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.