Compartilhar via


Preparar uma imagem do Ubuntu para VMs locais do Azure habilitadas pelo Azure Arc

Aplica-se a: implantações hiperconvergadas do Azure Local 2311.2 e posterior

Este artigo descreve como usar a CLI do Azure para preparar uma imagem do Ubuntu e criar uma VM (máquina virtual) local do Azure.

Pré-requisitos

  • Ter acesso a uma instância local do Azure. Esse sistema é implantado, registrado e conectado ao Azure Arc. Vá para a página Visão Geral no recurso Local do Azure. Na guia Servidor no painel direito, o Azure Arc deve aparecer como Conectado.
  • Baixe a imagem do servidor Ubuntu com suporte mais recente em seu sistema local do Azure. As versões do sistema operacional com suporte são Ubuntu 22.04 e 24.04 LTS.

Workflow

Para preparar uma imagem do Ubuntu e criar uma imagem de VM local do Azure a partir dela:

  1. Criar uma VM do Ubuntu
  2. Configurar a VM
  3. Limpar a configuração residual
  4. Criar uma imagem de VM do Ubuntu

As seções a seguir fornecem instruções detalhadas para cada etapa do fluxo de trabalho.

Criar uma imagem de VM a partir de uma imagem do Ubuntu

Importante

  • Não use um disco rígido virtual de uma VM do Azure para preparar a imagem da VM local do Azure.
  • Recomendamos que você prepare uma imagem do Ubuntu se pretende habilitar o gerenciamento de convidados nas VMs.

Etapa 1: Criar uma VM do Ubuntu

Siga estas etapas para provisionar uma VM usando a imagem do Ubuntu baixada.

  1. Configure a VM com as seguintes especificações:

    1. Forneça um nome amigável para sua VM.

      Captura de tela que mostra o Assistente para Nova Máquina Virtual na página Especificar Nome e Local.

    2. Especifique a Geração 2 para sua VM, pois você está trabalhando com uma imagem estendida de disco rígido virtual aqui.

      Captura de tela que mostra o Assistente para Nova Máquina Virtual na página Especificar Geração.

    3. Selecione Instalar sistema operacional em uma imagem inicializável. Aponte para o ISO que você baixou anteriormente.

      Captura de tela que mostra o Assistente para Nova Máquina Virtual na página Opções de Instalação.

    Para obter instruções passo a passo, consulte Provisionar uma VM usando Hyper-V Manager.

  2. Use o certificado UEFI para proteger a inicialização da VM.

    1. Depois que a VM é criada, ela aparece no Gerenciador do Hyper-V. Selecione a VM, clique com o botão direito do mouse nela e selecione Configurações.
    2. No painel esquerdo, selecione a guia Segurança . Em seguida, em Inicialização Segura, na lista suspensa Modelo , selecione Autoridade de Certificação UEFI da Microsoft.
    3. Selecione OK para salvar as alterações.

    Captura de tela que mostra as opções de Inicialização Segura para a VM na página Configurações.

Etapa 2: Configurar a VM

Siga estas etapas no local do Azure para configurar a VM provisionada anteriormente:

  1. Entre na VM. Confira as etapas em Conectar-se a uma VM do Linux.

  2. Para baixar todas as listas de pacotes mais recentes dos repositórios, execute o seguinte comando:

    sudo apt update
    
  3. Instale o kernel personalizado do Azure. Esta etapa é necessária para que sua VM obtenha um IP para o adaptador de rede.

    sudo apt install linux-azure -y
    
  4. Instale o servidor SSH. Execute o comando a seguir:

    sudo apt install openssh-server openssh-client -y
    
  5. Configurar o sudo sem senha. Adicione o seguinte comando no final do /etc/sudoers arquivo usando visudo:

    ALL ALL=(ALL) NOPASSWD:ALL
    

Etapa 3: limpar a configuração residual

Exclua arquivos e dados específicos da máquina de sua VM para que você possa criar uma imagem de VM limpa sem nenhum histórico ou configurações padrão. Siga estas etapas no Azure Local para limpar a configuração residual.

Observação

Dependendo da versão do Ubuntu que você está usando, alguns desses arquivos podem não existir.

  1. Limpe as configurações padrão cloud-init.

    sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
    sudo rm -f /etc/cloud/ds-identify.cfg
    sudo rm -f /etc/netplan/*.yaml
    
  2. Limpe os logs e o cache.

    sudo cloud-init clean --logs --seed
    sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*
    sudo apt-get clean
    
  3. Remova o histórico de bash.

    rm -f ~/.bash_history 
    export HISTSIZE=0 
    logout
    
  4. Desligue a VM. No Gerenciador do Hyper-V, vá para Ação>Desligar.

Etapa 4: Criar a imagem da VM

Siga estas etapas usando a CLI do Azure no Azure Local para criar a imagem da VM direto do VHDX criado anteriormente.

  1. Execute o PowerShell como administrador.

  2. Entrar. Execute o cmdlet a seguir:

    az login
    
  3. Defina sua assinatura. Execute o cmdlet a seguir:

    az account set --subscription <Subscription ID>
    
  4. Defina parâmetros para sua assinatura, grupo de recursos, local personalizado, local, tipo de sistema operacional para a imagem, nome da imagem e o caminho em que a imagem está localizada. Substituir os parâmetros em < > pelos valores apropriados.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $customLocation = "<Custom location>"
    $location = "<Location for your Azure Local>"
    $osType = "<OS of source image>"
    

    Os parâmetros são descritos na tabela a seguir.

    Parâmetro Descrição
    subscription Assinatura associada à sua instância local do Azure.
    resource_group Grupo de recursos para a instância local do Azure que você associa a essa imagem.
    location Local da instância local do Azure. Por exemplo, o local pode ser eastus ou westreurope.
    os-type Sistema operacional associado à imagem de origem. Este sistema pode ser Windows ou Linux.
  5. Use o VHDX da VM para criar uma imagem de galeria. Use essa imagem de VM para criar VMs locais do Azure.

    Certifique-se de copiar o VHDX no armazenamento do usuário no volume compartilhado do cluster do Azure Local. Por exemplo, o caminho pode ser semelhante a C:\ClusterStorage\UserStorage_1\linuxvhdx.

    $imagePath = "Path to user storage in CSV" 
    $imageName = "mylinuxvmimg" 
    $osType = "Linux"
    
    az stack-hci-vm image create --subscription $subscription -g $resource_group --custom-location $customLocation --location $location --image-path $imagePath --name $imageName --debug --os-type $osType 
    
  6. Verifique se a imagem foi criada.