Como evitar com responsabilidade “fsck forced”?

1

Então eu acabei de trocar um HDD RAID em um servidor. Eu tenho a mensagem "não foi verificada por X dias, fsck forçada", e estou esperando pacientemente agora.

Isso me faz pensar: como posso evitar essa situação com responsabilidade? Eu sei que eu poderia pular o fsck forçado, e que eu não posso realmente fazer um fsck real enquanto o sistema estiver rodando.

Então, existe uma maneira de fazer um fsck on-line em um servidor durante a noite, apenas para verificar se há algum problema em potencial? E se não houver, faça o sistema não executar o fsck forçado?

Um fsck on-line somente de leitura detectaria (e não repararia) os mesmos problemas que um fsck completo faria?

Este é um ext3.

    
por Moritz von Schweinitz 20.01.2018 / 20:57

4 respostas

2

Você pode usar e2croncheck (Relatório de Erros da Debian 773267 ) se você tiver seu fs em lvm.

    
por 21.01.2018 / 11:19
2

Mude para um sistema de arquivos com journaling mais moderno, como XFS ou ext4. Nesses sistemas, um fsck completo não é necessário se o sistema de arquivos estiver sujo; a revista é apenas repetida, o que leva um segundo ou mais. Mesmo se for forçado um fsck completo, ext4 é significativamente mais rápido em fsck que ext3.

Você precisará de um sistema Linux dos últimos anos que suporte o ext4. Em particular, a versão do kernel 2.6.24 ou superior. Parece que seu sistema é bem antigo, então talvez nem tenha suporte para o ext4. Se for esse o caso, é quase certo que já passou do fim da vida ...

(Nota: Enquanto o ext3 é registrado no diário, faltam várias otimizações presentes no ext4 que fazem com que o fsck seja executado muito mais rápido.)

    
por 20.01.2018 / 21:20
1

Você pode modificar se o sistema forçará o fsck a reiniciar de algumas maneiras diferentes:

  • Transient :: grub.conf

    Adicione o fastboot ao seu arquivo grub.conf no final da sua linha de kernel

  • Permanente :: fstab

    Na entrada fstab de sua montagem, a última coluna (uma das duas colunas numeradas) pode ser alternada para um valor 0. De acordo com a fstab manpage:

    The sixth field (fs_passno).
          This field is used by fsck(8) to determine the order in which filesystem  checks  are  done  at  boot
          time.   The root filesystem should be specified with a fs_passno of 1.  Other filesystems should have
          a fs_passno of 2.  Filesystems within a drive will be checked sequentially, but filesystems  on  dif‐
          ferent  drives  will  be  checked  at the same time to utilize parallelism available in the hardware.
          Defaults to zero (don't fsck) if not present.
    

Quanto à verificação de um sistema de arquivos ao vivo / montado, alguns artigos afirmam que você pode tentar definir tudo como somente leitura (montando o sistema de arquivos em questão como somente leitura e executando o fsck como somente leitura), embora a maioria deles os artigos também recomendam contra a prática principalmente devido à falta de confiabilidade dos resultados.

Eu encontrei esta sugestão que menciona um truque inteligente que você pode tentar se estiver usando o LVM para suas partições. No entanto, se você não tiver tal luxo, você provavelmente desejará: A: deixar os fscks seguirem seu curso (geralmente recomendado); ou B: planeje o tempo de inatividade durante o período da noite em que você mencionou onde você executa um fsck off-line. Além disso, como Michael Hampton mencionou, talvez seja hora de considerar algo um pouco mais novo que ext3: D

    
por 20.01.2018 / 21:47
0

Uma coisa responsável a fazer seria certificar-se de que existe um backup que você montou como leitura escrita e execute e2fsck on. Tal como um instantâneo LVM que é arquivado para mídia de longo prazo. (Certifique-se de fazer um teste de restauração de backup em algum momento!)

Se o fsck da cópia de backup ficou limpo e é novo o suficiente para atingir seus objetivos de tempo de recuperação, você tem alguma confiança em não fazer o fsck forçado. Se ele voltar sujo, então o ideal é marcar o volume principal de um fsck completo, como o e2croncheck, veja a resposta de Mario.

Ainda é uma boa idéia fazer fsck baseado em tempo pelo menos uma ou duas vezes por ano. Use tune2fs -i para definir um número de dias sob sua frequência típica de reinicialização.  Você precisa reinicializar para que as atualizações entrem em vigor. Aguarde tempo suficiente durante a manutenção planejada para um fsck.

    
por 21.01.2018 / 15:00