Ext4 - Como habilitar sanidade adicional, somas de verificação, validações, testes de qualquer tipo?

8

Estou executando o Ext4 em um disco rígido e, para ser completamente honesto, não confio realmente no disco porque ele é antigo e tem alguns badblocks. Eu tenho dados não essenciais na unidade, por isso, se ele morreu amanhã, então não é grande coisa.

No entanto, gostaria de saber se / quando começar a morrer e remontar somente a leitura. Há alguma opção que permita verificações de arquivos extras em um Ext4 fs? (Eu não me importo se isso torna o sistema de arquivos mais lento.)

    
por Rucent88 24.01.2014 / 18:46

4 respostas

8

Como o kernel 3.6 ext4 suporta metadata checksum (você também precisa do e2fsprogs 1.43+), mas não está claro o quão estável é esse recurso. Além disso, você pode montar seu sistema de arquivos ext4 com o recurso journal_checksum , mas ...

... parece que, em algum momento no passado, pessoas queriam tornar essa uma opção padrão, mas essa alteração não aconteceu devido a problemas .

    
por 17.07.2014 / 10:26
5

However, I would like to know if/when it starts to die, and remount read only.

A montagem só de leitura não lhe poupará nada se o problema for blocos defeituosos - veja o primeiro parágrafo aqui e observe os problemas associados com os erros read .

Não há como detectar blocos ruins sem ler fisicamente o disco, portanto, como procurar um conjunto de interceptações de mouse em uma sala escura, não há maneiras de evitar possíveis problemas durante a verificação. Se você acredita que o disco está falhando, periodicamente umount e execute e2fsck -c em todas as partições; Se este for o seu sistema de arquivos raiz e você precisar usar, por exemplo, um liveCD para fazer isso, faça-o. De acordo com a página man;

-c This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in order to find any bad blocks. If any bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a file or directory.

Se os blocos continham dados, uma versão recuperada pode acabar no diretório /lost+found em algum momento, não tenho certeza.

Observe que isso pode levar algum tempo. Se houver bloqueios incorretos, a verificação pode acionar problemas de E / S que bloqueiam todo o sistema por horas, então faça isso quando estiver confortável andando embora por um tempo.

    
por 24.01.2014 / 19:04
3

Além disso, de maneira geral, alguns utilitários podem monitorar diferentes aspectos da situação e permitir que você tome as ações apropriadas.

Por exemplo, a ferramenta smartctl do pacote smartmontools dará você acessa o status SMART embutido para algumas unidades.

Você também pode aumentar a frequência de verificações de sistema de arquivos em um destino específico usando o comando tune2fs . Por exemplo, parece que tune2fs -c 1 target irá garantir que a unidade seja verificada praticamente todas as vezes antes de ser montada na inicialização.

    
por 24.01.2014 / 19:26
2

Bom ponto de iluminaçãoÉ. É bom ter o smartd rodando em backgroud que periodicamente verifica falhas.

Além disso, você pode usar

e2fsck -fvy -c -c -C0 /dev/sda1

-f    Force checking even if the file system seems clean.
-v    Verbose mode.
-y    Assume an answer of 'yes' to all questions
-C0   write  completion  information to stdout
-c -c If this option is specified twice, then the 
      bad block scan  will  be  done  using  a  non-destructive
      read-write test.

Este teste de leitura-gravação não destrutivo ( -c -c ), permite saber se existem leia falhas.
No entanto, leva muito tempo.

Por isso, deve ser uma solução de trânsito antes de comprar uma nova unidade.

    
por 24.01.2014 / 19:36