Preparar uma máquina virtual do SLES ou openSUSE para o AzurePrepare a SLES or openSUSE virtual machine for Azure

Este artigo pressupõe que você já instalou um sistema operacional SUSE ou openSUSE Linux em um disco rígido virtual.This article assumes that you have already installed a SUSE or openSUSE Linux operating system to a virtual hard disk. Existem várias ferramentas para criar arquivos .vhd, por exemplo, uma solução de virtualização como o Hyper-V.Multiple tools exist to create .vhd files, for example a virtualization solution such as Hyper-V. Para obter instruções, consulte Instalar a função Hyper-V e configurar uma máquina Virtual.For instructions, see Install the Hyper-V Role and Configure a Virtual Machine.

Notas de instalação do SLES / openSUSESLES / openSUSE installation notes

  • Veja também as Notas de instalação gerais do Linux para obter mais dicas sobre como preparar o Linux para o Azure.Please see also General Linux Installation Notes for more tips on preparing Linux for Azure.
  • O formato VHDX não tem suporte no Azure, somente o VHD fixo.The VHDX format is not supported in Azure, only fixed VHD. Você pode converter o disco em formato VHD usando o Gerenciador do Hyper-V ou o cmdlet convert-vhd.You can convert the disk to VHD format using Hyper-V Manager or the convert-vhd cmdlet.
  • Ao instalar o sistema Linux, é recomendável que você use partições padrão em vez de LVM (geralmente o padrão para muitas instalações).When installing the Linux system it is recommended that you use standard partitions rather than LVM (often the default for many installations). Isso irá evitar conflitos de nome LVM com VMs clonadas, especialmente se um disco do sistema operacional precisar ser anexado a outra VM para solução de problemas.This will avoid LVM name conflicts with cloned VMs, particularly if an OS disk ever needs to be attached to another VM for troubleshooting. Se você preferir, é possível usar LVM ou RAID em discos de dados.LVM or RAID may be used on data disks if preferred.
  • Não configure uma partição de permuta no disco do SO.Do not configure a swap partition on the OS disk. O agente Linux pode ser configurado para criar um arquivo de permuta no disco de recursos temporários.The Linux agent can be configured to create a swap file on the temporary resource disk. Verifique as etapas a seguir para obter mais informações a esse respeito.More information about this can be found in the steps below.
  • Todos os VHDs no Azure devem ter um tamanho virtual alinhado a 1 MB.All VHDs on Azure must have a virtual size aligned to 1MB. Ao converter de um disco não processado para VHD, certifique-se de que o tamanho do disco não processado seja um múltiplo de 1 MB antes da conversão.When converting from a raw disk to VHD you must ensure that the raw disk size is a multiple of 1MB before conversion. Consulte Notas de Instalação do Linux para obter mais informações.See Linux Installation Notes for more information.

Use o SUSE StudioUse SUSE Studio

SUSE Studio pode criar e gerenciar facilmente suas imagens SLES e openSUSE no Azure e no Hyper-V.SUSE Studio can easily create and manage your SLES and openSUSE images for Azure and Hyper-V. Essa é a abordagem recomendada para personalizar suas próprias imagens SLES e openSUSE.This is the recommended approach for customizing your own SLES and openSUSE images.

Como uma alternativa para compilar seu próprio VHD, o SUSE também publica imagens BYOS (traga sua própria assinatura) para SLES no depósito de VM.As an alternative to building your own VHD, SUSE also publishes BYOS (Bring Your Own Subscription) images for SLES at VM Depot.

Preparar SUSE Linux Enterprise Server para o AzurePrepare SUSE Linux Enterprise Server for Azure

  1. No painel central do Gerenciador do Hyper-V, selecione a máquina virtual.In the center pane of Hyper-V Manager, select the virtual machine.

  2. Clique em Conectar para abrir a janela da máquina virtual.Click Connect to open the window for the virtual machine.

  3. Registre seu sistema SUSE Linux Enterprise para permitir baixar atualizações e instalar pacotes.Register your SUSE Linux Enterprise system to allow it to download updates and install packages.

  4. Atualize o sistema com os patches mais recentes:Update the system with the latest patches:

    # sudo zypper update
    
  5. Instalar o agente Linux do Azure e a nuvem-initInstall Azure Linux Agent and cloud-init

    # SUSEConnect -p sle-module-public-cloud/15.2/x86_64  (SLES 15 SP2)
    # sudo zypper refresh
    # sudo zypper install python-azure-agent
    # sudo zypper install cloud-init
    
  6. Habilitar waagent & Cloud-init para iniciar na inicializaçãoEnable waagent & cloud-init to start on boot

    # sudo chkconfig waagent on
    # systemctl enable cloud-init-local.service
    # systemctl enable cloud-init.service
    # systemctl enable cloud-config.service
    # systemctl enable cloud-final.service
    # systemctl daemon-reload
    # cloud-init clean
    
  7. Atualizar waagent e configuração de inicialização de nuvemUpdate waagent and cloud-init configuration

    # sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf
    # sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf
    
    # sudo sh -c 'printf "datasource:\n  Azure:" > /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg'
    # sudo sh -c 'printf "reporting:\n  logging:\n    type: log\n  telemetry:\n    type: hyperv" > /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg'
    
  8. Edite o arquivo/etc/default/grub para garantir que os logs do console sejam enviados para a porta serial e, em seguida, atualize o arquivo de configuração principal com Grub2-mkconfig-o/boot/Grub2/grub.cfgEdit /etc/default/grub file to ensure console logs are sent to serial port and then update the main configuration file with grub2-mkconfig -o /boot/grub2/grub.cfg

    console=ttyS0 earlyprintk=ttyS0 rootdelay=300
    

    Isso garantirá que todas as mensagens do console sejam enviadas para a primeira porta serial, que pode auxiliar o suporte do Azure com problemas de depuração.This will ensure all console messages are sent to the first serial port, which can assist Azure support with debugging issues.

  9. Verifique se o arquivo/etc/fstab faz referência ao disco usando seu UUID (por UUID)Ensure /etc/fstab file reference the disk using its UUID (by-uuid)

  10. Modifique as regras de udev para evitar a geração de regras estáticas das interfaces Ethernet.Modify udev rules to avoid generating static rules for the Ethernet interface(s). Essas regras podem provocar problemas ao clonar uma máquina virtual no Microsoft Azure ou no Hyper-V:These rules can cause problems when cloning a virtual machine in Microsoft Azure or Hyper-V:

    # sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
    # sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
    
  11. É recomendável editar o arquivo "/etc/sysconfig/network/dhcp" e alterar o parâmetro DHCLIENT_SET_HOSTNAME para o seguinte:It is recommended to edit the file "/etc/sysconfig/network/dhcp" and change the DHCLIENT_SET_HOSTNAME parameter to the following:

    DHCLIENT_SET_HOSTNAME="no"
    
  12. Em "/etc/sudoers", exclua o comentário ou remova as seguintes linhas, se estiverem presentes:In "/etc/sudoers", comment out or remove the following lines if they exist:

    Defaults targetpw   # ask for the password of the target user i.e. root
    ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!
    
  13. Confira se o servidor SSH está instalado e configurado para iniciar no tempo de inicialização.Ensure that the SSH server is installed and configured to start at boot time. Geralmente, esse é o padrão.This is usually the default.

  14. Alternar configuraçãoSwap configuration

    Não crie espaço de permuta no disco do sistema operacional.Do not create swap space on the operating system disk.

    Anteriormente, o agente Linux do Azure foi usado para configurar automaticamente o espaço de permuta usando o disco de recurso local que está anexado à máquina virtual depois que a máquina virtual é provisionada no Azure.Previously, the Azure Linux Agent was used automatically configure swap space by using the local resource disk that is attached to the virtual machine after the virtual machine is provisioned on Azure. No entanto, isso agora é manipulado por Cloud-init, você não deve usar o agente do Linux para formatar o disco de recursos criar o arquivo de permuta, modificar os seguintes parâmetros de forma /etc/waagent.conf apropriada:However this is now handled by cloud-init, you must not use the Linux Agent to format the resource disk create the swap file, modify the following parameters in /etc/waagent.conf appropriately:

    # sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf
    # sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf
    

    Se você quiser montar, Formatar e criar a permuta, poderá:If you want mount, format and create swap you can either:

    • Passe isso como uma configuração de Cloud-init sempre que criar uma VM.Pass this in as a cloud-init config every time you create a VM.

    • Use uma diretiva Cloud-init inclusas na imagem que fará isso toda vez que a VM for criada:Use a cloud-init directive baked into the image that will do this every time the VM is created:

      cat > /etc/cloud/cloud.cfg.d/00-azure-swap.cfg << EOF
      #cloud-config
      # Generated by Azure cloud image build
      disk_setup:
        ephemeral0:
          table_type: mbr
          layout: [66, [33, 82]]
          overwrite: True
      fs_setup:
        - device: ephemeral0.1
          filesystem: ext4
        - device: ephemeral0.2
          filesystem: swap
      mounts:
        - ["ephemeral0.1", "/mnt"]
        - ["ephemeral0.2", "none", "swap", "sw", "0", "0"]
      EOF
      
  15. Execute os comandos a seguir para desprovisionar a máquina virtual e prepará-la para provisionamento no Azure:Run the following commands to deprovision the virtual machine and prepare it for provisioning on Azure:

    # sudo rm -rf /var/lib/waagent/
    # sudo rm -f /var/log/waagent.log
    
    # waagent -force -deprovision+user
    # rm -f ~/.bash_history
    
    
    # export HISTSIZE=0
    
    # logout
    
  16. Clique em Ação -> Desligar no Gerenciador do Hyper-V.Click Action -> Shut Down in Hyper-V Manager. Agora, seu VHD Linux está pronto para ser carregado no Azure.Your Linux VHD is now ready to be uploaded to Azure.


Preparar o openSUSE 13.1+Prepare openSUSE 13.1+

  1. No painel central do Gerenciador do Hyper-V, selecione a máquina virtual.In the center pane of Hyper-V Manager, select the virtual machine.

  2. Clique em Conectar para abrir a janela da máquina virtual.Click Connect to open the window for the virtual machine.

  3. No shell, execute o comando 'zypper lr'.On the shell, run the command 'zypper lr'. Se este comando retornar uma saída semelhante à seguinte, os repositórios estarão configurados conforme o esperado – nenhum ajuste é necessário (observe que os números de versão podem variar):If this command returns output similar to the following, then the repositories are configured as expected--no adjustments are necessary (note that version numbers may vary):

    # AliasAlias NomeName habilitadoEnabled AtualizarRefresh
    11 Nuvem: Tools_13.1Cloud:Tools_13.1 Nuvem: Tools_13.1Cloud:Tools_13.1 SimYes SimYes
    22 openSUSE_13 openSUSE_13.1_OSSopenSUSE_13.1_OSS openSUSE_13 openSUSE_13.1_OSSopenSUSE_13.1_OSS SimYes SimYes
    33 openSUSE_13 openSUSE_13.1_UpdatesopenSUSE_13.1_Updates openSUSE_13 openSUSE_13.1_UpdatesopenSUSE_13.1_Updates SimYes SimYes

    Se o comando retornar "Nenhum repositório definido...", use os seguintes comandos para adicionar esses repositórios:If the command returns "No repositories defined..." then use the following commands to add these repos:

    # sudo zypper ar -f http://download.opensuse.org/repositories/Cloud:Tools/openSUSE_13.1 Cloud:Tools_13.1
    # sudo zypper ar -f https://download.opensuse.org/distribution/13.1/repo/oss openSUSE_13.1_OSS
    # sudo zypper ar -f http://download.opensuse.org/update/13.1 openSUSE_13.1_Updates
    

    Em seguida, você pode verificar se os repositórios foram adicionados executando novamente o comando 'zypper lr'.You can then verify the repositories have been added by running the command 'zypper lr' again. Caso um dos repositórios de atualização relevantes não esteja habilitado, habilite-o com o comando a seguir:In case one of the relevant update repositories is not enabled, enable it with following command:

    # sudo zypper mr -e [NUMBER OF REPOSITORY]
    
  4. Atualize o kernel para a versão mais recente disponível:Update the kernel to the latest available version:

    # sudo zypper up kernel-default
    

    Ou para atualizar o sistema com todos os patches mais recentes:Or to update the system with all the latest patches:

    # sudo zypper update
    
  5. Instale o Agente Linux do Azure.Install the Azure Linux Agent.

    # sudo zypper install WALinuxAgent
    
  6. Modifique a linha de inicialização do kernel em sua configuração de grub para incluir parâmetros adicionais de kernel para o Azure.Modify the kernel boot line in your grub configuration to include additional kernel parameters for Azure. Para fazer isso, abra "/boot/grub/menu.lst" em um editor de texto e verifique se o kernel padrão inclui os seguintes parâmetros:To do this, open "/boot/grub/menu.lst" in a text editor and ensure that the default kernel includes the following parameters:

     console=ttyS0 earlyprintk=ttyS0 rootdelay=300
    

    Isso garantirá que todas as mensagens do console sejam enviadas para a primeira porta serial, que pode auxiliar o suporte do Azure com problemas de depuração.This will ensure all console messages are sent to the first serial port, which can assist Azure support with debugging issues. Além disso, remova os seguintes parâmetros da linha de inicialização do kernel, se existirem:In addition, remove the following parameters from the kernel boot line if they exist:

     libata.atapi_enabled=0 reserve=0x1f0,0x8
    
  7. É recomendável editar o arquivo "/etc/sysconfig/network/dhcp" e alterar o parâmetro DHCLIENT_SET_HOSTNAME para o seguinte:It is recommended to edit the file "/etc/sysconfig/network/dhcp" and change the DHCLIENT_SET_HOSTNAME parameter to the following:

     DHCLIENT_SET_HOSTNAME="no"
    
  8. Importante: Em "/etc/sudoers", exclua o comentário ou remova as seguintes linhas, se estiverem presentes:Important: In "/etc/sudoers", comment out or remove the following lines if they exist:

    Defaults targetpw   # ask for the password of the target user i.e. root
    ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!
    
  9. Confira se o servidor SSH está instalado e configurado para iniciar no tempo de inicialização.Ensure that the SSH server is installed and configured to start at boot time. Geralmente, esse é o padrão.This is usually the default.

  10. Não crie espaço de permuta no disco do SO.Do not create swap space on the OS disk.

    O Agente Linux do Azure pode configurar automaticamente o espaço de permuta usando o disco de recurso local que é anexado à VM após o provisionamento no Azure.The Azure Linux Agent can automatically configure swap space using the local resource disk that is attached to the VM after provisioning on Azure. Observe que o disco de recurso local é um disco temporário e pode ser esvaziado quando a VM é desprovisionada.Note that the local resource disk is a temporary disk, and might be emptied when the VM is deprovisioned. Depois de instalar o Agente Linux do Azure (consulte a etapa anterior), modifique os seguintes parâmetros em /etc/waagent.conf de maneira apropriada:After installing the Azure Linux Agent (see previous step), modify the following parameters in /etc/waagent.conf appropriately:

    ResourceDisk.Format=y
    ResourceDisk.Filesystem=ext4
    ResourceDisk.MountPoint=/mnt/resource
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048    ## NOTE: set this to whatever you need it to be.
    
  11. Execute os comandos a seguir para desprovisionar a máquina virtual e prepará-la para provisionamento no Azure:Run the following commands to deprovision the virtual machine and prepare it for provisioning on Azure:

    # sudo waagent -force -deprovision
    # export HISTSIZE=0
    # logout
    
  12. Verifique se o Agente Linux do Azure é executado durante a inicialização:Ensure the Azure Linux Agent runs at startup:

    # sudo systemctl enable waagent.service
    
  13. Clique em Ação -> Desligar no Gerenciador do Hyper-V.Click Action -> Shut Down in Hyper-V Manager. Agora, seu VHD Linux está pronto para ser carregado no Azure.Your Linux VHD is now ready to be uploaded to Azure.

Próximas etapasNext steps

Agora, você está pronto para usar o disco rígido virtual SUSE Linux para criar novas máquinas virtuais no Azure.You're now ready to use your SUSE Linux virtual hard disk to create new virtual machines in Azure. Se esta é a primeira vez que você está carregando o arquivo .vhd para o Azure, consulte Criar uma VM do Linux a partir de um disco personalizado.If this is the first time that you're uploading the .vhd file to Azure, see Create a Linux VM from a custom disk.