Remova informações específicas da máquina desprovisionando ou generalizando uma VM antes de criar uma imagem

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux com status de Fim de Vida (EOL). Por favor, considere o seu uso e planejamento de acordo.

Generalizar ou desprovisionar uma VM não é necessário para criar uma imagem em uma Galeria de Computação do Azure, a menos que você queira especificamente criar uma imagem que não tenha informações específicas da máquina, como contas de usuário. A generalização ainda é necessária ao criar uma imagem gerenciada fora de uma galeria.

A generalização remove informações específicas da máquina para que a imagem possa ser usada para criar várias VMs. Depois que a VM tiver sido generalizada ou desprovisionada, você precisará informar a plataforma para que a sequência de inicialização possa ser definida corretamente.

Importante

Depois de marcar uma VM como generalized no Azure, você não pode reiniciar a VM.

Pré-requisitos

Nenhuma

Linux

Instruções específicas de distribuição para preparar imagens do Linux para o Azure estão disponíveis aqui:

As instruções a seguir abrangem apenas a configuração da VM como generalizada. Recomendamos que você siga as instruções específicas da distro para cargas de trabalho de produção.

Primeiro, você desprovisionará a VM usando o agente de VM do Azure para excluir arquivos e dados específicos da máquina. Use o waagent comando com o -deprovision+user parâmetro em sua VM Linux de origem. Para obter mais informações, veja o Guia de utilizador do Agente Linux do Azure. Este processo não pode ser revertido.

  1. Conecte-se à sua VM Linux com um cliente SSH.

  2. Na janela SSH, digite o seguinte comando:

       sudo waagent -deprovision+user
    

    Nota

    Execute este comando apenas em uma VM que você capturará como uma imagem. Este comando não garante que a imagem esteja limpa de todas as informações confidenciais ou seja adequada para redistribuição. O +user parâmetro também remove a última conta de usuário provisionada. Para manter as credenciais da conta de usuário na VM, use apenas -deprovision.

  3. Digite y para continuar. Você pode adicionar o -force parâmetro para evitar essa etapa de confirmação.

  4. Após a conclusão do comando, digite exit para fechar o cliente SSH. A VM ainda estará em execução neste momento.

    Desaloque a VM com az vm deallocate a qual você desprovisionou para que ela possa ser generalizada.

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

    Em seguida, a VM precisa ser marcada como generalizada na plataforma.

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

Windows

O Sysprep remove todas as informações pessoais e de segurança da sua conta pessoal e, em seguida, prepara a máquina para ser usada como imagem. Para obter informações sobre o Sysprep, consulte Visão geral do Sysprep.

Verifique se as funções de servidor em execução na máquina são suportadas pelo Sysprep. Para obter mais informações, consulte Suporte Sysprep para funções de servidor e cenários sem suporte.

Importante

Depois de executar o Sysprep em uma VM, essa VM é considerada generalizada e não pode ser reiniciada. O processo de generalizar uma VM não é reversível. Se precisar manter a VM original funcionando, crie um instantâneo do disco do sistema operacional, crie uma VM a partir do instantâneo e generalize essa cópia da VM.

O Sysprep requer que as unidades sejam totalmente desencriptadas. Se você tiver habilitado a criptografia em sua VM, desative a criptografia antes de executar o Sysprep.

Se você planeja executar o Sysprep antes de carregar seu disco rígido virtual (VHD) no Azure pela primeira vez, certifique-se de ter preparado sua VM.

Não suportamos o arquivo de resposta personalizado na etapa sysprep, portanto, você não deve usar a opção "/unattend:answerfile" com seu comando sysprep.

A plataforma Azure monta um arquivo ISO no DVD-ROM quando uma VM do Windows é criada a partir de uma imagem generalizada. Por esta razão, o DVD-ROM deve ser ativado no sistema operacional na imagem generalizada. Se estiver desabilitada, a VM do Windows ficará presa na OOBE (experiência pronta para uso).

Para generalizar a VM do Windows, siga estes passos:

  1. Entre na sua VM do Windows.

  2. Abra uma janela de Prompt de Comando como administrador.

  3. Exclua o diretório panther (C:\Windows\Panther).

  4. Verifique se o CD/DVD-ROM está ativado. Se estiver desabilitada, a VM do Windows ficará presa na OOBE (experiência pronta para uso).

    REM Enable CD/DVD-ROM
    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom /v start /t REG_DWORD /d 1 /f
    

    Nota

    Verifique se alguma política foi aplicada restringindo o acesso ao armazenamento removível (exemplo: Configuração do computador\Modelos administrativos\Sistema\Acesso ao armazenamento removível\Todas as classes de armazenamento removível: Negar todo o acesso)

  5. Em seguida, altere o diretório para %windir%\system32\sysprep e execute:

    sysprep.exe /generalize /shutdown
    
  6. A VM será desligada quando o Sysprep terminar de generalizar a VM. Não reinicie a VM.

    Quando o Sysprep terminar, defina o status da máquina virtual como Generalizado.

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