Partilhar via


Usar o ALAR (Reparo Automático) do Linux do Azure para corrigir uma VM do Linux

Aplica-se a: ✔️ VMs do Linux

Na próxima vez que você precisar executar um reparo em sua VM (máquina virtual) Linux do Azure, poderá automatizar o trabalho colocando os scripts ALAR (Reparo Automático do Linux no Azure) para trabalhar para você. Você não precisa mais executar o trabalho manualmente. Esses scripts simplificam o processo de recuperação e permitem que até mesmo usuários inexperientes recuperem sua VM Linux facilmente.

O ALAR utiliza a extensão de reparo de VM descrita em Reparar uma VM do Linux usando os comandos de reparo da Máquina Virtual do Azure.

O ALAR abrange os seguintes cenários de reparo:

  • Erro de sintaxe /etc/fstab malformado em disco ausente
  • Initrd danificado ou linha initrd ausente no /boot/grub/grub.cfg
  • O último kernel instalado não é inicializável
  • O console serial e o número de série do GRUB estão configurados incorretamente ou estão ausentes
  • Instalação ou configuração do GRUB/EFI danificada

Quanto às ações da ALAR

fstab

Essa ação remove todas as linhas no arquivo /etc/fstab que não são necessárias para inicializar um sistema. Primeiro, uma cópia do arquivo original é feita para referência. Quando o sistema operacional é iniciado, o administrador pode editar o fstab para corrigir quaisquer erros que não permitiram uma reinicialização do sistema antes.

Para obter mais informações sobre problemas com um arquivo /etc/fstab malformado, consulte Solucionar problemas de inicialização de VM do Linux devido a erros de fstab.

kernel

Essa ação altera o kernel padrão. O script substitui o kernel quebrado pela versão instalada anteriormente.

Para obter mais informações sobre mensagens que podem ser registradas no console serial para eventos de inicialização relacionados ao kernel, consulte Como recuperar uma máquina virtual Linux do Azure de problemas de inicialização relacionados ao kernel.

initrd

Essa ação pode ser usada para corrigir um initrd ou initramfs corrompido ou criado incorretamente.

Para que o initrd ou initramfs seja criado corretamente, adicione os módulos hv_vmbus, hv_netvsce hv_storvsc à imagem.

Problemas de inicialização relacionados ao Initrd podem aparecer como os seguintes sintomas registrados.

Não sincronizando VFSNenhuma inicialização de trabalho encontrada

Em ambos os casos, as informações a seguir são registradas antes que as entradas de erro sejam registradas.

Falha na descompactação

serialconsole

Essa ação corrige uma configuração de console serial incorreta ou malformada para o kernel Linux ou GRUB. Recomendamos que você execute essa ação nos seguintes casos:

  • Nenhum menu GRUB é exibido na inicialização da VM.
  • Nenhuma informação relacionada ao sistema operacional é gravada no console serial.

grubfix

Essa ação pode ser usada para reinstalar o GRUB e regenerar o arquivo grub.cfg .

efifixo

Essa ação pode ser usada para reinstalar o software necessário para inicializar a partir de uma VM GEN2. O arquivo grub.cfg também é regenerado.

auditado

Se a VM for desligada imediatamente após a inicialização devido à configuração do daemon de auditoria, use esta ação. Essa ação modifica a configuração do daemon de auditoria (no arquivo /etc/audit/auditd.conf ) alterando o HALT valor configurado para quaisquer action parâmetros para , o SYSLOGque não força o desligamento do sistema. Em um ambiente LVM (Gerenciador de Volume Lógico), se o volume lógico que contém os logs de auditoria estiver cheio e houver espaço disponível no grupo de volumes, o volume lógico também será estendido em 10% do tamanho atual. No entanto, se você não estiver usando um ambiente LVM ou não houver espaço disponível, somente o arquivo de configuração será alterado.

Importante

Essa ação alterará a postura de segurança da VM alterando a configuração do daemon de auditoria para que o problema de desligamento da VM possa ser resolvido. Depois que a VM estiver em execução e acessível, você precisará reverter a configuração do daemon de auditoria para o estado original. Para isso, um backup do arquivo auditd.conf é criado em /etc/audit pela ação ALAR.

Como usar o ALAR

Os scripts ALAR usam o comando reaprar extensão run e sua opção --run-id. O valor da --run-id opção para a recuperação automatizada é linux-alar2. Para corrigir uma VM do Linux usando um script ALAR, siga estas etapas:

  1. Crie uma VM de resgate:

    az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
    
  2. Execute um script com uma das ações do ALAR na VM de resgate:

    az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
    
  3. Troque os discos do sistema operacional e exclua os recursos temporários:

    az vm repair restore --verbose -g RG-NAME -n VM-NAME 
    

    Observação

    Os discos originais e novos não serão excluídos.

Aqui estão as explicações para os parâmetros nos comandos acima:

  • RG-NAME: o nome do grupo de recursos que contém a VM quebrada.

  • VM-NAME: O nome da VM quebrada.

  • RESCUE-UID: o usuário criado na VM de reparo para logon. É o equivalente ao usuário criado em uma nova VM no portal do Azure.

  • RESCUE-PASS: A senha para RESCUE-UID, entre aspas simples. Por exemplo: 'password!234'.

  • DISK-COPY: o nome da cópia de disco do sistema operacional que será criada a partir da VM quebrada.

  • ACTION: Uma tarefa com script a ser executada, como initrd ou fstab.

    Observação

    Você pode passar por uma ou várias operações de recuperação. Para várias operações, delineie-as usando vírgulas sem espaços, como fstab,initrd.

Limitação

Não há suporte para VMs clássicas.

Próximas etapas

Se você tiver um bug ou quiser solicitar um aprimoramento para a ferramenta ALAR, poste um comentário no GitHub.

Você também pode encontrar as informações mais recentes sobre a ferramenta ALAR no GitHub.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.