Remova informações específicas do computador desprovisionando ou generalizando uma VM antes de criar uma imagem

Cuidado

Este artigo faz referência ao CentOS, uma distribuição Linux que está em status de fim do serviço (EOL). Considere seu uso e planejamento adequadamente.

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

Ela remove informações específicas do computador para que a imagem possa ser usada para a criação de várias VMs. Depois que a VM for generalizada ou desprovisionada, você precisará permitir que a plataforma saiba disso 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 poderá reiniciar a VM.

Pré-requisitos

Nenhum

Linux

As instruções específicas da 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 distribuição para cargas de trabalho de produção.

Primeiro, você vai desprovisionar a VM usando o agente de VM do Azure para excluir dados e arquivos específicos do computador. Use o comando waagent com o -deprovision+user parâmetro em sua VM do Linux de origem. Para saber mais, confira o Guia do usuário do agente Linux para o Azure. Esse processo não pode ser revertido.

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

  2. Na janela SSH, digite o seguinte comando:

       sudo waagent -deprovision+user
    

    Observação

    Execute este comando apenas em uma VM que você irá capturar como uma imagem. Esse comando não garante que a imagem é declarada com relação a todas as informações confidenciais ou está disponível para redistribuição. O +user parâmetro também remove a última conta de usuário provisionada. Para manter as credenciais de conta de usuário na VM, use apenas -deprovision.

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

  4. Depois de concluir o comando, insira sair para fechar o cliente SSH. A VM ainda estará em execução neste ponto.

    Desaloque a VM com a qual você desprovisionou az vm deallocate 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 conta e prepara a máquina para ser usada como uma imagem. Para obter informações sobre o Sysprep, confira Visão geral do Sysprep.

Verifique se as funções de servidor em execução no computador são suportadas pelo Sysprep. Para saber mais, confira Suporte do Sysprep para funções de servidor e Cenários sem suporte.

Importante

Depois que o Sysprep for executado em uma VM, essa VM será considerada generalizada e não poderá ser reiniciada. O processo de generalização de uma VM não é reversível. Se você precisa manter a VM original funcionando, você deve criar um instantâneo do disco do SO, criar uma VM a partir do instantâneo e depois generalizar essa cópia da VM.

O Sysprep requer que as unidades sejam totalmente descriptografadas. Se você habilitou a criptografia em sua VM, desabilite a criptografia antes de executar o Sysprep.

Se você planeja executar o Sysprep antes de carregar o VHD (disco rígido virtual) no Azure pela primeira vez, prepare a VM.

Não há suporte para o arquivo de resposta personalizado na etapa sysprep. Portanto, você não deve usar a opção "/unattend:answerfile" com o comando sysprep.

A plataforma do Azure monta um arquivo ISO no DVD-ROM quando uma VM Windows é criada a partir de uma imagem generalizada. Por este motivo, o DVD-ROM deve ser habilitado no SO na imagem generalizada. Se estiver desabilitada, a VM do Windows ficará presa na experiência inicial do uso (OOBE).

Para generalizar a VM do Windows, siga estas etapas:

  1. Entre na 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 CD/DVD-ROM está habilitado. Se estiver desabilitada, a VM do Windows ficará presa na experiência inicial do uso (OOBE).

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

    Observação

    Verifique se alguma política aplicada restringe 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 todos os acessos)

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

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

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

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