Um servidor reinicia em modo de emergência, uma partição se recusa a ser montada ou o kernel reporta erros ext4. A tentação é iniciar imediatamente. fsck no primeiro dispositivo encontrado. É exatamente isso que deve ser evitado: um reparo no volume errado ou em um sistema de arquivos que ainda esteja montado pode agravar o dano.
fsck É um iniciador que chama a ferramenta apropriada para o sistema de arquivos. Antes de qualquer correção, você deve identificar a partição, verificar seu tipo, confirmar que ela não está mais em uso e manter um backup utilizável. Eu sempre começo com uma verificação de não escrita. O reparo só vem depois disso.

Identifique a partição e seu sistema de arquivos.
Não confie apenas em um nome como /dev/sdb1
lsblk -o NOME,TAMANHO,TIPO DE FS,UUID,PONTOS DE MONTAGEM,MODELO,SERIAL,TIPO
sudo blkid
O guia para lsblk no Linux detalha esta verificação. Se você estiver trabalhando com LVM, selecione o volume lógico que contém o sistema de arquivos, por exemplo. /dev/mapper/vg_data-lv_archive, não o volume físico de LVM localizado abaixo. O artigo dedicado a LVM e suas diferentes camadas nos permite distinguir entre eles.
Em seguida, verifique como a fonte é utilizada:
findmnt --source /dev/nvme0n1p2
findmnt --target /mnt/dados
A presença de uma saída indica que o volume aumentou. Se não houver saída, não tenha certeza: releia as instruções. lsblk E descobriEm seguida, verifique o UUID. O tutorial sobre o UUID do sistema de arquivos Evita confundir duas partituras com nomes semelhantes.
Nunca repare um sistema de arquivos montado.
O kernel pode modificar metadados enquanto fsck Tente corrigi-los. As duas visões do sistema de arquivos tornam-se então inconsistentes. Uma montagem somente leitura não é garantia suficiente para improvisar um reparo: a ferramenta deve ser usada nas condições especificadas em sua documentação.
Para um determinado volume de dados, interrompa os serviços que o utilizam, feche os terminais localizados na sua árvore de diretórios e, em seguida, desmonte-o:
sudo fuser -vm /mnt/data
sudo umount /mnt/data
findmnt --source /dev/nvme0n1p2
Se quantidade A resposta é que o alvo está ocupado, não force a situação. Identifique o processo com fusível Ou lsofEm seguida, encerre corretamente o serviço em questão.
Para a partição raiz, utilize uma mídia live ou um ambiente de recuperação onde essa partição não esteja montada. Simplesmente alternar para o modo de usuário único ou de emergência não comprova que a partição raiz esteja desmontada. Em um servidor remoto, certifique-se de que um console KVM, IPMI ou o acesso de emergência do provedor de hospedagem esteja disponível antes de reiniciar.
Comece com um cheque sem necessidade de escrita.
fsck seria lançado sem executar a verificação:
sudo fsck -N /dev/nvme0n1p2
Em um sistema ext2, ext3 ou ext4 desmontado, execute uma verificação forçada, respondendo “não” a todas as modificações propostas:
sudo e2fsck -f -n /dev/nvme0n1p2
rc=$?
-n -f É necessário um exame completo, mesmo que o sistema de arquivos pareça limpo. Essa verificação pode ser demorada em volumes grandes. Se o disco apresentar erros de entrada/saída, timeouts ou desconexões, primeiro faça backup do que ainda estiver legível e depois verifique o hardware. fsck Ele repara uma estrutura lógica, não um disco que apresenta falha física.
As mensagens do kernel podem confirmar esse cenário:
sudo dmesg -T | grep -Ei 'Erro de E/S|tempo limite excedido|reinicialização|EXT4-fs|XFS|BTRFS'
sudo journalctl -k -b -p aviso..alerta
O guia para erros de dmesg e kernel ajuda a colocar esses alertas de volta na ordem dos eventos.
Reparar um volume ext4 sem responder “sim” em todos os lugares.
Se a verificação reportar inconsistências, verifique seu backup, confirme o dispositivo novamente e mantenha o volume desmontado. Em seguida, inicie o reparo interativo:
sudo e2fsck -f /dev/nvme0n1p2
Leia cada pergunta antes de enviar. Evite - sim Por padrão, essa opção aceita todos os reparos, mesmo quando a situação exige fazer backup do volume ou examinar o hardware antes de prosseguir. Em uma partição grande, executar um reparo automático indiscriminadamente representa um equilíbrio ruim entre velocidade e controle.
Quando o comando terminar, capture imediatamente o código de saída:
rc=$?
echo "Código e2fsck: $rc"
Leia o código de saída do fsck
zero: nenhum erro detectado;umdoisErros corrigidos, reinicialização necessária;quatro: erros não corrigidos;oito: erro na operação do testador;dezesseistrinta e dois: controle cancelado;cento e vinte e oitoErro relacionado a uma biblioteca compartilhada.
Esses valores funcionam como bits e podem ser somados. Um código. quatro exige que o volume de leitura/gravação não seja aumentado como se tudo estivesse resolvido. Um código oito Solicitação para verificar o comando, o tipo de sistema de arquivos, as ferramentas instaladas e as mensagens exibidas.
XFS e Btrfs usam suas próprias ferramentas.
fsck O método não se aplica da mesma forma a todos os sistemas de arquivos. Para XFS, comece com uma verificação sem modificações do volume desmontado:
sudo xfs_repair -n /dev/nvme0n1p2
xfs_repair, sempre fora do suporte. Não use -EU Como primeira tentativa: redefinir o registro pode resultar na perda de metadados recentes.
Para o Btrfs, o controle prudente é explicitamente somente leitura:
sudo btrfs check --readonly /dev/nvme0n1p2
Não adicione --reparar Sem um backup e sem um procedimento adaptado ao problema observado. A própria documentação do Btrfs adverte contra o seu uso sem orientação especializada. Sempre verifique. com lsblk -f antes de escolher a ferramenta.
Após reparar o sistema de arquivos ext4, execute uma verificação de não gravação. Se o resultado for positivo, remonte o volume e verifique o tipo, o espaço disponível e as novas mensagens do kernel.
sudo e2fsck -f -n /dev/nvme0n1p2
sudo mount /mnt/data
findmnt /mnt/dados
df -hT /mnt/dados
sudo journalctl -k -b -p aviso..alerta
Para uma partição raiz controlada na inicialização, verifique também os registros da inicialização anterior:
jornalctl -b -1 | grep -Ei 'fsck|sistema de arquivos|erro de E/S|EXT4-fs|XFS|BTRFS'
systemctl --falhou
Lá página de manual do fsck descreve o inicializador e seus códigos de saída. Para ext4, veja e2fsckOs procedimentos específicos para XFS e para Btrfs Deve permanecer como prioridade em relação a um comando genérico encontrado aleatoriamente.