Ext4 - Comment activer la santé mentale supplémentaire, les sommes de contrôle, les validations, les tests de toute nature?

8

J'utilise Ext4 sur un disque dur, et pour être parfaitement honnête, je ne fais pas vraiment confiance au lecteur car il est ancien et comporte quelques blocs défectueux. J'ai des données non essentielles sur le disque, donc s'il est mort demain, alors ce n'est pas grave.

Cependant, je voudrais savoir si / quand il commence à mourir et remonter en lecture seule. Y a-t-il des options qui permettront des vérifications de fichiers supplémentaires sur un fs Ext4? (Je me fiche que cela ralentisse le système de fichiers.)

Rucent88
la source
1
Le disque dur a des vérifications CRC internes, donc même s'il échoue et / ou a des blocs en attente, il devrait détecter ces erreurs et les signaler au système d'exploitation. Si les fichiers sont endommagés en raison de blocs de disque dur endommagés, vous verrez ces dommages comme des erreurs d'E / S sans aucune option spéciale.
Martin von Wittich
@MartinvonWittich Le lecteur pourrait, ou non, mais si les données sont corrompues lors de leur transmission entre le lecteur et le contrôleur de disque, les vérifications internes du CRC du lecteur ne vous achètent rien ... Alors oui, le CRC au niveau FS est une fonctionnalité intéressante pour avoir.
Mathieu

Réponses:

8

Étant donné que le noyau 3.6 ext4 prend en charge la somme de contrôle des métadonnées (vous aurez également besoin d'e2fsprogs 1.43+), mais la stabilité de cette fonctionnalité n'est pas claire. De plus, vous pouvez monter votre système de fichiers ext4 avec la journal_checksumfonctionnalité mais ...

... il semble qu'à un moment donné dans le passé, les gens voulaient en faire une option par défaut, mais ce changement ne s'est pas produit en raison de problèmes .

Anon
la source
5

Cependant, je voudrais savoir si / quand il commence à mourir et remonter en lecture seule.

Le montage en lecture seule ne vous sauvera rien si le problème est des blocs défectueux - regardez le premier paragraphe ici et notez les problèmes associés aux erreurs de lecture .

Il n'y a aucun moyen de détecter les blocs défectueux sans lire physiquement sur le disque, donc, comme la recherche d'un piège à souris dans une pièce sombre, il n'y a aucun moyen d'éviter les problèmes potentiels lors de la vérification. Si vous pensez que le disque tombe en panne, périodiquement umountet exécutez e2fsck -csur toutes les partitions; s'il s'agit de votre système de fichiers racine et que vous devez utiliser, par exemple, un liveCD pour ce faire, faites-le. Selon la page de manuel;

-c Cette option oblige e2fsck à utiliser le programme badblocks (8) pour effectuer une analyse en lecture seule du périphérique afin de trouver les blocs défectueux. Si des blocs défectueux sont trouvés, ils sont ajoutés à l'inode de bloc défectueux pour les empêcher d'être alloués à un fichier ou un répertoire.

Si les blocs contenaient des données, une version récupérée peut se retrouver dans le /lost+foundrépertoire à un moment donné, je ne suis pas sûr.

Notez que cela peut prendre un certain temps. S'il y a des blocs défectueux, l'analyse peut déclencher des problèmes d'E / S qui bloquent l'ensemble du système pendant des heures, alors faites-le lorsque vous êtes à l'aise pour vous éloigner pendant un certain temps.

boucle d'or
la source
1
"piège à souris situé dans une pièce sombre". Belle phrase.
Faheem Mitha
3

De plus, de manière générale, certains utilitaires peuvent surveiller différents aspects de la situation et vous permettre de prendre les mesures appropriées.

Par exemple, l' smartctloutil du package smartmontools vous donnera accès à l'état SMART intégré pour certains lecteurs.

Vous pouvez également augmenter la fréquence des vérifications du système de fichiers sur une cible spécifique à l'aide de la tune2fscommande. Par exemple, il semble que tune2fs -c 1 targetle lecteur sera vérifié à peu près à chaque fois avant d'être monté au démarrage.


la source
1
smartctlpeut également exécuter le mécanisme d'autotest interne du disque, par exemple avec smartctl -t long /dev/sdX.
Martin von Wittich
1
@MartinvonWittich Le problème avec SMART est que vous devez savoir ce que vous cherchez en retour et ils ne vous disent pas nécessairement beaucoup de google : "Notre analyse identifie plusieurs paramètres de l'installation d'autosurveillance du lecteur (SMART) qui sont fortement corrélés avec les pannes. Malgré cette forte corrélation, nous concluons que les modèles basés uniquement sur des paramètres SMART sont peu susceptibles d'être utiles pour prédire les pannes de disques individuels. "
Mathieu
@Mathieu ouais, ce truc de prédiction SMART est IMO sans valeur. Mais les autotests sont selon mon expérience 100% précis. Malheureusement, la plupart des gens ne savent pas qu'ils existent et sont donc rarement utilisés.
Martin von Wittich
2

Bon point d'illuminÉ. Il est bon d'avoir le smartd en cours d'exécution dans backgroud qui vérifie périodiquement les échecs.

En plus de cela, vous pouvez utiliser

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.

Ce test de lecture-écriture non destructif ( -c -c), vous permet de savoir s'il y a des échecs de lecture.
Mais cela prend beaucoup de temps.

Il devrait donc s'agir d'une solution de transport en commun avant d'acheter un nouveau lecteur.


la source
Sauf que vous ne pouvez pas faire pendant que le FS est monté et que la recherche de mauvais blocs est lente comme la mélasse, donc ce n'est pas vraiment une option viable ...
Mathieu