Mover uma VM especializada do local para o Azure Stack Hub

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do fim da vida útil (EOL) status. Considere seu uso e seu plano adequadamente. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

Você pode adicionar uma imagem de VM (máquina virtual) do seu ambiente local. Você pode criar sua imagem como um VHD (disco rígido virtual) e carregar a imagem em uma conta de armazenamento em sua instância do Azure Stack Hub. Em seguida, você pode criar uma VM do VHD.

Uma imagem de disco especializada é uma cópia de um VHD (disco rígido virtual) de uma VM existente que contém as contas de usuário, aplicativos e outros dados de estado da VM original. Normalmente, esse é o formato no qual as VMs são migradas para o Azure Stack Hub. VHDs especializados são uma boa opção para quando você precisa migrar VMs do local para o Azure Stack Hub.

Como mover uma imagem

Localize a seção específica às suas necessidades ao preparar o VHD.

  • Siga as etapas em Preparar um VHD ou VHDX do Windows para carregar no Azure para preparar o VHD corretamente. Você deve usar um VHD para o Azure Stack Hub.

    Observação

    Não generalize a VM usando o Sysprep.

  • Remova quaisquer ferramentas e agentes de virtualização de convidados instalados na VM (como ferramentas VMware).
  • Verifique se a VM está configurada para obter o endereço IP e as configurações de DNS do DHCP. Isso garante que o servidor obtenha um endereço IP dentro da rede virtual quando for inicializado.
  • Verifique se o RDP/SSH está habilitado e se o firewall permite a comunicação.
  • Para implantar extensões de VM, verifique se o agente .msi de VM está disponível. Para obter diretrizes, confira Visão geral do Agente de Máquina Virtual do Azure. Se o agente de VM não estiver presente no VHD, a implantação da extensão falhará. Você não precisa definir o perfil do sistema operacional durante o provisionamento ou definir $vm.OSProfile.AllowExtensionOperations = $true.

Verificar seu VHD

Antes de carregar o VHD, você deve validar se o VHD atende aos requisitos. Os VHDs que não atendem aos requisitos falharão ao serem carregados no Azure Stack Hub.

  1. Você usará os módulos do PowerShell encontrados com o Hyper-V. Ativar instalações do Hyper-V que dão suporte a módulos do PowerShell. Você pode marcar que tem o módulo abrindo o PowerShell com um prompt elevado e executando o seguinte cmdlet:

    Get-Command -Module hyper-v
    

    Se você não tiver os comandos do Hyper-V, consulte Trabalhando com o Hyper-V e Windows PowerShell.

  2. Obtenha o caminho para o VHD em seu computador. Execute o cmdlet a seguir:

    get-vhd <path-to-your-VHD>
    

    O cmdlet retornará o objeto VHD e exibirá os atributos, como:

    ComputerName            : YOURMACHINENAME
    Path                    : <path-to-your-VHD>
    VhdFormat               : VHD
    VhdType                 : Fixed
    FileSize                : 68719477248
    Size                    : 68719476736
    MinimumSize             : 32212254720
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 0
    ParentPath              :
    DiskIdentifier          : 3C084D21-652A-4C0E-B2D1-63A8E8E64C0C
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsPMEMCompatible        : False
    AddressAbstractionType  : None
    Number                  :
    
  3. Com o objeto VHD, marcar que atenda aos requisitos do Azure Stack Hub.

    Além disso, o Azure Stack Hub dá suporte apenas a imagens de VMs de geração um (1).

  4. Se o VHD não for compatível com o Azure Stack Hub, você precisará retornar à imagem de origem e ao Hyper-V, criar um VHD que atenda aos requisitos e carregar. Para minimizar possíveis danos no processo de carregamento, use AzCopy.

Como corrigir o VHD

Os requisitos a seguir devem ser atendidos para compatibilidade do VHD com o Azure Stack Hub.

O VHD é do tipo fixo

Identificar: use get-vhd o cmdlet para obter o objeto VHD.
Correção: você pode converter um arquivo VHDX em VHD, converter um disco de expansão dinâmica em um disco de tamanho fixo, mas não pode alterar a geração de uma VM. Use o Gerenciador do Hyper-V ou o PowerShell para converter o disco.

O VHD tem tamanho virtual mínimo de pelo menos 20 MB

Identificar: use get-vhd o cmdlet para obter o objeto VHD.
Correção: use o Gerenciador do Hyper-V ou o PowerShell para redimensionar o disco.

O VHD está alinhado

Identificar: use get-vhd o cmdlet para obter o objeto VHD.
Correção: o tamanho virtual deve ser um múltiplo de um (1) MB.

Os discos devem ter um tamanho virtual alinhado a 1 MiB. Se o VHD for uma fração de 1 MiB, você precisará redimensionar o disco para um múltiplo de 1 MiB. Os discos que são frações de um MiB causam erros ao criar imagens do VHD carregado. Para verificar o tamanho, você pode usar o cmdlet Get-VHD do PowerShell para mostrar "Size", que deve ser um múltiplo de 1 MiB no Azure, e "FileSize", que será igual a "Size" mais 512 bytes para o rodapé VHD.

Use o Gerenciador do Hyper-V ou o PowerShell para redimensionar o disco.

Comprimento do blob do VHD

Identificar: use o get-vhd cmdlet para mostrar Size
Correção: o comprimento do blob VHD = tamanho virtual + comprimento do rodapé vhd (512). Um rodapé pequeno no final do blob descreve as propriedades do VHD. Size deve ser um múltiplo de 1 MiB no Azure e FileSize, que será igual a Size + 512 bytes para o rodapé do VHD.

Use o Gerenciador do Hyper-V ou o PowerShell para redimensionar o disco.

VMs de geração um

Identificar: para confirmar se sua máquina virtual é a Geração 1, use o cmdlet Get-VM | Format-Table Name, Generation.
Correção: você precisará recriar sua VM no hipervisor (Hyper-V).

Carregar em uma conta de armazenamento

Você pode carregar seu VHD com o portal ou, com o contêiner criado no portal, usar o AzCopy.

Portal para gerar a URL sas e carregar o VHD

  1. Entre no portal do usuário do Azure Stack Hub.

  2. Selecione Contas de Armazenamento e selecione uma conta de armazenamento existente ou crie uma nova conta de armazenamento.

  3. Selecione Blobs na folha da conta de armazenamento para sua conta de armazenamento. Selecione Contêiner para criar um novo contêiner.

  4. Digite o nome do contêiner e selecione Blob (acesso de leitura anônimo somente para blobs).

  5. Se você pretende usar o AzCopy para carregar sua imagem em vez do portal, crie um token SAS. Selecione Assinatura de acesso compartilhado na conta de armazenamento e, em seguida, selecione Gerar SAS e cadeia de conexão. Copie e anote a URL SAS do serviço Blob. Você usará essa URL ao usar o AzCopy para carregar seu VHD.

  6. Selecione seu contêiner e, em seguida, selecione Carregar. Faça upload do seu VHD.

AzCopy VHD

Use Gerenciador de Armazenamento do Azure ou AzCopy para reduzir essa chance de que o VHD seja corrompido no processo de carregamento e o upload será mais rápido. As etapas a seguir usam o AzCopy em um computador Windows 10. AzCopy é um utilitário de linha de comando que você pode usar para copiar blobs ou arquivos de ou para uma conta de armazenamento.

  1. Se você não tiver o AzCopy instalado, instale o AzCopy. Encontre instruções para baixar e começar a usar o AzCopy no artigo Introdução ao AzCopy. Anote onde você armazena o binário. Você pode adicionar o AzCopy ao caminho para usá-lo na linha de comando do PowerShell.

  2. Abra o PowerShell para usar o AzCopy do shell.

  3. Use o AzCopy para carregar seu VHD no contêiner na conta de armazenamento.

    set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09
    azcopy cp "/path/to/file.vhd" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS] --blob-type=PageBlob
    

Observação

Carregue o VHD usando uma sintaxe semelhante ao carregamento de um único arquivo no diretório virtual. Adicione --blob-type=PageBlob para garantir que o VHD seja carregado como um Blob de Páginas, em vez de Bloquear por padrão.

Para obter mais informações sobre como usar o AzCopy e outras ferramentas de armazenamento, consulte Usar ferramentas de transferência de dados no Armazenamento do Azure Stack Hub.

Criar o disco no Azure Stack Hub

  1. Entre no portal do usuário do Azure Stack Hub.

    Se você for um operador de nuvem que cria um disco de plataforma, siga as instruções em Adicionar uma imagem de plataforma para adicionar o VHD por meio do portal do administrador ou com os pontos de extremidade do administrador.

  2. No portal do usuário, selecione Todos os Serviços>Discos>Adicionar.

  3. Em Criar disco gerenciado:

    1. Digite o Nome da imagem.

    2. Selecione sua Assinatura.

    3. Crie ou adicione a imagem a um grupo de recursos.

    4. Selecione a Localização, também conhecida como a região do ASDK.

    5. Selecione o Tipo de conta.

      • Os discos Premium (SSD) são apoiados por unidades de estado sólido e oferecem desempenho consistente e de baixa latência. Eles fornecem o melhor equilíbrio entre preço e desempenho e são ideais para aplicativos com uso intensivo de E/S e cargas de trabalho de produção.
      • Discos padrão (HDD) são apoiados por unidades magnéticas e são preferíveis para aplicativos em que os dados são acessados com pouca frequência. Os discos com redundância de zona são apoiados pelo ZRS (armazenamento com redundância de zona) que replica seus dados em várias zonas e estão disponíveis mesmo que uma única zona esteja inativa.
    6. Selecione Blob de armazenamento em seu Tipo de origem. Você criou um disco de um blob em uma conta de armazenamento.

    7. Para a origem do VHD, selecione:

      1. A assinatura de origem em que a conta de armazenamento está localizada.
      2. Selecione Procurar e navegue até sua conta de armazenamento, contêiner e VHD. Escolha Selecionar.
      3. Selecione o Tipo de SISTEMA Operacional que corresponde ao VHD.
    8. Selecione um Tamanho do disco (GiB) que tenha o tamanho ou maior que o VHD.

    9. Selecione Criar.

  4. Depois que o disco for criado, você poderá usar o disco para criar uma nova VM.

Próximas etapas

Mover uma VM para a Visão geral do Azure Stack Hub