Mover uma VM especializada do local para o Azure Stack Hub

Atenção

Este artigo refere-se ao CentOS, uma distribuição do Linux que se aproxima do estado end of life (EOL). Considere a sua utilização e planeie em conformidade. Para obter mais informações, veja a documentação de orientação Sobre o Fim de Vida do CentOS.

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

Uma imagem de disco especializada é uma cópia de um disco rígido virtual (VHD) de uma VM existente que contém as contas de utilizador, aplicações e outros dados de estado da VM original. Normalmente, este é o formato em que as VMs são migradas para o Azure Stack Hub. Os VHDs especializados são uma boa opção para quando precisa de migrar VMs do local para o Azure Stack Hub.

Como mover uma imagem

Localize a secção específica das suas necessidades ao preparar o VHD.

  • Siga os passos em Preparar um VHD ou VHDX do Windows para carregar para o Azure para preparar o VHD corretamente. Tem de utilizar um VHD para o Azure Stack Hub.

    Nota

    Não generalize a VM com o Sysprep.

  • Remova quaisquer ferramentas e agentes de virtualização convidados que estejam instalados na VM (como ferramentas VMware).
  • Confirme que a VM está configurada para obter o endereço IP e as definições de DNS do DHCP. Isto garante que o servidor obtém um endereço IP na rede virtual quando é iniciado.
  • Certifique-se de que o RDP/SSH está ativado e que a firewall permite a comunicação.
  • Para implementar extensões de VM, confirme que o agente .msi da VM está disponível. Para obter orientações, veja Descrição geral do Agente da Máquina Virtual do Azure. Se o agente da VM não estiver presente no VHD, a implementação da extensão falhará. Não precisa de definir o perfil do SO durante o aprovisionamento ou definir $vm.OSProfile.AllowExtensionOperations = $true.

Verificar o VHD

Antes de carregar o VHD, tem de confirmar que o VHD cumpre os requisitos. Os VHDs que não cumprem os requisitos não serão carregados no Azure Stack Hub.

  1. Irá utilizar os módulos do PowerShell encontrados com o Hyper-V. A ativação de instalações do Hyper-V suporta módulos do PowerShell. Pode verificar se tem o módulo ao abrir o PowerShell com uma linha de comandos elevada e ao executar o seguinte cmdlet:

    Get-Command -Module hyper-v
    

    Se não tiver os comandos do Hyper-V, veja Trabalhar com Hyper-V e Windows PowerShell.

  2. Obtenha o caminho para o VHD no seu computador. Execute o seguinte cmdlet:

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

    O cmdlet irá devolver o objeto VHD e apresentar os atributos, tais 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, verifique se cumpre os requisitos do Azure Stack Hub.

    Além disso, o Azure Stack Hub só suporta imagens de VMs de geração 1 (1).

  4. Se o VHD não for compatível com o Azure Stack Hub, terá de regressar à imagem de origem e ao Hyper-V, criar um VHD que cumpra os requisitos e carregar. Para minimizar possíveis danos no processo de carregamento, utilize o AzCopy.

Como corrigir o VHD

Os seguintes requisitos têm de ser cumpridos para compatibilidade do VHD com o Azure Stack Hub.

O VHD é de tipo fixo

Identificar: utilize get-vhd o cmdlet para obter o objeto VHD.
Correção: pode converter um ficheiro VHDX em VHD, converter um disco de expansão dinâmica num disco de tamanho fixo, mas não pode alterar a geração de uma VM. Utilize o Gestor de Hyper-V ou o PowerShell para converter o disco.

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

Identificar: utilize get-vhd o cmdlet para obter o objeto VHD.
Correção: utilize o Gestor de Hyper-V ou o PowerShell para redimensionar o disco.

O VHD está alinhado

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

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

Utilize o Gestor de Hyper-V ou o PowerShell para redimensionar o disco.

Comprimento do blob do VHD

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

Utilize o Gestor de Hyper-V ou o PowerShell para redimensionar o disco.

VMs de geração um

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

Carregar para uma conta de armazenamento

Pode carregar o VHD com o portal ou, com o contentor que criou no portal, utilize o AzCopy.

Portal para gerar o URL de SAS e carregar o VHD

  1. Inicie sessão no portal de utilizadores 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 no painel da conta de armazenamento da sua conta de armazenamento. Selecione Contentor para criar um novo contentor.

  4. Escreva o nome do contentor e, em seguida, selecione Blob (acesso de leitura anónimo apenas para blobs).

  5. Se quiser utilizar o AzCopy para carregar a sua imagem em vez do portal, crie um token DE SAS. Selecione Assinatura de acesso partilhado na conta de armazenamento e, em seguida, selecione Gerar SAS e cadeia de ligação. Copie e tome nota do URL de SAS do serviço Blob. Irá utilizar este URL ao utilizar o AzCopy para carregar o VHD.

  6. Selecione o contentor e, em seguida, selecione Carregar. Carregue o VHD.

AzCopy VHD

Utilize Explorador de Armazenamento do Azure ou AzCopy para reduzir essa probabilidade de o VHD estar danificado no processo de carregamento e o carregamento será mais rápido. Os passos seguintes utilizam o AzCopy num computador Windows 10. O AzCopy é um utilitário da linha de comando que pode utilizar para copiar blobs ou ficheiros de/para uma conta de armazenamento.

  1. Se não tiver o AzCopy instalado, instale o AzCopy. Encontrará instruções para transferir e começar a utilizar o AzCopy no artigo Introdução ao AzCopy. Tome nota do local onde armazena o binário. Pode adicionar o AzCopy ao seu caminho para utilizá-lo a partir da linha de comandos do PowerShell.

  2. Abra o PowerShell para utilizar o AzCopy a partir da shell.

  3. Utilize o AzCopy para carregar o VHD para o contentor 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
    

Nota

Carregue o VHD com sintaxe semelhante ao carregamento de um único ficheiro para o diretório virtual. Adicione --blob-type=PageBlob para se certificar de que o VHD é carregado como um Blob de Página, em vez de Bloquear por predefinição.

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

Criar o disco no Azure Stack Hub

  1. Inicie sessão no portal de utilizadores do Azure Stack Hub.

    Se for um operador da cloud a criar um disco de plataforma, siga as instruções em Adicionar uma imagem de plataforma para adicionar o VHD através do portal de administrador ou com os pontos finais de administrador.

  2. No portal de utilizador, selecione Todos os Discos de Serviços>>Adicionar.

  3. Em Criar disco gerido:

    1. Escreva o Nome da sua imagem.

    2. Selecione a sua Subscrição.

    3. Criar ou adicionar a imagem a um grupo de Recursos.

    4. Selecione a Localização, também denominada 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 um desempenho consistente e de baixa latência. Proporcionam o melhor equilíbrio entre o preço e o desempenho e são ideais para aplicações de E/S intensivas e cargas de trabalho de produção.
      • Os discos standard (HDD) são suportados por unidades magnéticas e são preferíveis para aplicações em que os dados são acedidos com pouca frequência. Os discos com redundância entre zonas são suportados pelo Armazenamento com redundância entre zonas (ZRS) que replica os seus dados em várias zonas e estão disponíveis mesmo que uma única zona esteja inativa.
    6. Selecione Blob de armazenamento do tipo De origem. É criado um disco a partir de um blob numa conta de armazenamento.

    7. Para a origem VHD, selecione:

      1. A subscrição de Origem onde está localizada a conta de armazenamento.
      2. Selecione Procurar e, em seguida, navegue para a sua Conta de armazenamento, contentor e VHD. Escolha Selecionar.
      3. Selecione o Tipo de SO que corresponde ao VHD.
    8. Selecione um Tamanho do disco (GiB) que tenha o tamanho ou tamanho superior ao VHD.

    9. Selecione Criar.

  4. Assim que o disco for criado, pode utilizar o disco para criar uma nova VM.

Passos seguintes

Mover uma VM para a Descrição Geral do Azure Stack Hub