Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: ✔️ VMs Linux
Observação
CentOS mencionado neste artigo é uma distribuição Linux e em breve atingirá seu status de fim de suporte (End Of Life - EOL). Considere seu uso e planeje adequadamente. Para obter mais informações, consulte Diretrizes de fim da vida útil do CentOS.
Resumo
A tabela do sistema de arquivos do Linux, fstab, é uma tabela de configuração projetada para configurar regras em que sistemas de arquivos específicos são detectados e montados de maneira ordenada durante o processo de inicialização do sistema.
Este artigo discute várias condições em que uma configuração incorreta do fstab pode levar a problemas de inicialização e fornece diretrizes de solução de problemas.
Aqui estão alguns motivos comuns que podem levar a problemas de inicialização da máquina virtual (VM) devido à configuração incorreta do fstab:
- O nome do sistema de arquivos tradicional é usado em vez do identificador exclusivo universal (UUID) do sistema de arquivos.
- Um UUID incorreto é usado.
- Existe uma entrada para um dispositivo não conectado sem a opção
nofailna configuração do fstab. - Entrada incorreta na configuração do fstab.
Identificar problemas do fstab
Verifique o estado de inicialização atual da VM no log serial na folha de diagnóstico Boot no portal do Azure. A VM estará em um modo de emergência. Você vê entradas de log semelhantes ao exemplo a seguir, levando ao estado do Modo de emergência:
[K[[1;31m TIME [0m] Timed out waiting for device dev-incorrect.device.
[[1;33mDEPEND[0m] Dependency failed for /data.
[[1;33mDEPEND[0m] Dependency failed for Local File Systems.
…
Welcome to emergency mode! After logging in, type "journalctl -xb" to viewsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode.
Give root password for maintenance
(or type Control-D to continue)
Observação
/data é um exemplo de ponto de montagem usado. A falha de dependência para o ponto de montagem do sistema de arquivos será diferente com base nos nomes usados.
Solução
Há três maneiras de resolver o erro:
- Repare a máquina virtual online
- Reparar a máquina virtual offline.
Reparar a VM online
Usar o console serial
- Conecte-se ao o console serial da VM no portal Azure.
- O acesso manual ao modo de usuário único é necessário para reconfigurar o fstab. As etapas podem variar de acordo com o tipo de sistema operacional Linux usado e o acesso à conta root. Siga a documentação do modo de usuário único para acessar o modo de usuário único para cada imagem de parceiro Linux suportada.
Etapas de solução de problemas do fstab
Depois que a VM for inicializada no modo de usuário único. Use seu editor de texto favorito para abrir o arquivo fstab.
vi /etc/fstabVerificar os sistemas de arquivos listados em
/etc/fstab. Cada linha no arquivo fstab indica um sistema de arquivos que é montado quando a VM é iniciada. Para obter mais informações sobre a sintaxe do arquivo fstab, execute o comandoman fstab. Para solucionar uma falha na inicialização, revise a entrada do sistema de arquivos que não conseguiu montar. É uma boa prática revisar cada linha para garantir que ela esteja correta tanto na estrutura quanto no conteúdo. Alguns pontos a serem considerados para administrar corretamente um arquivo fstab são os seguintes:Os campos em cada linha são separados por tabulações ou espaços. As linhas em branco são ignoradas. As linhas que têm um sinal de número (#) como primeiro caractere são comentários. As linhas comentadas podem permanecer no arquivo fstab, mas não serão processadas. Recomendamos que você comente as linhas fstab sobre as quais não tem certeza, em vez de removê-las.
Monte os discos de dados em Azure VMs usando a UUID da partição do sistema de arquivos. Para determinar o UUID do sistema de arquivos, execute o
blkidcomando. Para obter mais informações sobre a sintaxe, execute o comandoman blkid. Exemplo da entrada UUID no arquivo fstab:UUID=<UUID number here> /data xfs defaults,nofail 0 0Use a opção
nofailnas entradas do sistema de arquivos (discos de dados) para permitir que a inicialização continue mesmo após a ocorrência de erros nas partições para as entradas correspondentes. A opçãonofailajuda a garantir que a VM seja iniciada mesmo se o sistema de arquivos estiver corrompido ou se não existir na inicialização.
Salve as alterações no arquivo fstab.
Use
mount -acomo prática recomendada após fazer alterações nas entradas do fstab. Isso executará novamente a configuração do fstab e notificará os usuários sobre qualquer sintaxe existente ou erros de entrada.Depois que a sintaxe e as entradas forem verificadas, reinicialize a VM usando o seguinte comando:
reboot -fSe o comentário ou correção das entradas for bem-sucedido, o sistema deverá acessar um prompt bash no portal. Verifique se você pode se conectar à VM.
Observação
Você também pode usar o
ctrl+xcomando que também reinicializará a VM.
Repare a VM offline
Se o acesso ao console serial da VM não estiver disponível, uma solução alternativa será reparar a VM offline. Há duas maneiras de adotar uma abordagem off-line:
Usar Azure ALAR (Reparo Automático do Linux)
scripts do Azure Linux Auto Repair (ALAR) são parte da extensão de reparo de máquinas virtuais descrita em Use Azure Linux Auto Repair (ALAR) para reparar uma máquina virtual Linux. O ALAR abrange a automação de vários cenários de reparo, incluindo /etc/fstab problemas.
Os scripts ALAR usam a extensão repair-button de reparo para corrigir problemas de fstab especificando --button-command fstab. Esse parâmetro aciona a recuperação automatizada. Implemente as seguintes etapas para automatizar erros de fstab por meio da abordagem ALAR offline:
az extension add -n vm-repair
az extension update -n vm-repair
az vm repair repair-button --button-command 'fstab' --verbose --resource-group $RGNAME --name $VMNAME
Observação
Substitua o nome $RGTEST do grupo de recursos e o nome $VMNAME da VM de acordo.
- O script de VM de reparo, em conjunto com o script ALAR, criará temporariamente um grupo de recursos, uma VM de reparo e uma cópia do disco do sistema operacional da VM afetada. Ele faz backup do arquivo original
/etc/fstabe o modifica removendo ou comentando entradas do sistema de arquivos de dados que não são necessárias para inicializar o sistema. - Depois que o sistema operacional for iniciado com êxito, revise e edite o
/etc/fstabarquivo para corrigir quaisquer erros que possam ter impedido uma reinicialização adequada. - Por fim, o
repair-buttonscript excluirá automaticamente o grupo de recursos que contém a VM de reparo.
Use o método manual
Se as abordagens do console serial e do ALAR não forem possíveis ou falharem, o reparo deverá ser executado manualmente. Siga as etapas aqui para anexar manualmente o disco do SO a uma VM de recuperação e troque o disco do SO de volta para a VM original:
- Anexe o disco do sistema operacional a uma VM de recuperação usando o portal Azure
- Anexe o disco do sistema operacional a uma VM de recuperação usando o CLI do Azure
Assim que o disco do SO for anexado com sucesso à VM de recuperação, siga as instruções chroot detalhadas para montar e realizar o chroot nos sistemas de arquivos do disco do SO anexado. Em seguida, implemente as etapas de solução de problemas do fstab para fazer as alterações apropriadas no arquivo fstab do disco do sistema operacional problemático.