web-dev-qa-db-fra.com

Comment puis-je optimiser ext4 pour la fiabilité?

Comme ext4 a été présenté comme étant plus fiable que ext3 avec des journaux en blocs, y a-t-il une chance de le supposer fiable à 100%? Que se passe-t-il si l'activation de la journalisation de bloc est activée, ce qui est désactivé par défaut?

En tant que guide d’un ami pour expliquer mon cas de manière plus détaillée: j’ai un périphérique Linux intégré, après l’installation du clavier et du moniteur, qui fonctionne de manière autonome.

Mon devoir est de m'assurer que le système de fichiers est fiable afin d'éviter les erreurs manuelles correctes sur le périphérique. Je ne peux pas forcer mon client à utiliser un UPS avec chaque appareil pour éviter toute défaillance en cas de panne de courant.

Que peut me demander de plus ext4 en plus de bloquer la journalisation?

Merci d'avance.

11
amin

Non, vous ne pouvez jamais supposer que quelque chose soit fiable à 100%.

Les systèmes de fichiers journalisés minimisent les pertes de données en cas de panne imprévue. étendues et barrières aide encore plus, mais ne peut pas éliminer tous les problèmes associés. Personnellement, je n’ai jamais perdu de données à cause de la corruption du système de fichiers lors de l’utilisation de systèmes de fichiers journalisés.

De plus, la journalisation n'est pas désactivée par défaut.

Voici un bon aperçu de ext4 et de ses améliorations: http://kernelnewbies.org/Ext4

11
djeikyb

Une nouvelle fonctionnalité ajoutée à ext4 et introduite avec le noyau 3.5 est connue sous le nom de "somme de contrôle des métadonnées", qui est une autre fonctionnalité de ext4 censée améliorer la fiabilité et l'intégrité de la structure du système de fichiers.

L’implémentation globale est bien expliquée à débutants dans le noya :

Les systèmes de fichiers modernes tels que ZFS et Btrfs ont prouvé que garantir l'intégrité du système de fichiers à l'aide de sommes de contrôle est une fonctionnalité précieuse. Ext4 a ajouté la possibilité de stocker des sommes de contrôle de divers champs de métadonnées. Chaque fois qu'un champ de métadonnées est lu, la somme de contrôle des données lues est comparée aux sommes de contrôle stockées. Si elles sont différentes, cela signifie que le medata est corrompu (notez que cette fonctionnalité ne couvre pas les données, mais uniquement les structures de métadonnées internes). il n'a pas de capacités "d'auto-guérison").

Tout système de fichiers ext4 peut être mis à niveau pour utiliser des sommes de contrôle à l'aide de la commande "tune2fs -O metadata_csum" ou "mkfs -O metadata_csum" au moment de la création. Une fois cette fonctionnalité activée dans un système de fichiers, les anciens noyaux sans support de somme de contrôle ne pourront le monter qu'en lecture seule.

Des articles tels que celui-ci sur kernel.org expliquent plus en détail comment l'utilisation de sommes de contrôle de métadonnées peut empêcher les métadonnées corrompues d'endommager la structure du système de fichiers.

Cependant, l'article avertit également que:

Le code de contrôle des métadonnées a commencé à être intégré à mainline dans Linux 3.5 et, à compter de la version 3.7-r1, il est actuellement soumis à des tests par les utilisateurs. Ce code n'est pas encore solide.

Il n’est pas activé par défaut dans Ubuntu 12.10, et il est probablement préférable de ne pas l’activer pour le moment après les récents problèmes avec le système de fichiers ext4, comme indiqué ici .

4
user76204

Vous pouvez désactiver l'allocation différée sous ext4 (nodelalloc), ce qui augmenterait considérablement les chances de récupérer davantage de données si/lorsque vous subissiez une panne de courant lors d'une écriture, mais cela se ferait au prix d'une fragmentation accrue du fichier. système au fil du temps.

1
user3495444