Eliminación de información específica de una máquina mediante el desaprovisionamiento o la generalización de una máquina virtual antes de crear una imagen

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planeación en consecuencia.

No es necesario generalizar o desaprovisionar una máquina virtual para crear una imagen en una instancia de Azure Compute Gallery, a menos que quiera crear específicamente una imagen que no tenga información específica de la máquina, como las cuentas de usuario. La generalización sigue siendo necesaria al crear una imagen administrada fuera de una galería.

La generalización elimina información específica de la máquina para que la imagen se pueda usar para crear varias máquinas virtuales. Una vez generalizada o desaprovisionada la máquina virtual, debe hacérselo saber a la plataforma para que la secuencia de arranque se pueda establecer correctamente.

Importante

Una vez que marca una máquina virtual como generalized en Azure, no puede reiniciar dicha máquina.

Requisitos previos

None

Linux

Las instrucciones específicas de distribución para preparar imágenes de Linux para Azure están disponibles aquí:

En las instrucciones siguientes solo se explica cómo establecer la máquina virtual en generalizada. Se recomienda seguir las instrucciones específicas de la distribución para cargas de trabajo de producción.

En primer lugar, desaprovisione la máquina virtual con el agente de máquinas virtuales de Azure para eliminar los archivos y datos específicos de la máquina. Use el comando waagent con el parámetro -deprovision+user en la máquina virtual Linux de origen. Consulte la Guía de usuario del Agente de Linux de Azure para más información. Este proceso no se puede revertir.

  1. Conéctese a la máquina virtual Linux con un cliente de SSH.

  2. En la ventana de SSH, escriba el siguiente comando:

       sudo waagent -deprovision+user
    

    Nota

    Solo puede ejecutar este comando en una máquina virtual que quiera capturar como imagen. Este comando no garantiza que se haya borrado toda información confidencial de la imagen o que sea adecuada para su redistribución. El parámetro +user también elimina la última cuenta de usuario aprovisionada. Para mantener las credenciales de la cuenta de usuario en la máquina virtual, use solo -deprovision.

  3. Escriba s para continuar. Puede agregar el parámetro -force para evitar este paso de confirmación.

  4. Una vez finalizado el comando, escriba exit para cerrar el cliente de SSH. La máquina virtual seguirá ejecutándose en este momento.

    Desasigne la máquina virtual que se desaprovisionó con az vm deallocate para que se pueda generalizar.

    az vm deallocate \
       --resource-group myResourceGroup \
       --name myVM
    

    A continuación, la máquina virtual debe marcarse como generalizada en la plataforma.

    az vm generalize \
       --resource-group myResourceGroup \
       --name myVM
    

Windows

Sysprep elimina toda la información de seguridad y de la cuenta personal y luego prepara la máquina para usarse como imagen. Para más información acerca de Sysprep, consulte la Introducción a Sysprep.

Asegúrese de que los roles de servidor que se ejecutan en la máquina sean compatibles con Sysprep. Para más información, consulte Compatibilidad de Sysprep con roles de servidor y Escenarios no admitidos.

Importante

Una vez que se ha ejecutado sysprep en una máquina virtual, se considera generalizada y no se puede reiniciar. El proceso de generalización de una máquina virtual no es reversible. Si necesitas mantener la máquina virtual original en funcionamiento, debes crear una instantánea del disco del sistema operativo, crear una máquina virtual a partir de la instantánea y luego generalizar esa copia de la máquina virtual.

Sysprep requiere que las unidades se descifren por completo. Si ha habilitado el cifrado en la VM, deshabilite el cifrado antes de ejecutar Sysprep.

Si tiene pensado ejecutar Sysprep antes de cargar el disco duro virtual (VHD) en Azure por primera vez, asegúrese de que tiene preparada la máquina virtual.

No se admite el archivo de respuesta personalizado en el paso sysprep, por lo que no debe usar el modificador "/unattend:answerfile" con el comando sysprep.

La plataforma Azure monta un archivo ISO en el DVD-ROM cuando se crea una máquina virtual Windows a partir de una imagen generalizada. Por este motivo, el DVD-ROM debe estar habilitado en el sistema operativo de la imagen generalizada. Si está deshabilitado, la máquina virtual Windows se bloqueará en la configuración rápida (OOBE).

Para generalizar la máquina virtual de Windows, siga estos pasos:

  1. Inicie sesión en la máquina virtual Windows.

  2. Abra una ventana de símbolo del sistema como administrador.

  3. Elimine el directorio de Panther (C:\Windows\Panther).

  4. Compruebe si CD/DVD-ROM está habilitado. Si está deshabilitado, la máquina virtual Windows se bloqueará en la configuración rápida (OOBE).

      Registry key Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom\start (Value 4 = disabled, expected value 1 = automatic) Make sure it is set to 1.
    

    Nota:

    Comprueba si se aplicó alguna directiva que restrinja el acceso al almacenamiento extraíble (ejemplo: Configuración del ordenador\Plantillas administrativas\Sistema\Acceso al almacenamiento extraíble\Todas las clases de almacenamiento extraíble: Denegar todo acceso)

  5. Luego, sustituya el directorio por %windir%\system32\sysprep, y, después, ejecute:

    sysprep.exe /generalize /shutdown
    
  6. La máquina virtual se apagará cuando Sysprep termine de generalizarla. No reinicie la VM.

    Cuando Sysprep haya terminado, se debe establecer el estado de la máquina virtual en Generalizado.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized