Système de fichiers stable pour les fichiers volumineux (sauvegardes) pour Linux


18

Quel système de fichiers conviendrait le mieux pour les sauvegardes? Je m'intéresse principalement à la stabilité (en particulier l'incorruptibilité des fichiers lors des redémarrages durs, etc.), mais l'efficacité avec laquelle il gère les gros fichiers (> 5 Go) est également importante.

De plus, quels paramètres de montage dois-je utiliser?

Le noyau est Linux> = 2.6.34.

EDIT: Je ne veux pas de méthodes de sauvegarde. J'ai besoin du système de fichiers pour les stocker.


Combien de données sauvegardez-vous quotidiennement, hebdomadairement, mensuellement? Combien de données prévoyez-vous de conserver et pendant combien de temps?
Stefan Lasiewski

Doit-il être Linux? Avez-vous envisagé ZFS (une ancienne version stable 14) sur FreeBSD 8.1?
Stefan Lasiewski

Il s'agit d'un stockage de sauvegarde temporaire pour ordinateur portable - jusqu'à ce qu'il soit envoyé sur un disque dur externe. Depuis FreeBSD - bien que ce soit un système merveilleux, il ne me convient pas dans cette application.
Maciej Piechotka

Réponses:


13

Vous pouvez utiliser ext4, mais je recommanderais le montage avec le journal_datamode qui désactivera le dealloc (allocation retardée) qui a causé des problèmes antérieurs. La désactivation de dealloc ralentit l'écriture de nouvelles données, mais rend les écritures en cas de panne de courant moins susceptibles d'avoir une perte. Je dois également mentionner que vous pouvez désactiver le dealloc sans l'utiliser, journal_datace qui présente d'autres avantages (ou du moins il l'a fait dans ext3), comme des lectures légèrement améliorées, et je pense qu'une meilleure récupération.

Les extensions aideront toujours à la fragmentation. Les extensions permettent de supprimer les fichiers volumineux beaucoup plus rapidement que ext3, la suppression de toutes les données de taille (fichier unique) devrait être quasi instantanée sur ext4 mais peut prendre beaucoup de temps sur ext3. (toute étendue basée FS a cet avantage)

ext4 est également fsckplus rapide que ext3.

Une dernière note, il y avait des corrections de bugs dans ext4 jusqu'à comme 2.6.31? Je m'assurerais essentiellement que vous n'exécutez pas un noyau avant 2.6.32 qui est un noyau LTS.


Si optant pour « solide comme le roc » , ext4il pourrait être utile d'envisager la mertis et les risques associés à son on disk layoutet donc la sécurité des données au repos (un aspect discuded ici )
humanityANDpeace

5

XFS est solide comme le roc et a été dans le noyau pendant des siècles. Examinez des outils comme xfs_freeze et voyez si c'est ce que vous recherchez. Je sais que c'est très subjectif mais j'ai utilisé XFS pour le stockage de données pendant des années sans incident.


2
sur la base de ma réponse, je tiens à noter que XFS est basé sur les extensions et présente de nombreux avantages identiques à ext4. Cependant, je voudrais mentionner qu'il comporte les mêmes problèmes avec dealloc que ext4 peut avoir, ce qui peut entraîner une perte de données dans un scénario pull the plug. Je ne sais pas si dealloc peut être désactivé dans XFS.
xenoterracide

Oui, je ne sais pas si vous pouvez désactiver la fonctionnalité, mais l'utilitaire xfs_freeze garantit une image disque stable. Depuis la page de manuel: L'indicateur -f demande que le système de fichiers XFS spécifié soit gelé à partir de nouvelles modifications. Lorsque cette option est sélectionnée, toutes les transactions en cours dans le système de fichiers sont autorisées à se terminer, les nouveaux appels système d'écriture sont arrêtés, les autres appels qui modifient le système de fichiers sont arrêtés et toutes les données sales, les métadonnées et les informations de journal sont écrites sur le disque. Tout processus tentant d'écrire sur le système de fichiers figé bloquera l'attente de déblocage du système de fichiers.
dsp

Je suis moins préoccupé par la corruption de fichiers en cours d'écriture tant que le vidage fonctionne.
Maciej Piechotka

3

Utilisez simplement un outil de sauvegarde qui prend en charge les sommes de contrôle. Par exemple, Dar le fait et prend en charge les sauvegardes incrémentielles. Ensuite, vous pouvez sauvegarder sur un système de fichiers solide comme ext3.

Pour les sauvegardes, vous voulez quelque chose de solide / très stable. Et btrfs ou ZFS ne sont tout simplement pas prêts aujourd'hui.


Je le compte comme ext3
Maciej Piechotka

0

btrfs a une somme de contrôle transparente des données écrites sur le disque et un mode d'écriture ordonnée rapide qui est toujours activé (et de nombreuses autres fonctionnalités conviviales pour la sauvegarde), ce qui le rend attrayant pour les sauvegardes. Voir https://btrfs.wiki.kernel.org/index.php/Main_Page pour plus de détails.


Hmm. Bien que cela puisse être une bonne réponse à l'avenir, je ne pense pas que btrfs ou zfs soient stables sous Linux en ce moment.
Maciej Piechotka

J'ai eu btrfs recommandé par les utilisateurs du noyau. Pour la dernière fois, je savais que le mainteneur Mercurial l'exécutait sur au moins une machine à temps plein. J'utilise ZFS via FUSE quotidiennement et c'est solide comme le roc, même si c'est un peu lent à cause de FUSE.
durin42

1
btrfs sur le format du disque n'est pas encore stable ... Je ne le recommanderais pas tant que cela n'aura pas changé. Les programmeurs du noyau peuvent exécuter toutes sortes de choses folles.
xenoterracide

ZFS pourrait être stable ... mais à cause de la chose FUSE, je ne m'embêterais pas avec.
xenoterracide

1
ZFS sur FUSE est un hack. Ce pourrait être un bon hack, je ne lui ferais pas confiance pour vos données commerciales critiques. De plus, ZFS sur FUSE a des problèmes de vitesse, et la vitesse est critique lorsque vous sauvegardez des téraoctets de données.
Stefan Lasiewski

0

Un aspect très important que je n'ai pas vu discuté dans les autres réponses est les caractéristiques de stabilité de la disposition sur disque du système de fichiers (par exemple, pensez à consulter la documentation des candidats potentiels ext4 , btrfs )

Alors que la base de code et la quantité de tests des pilotes du système de fichiers de base de code, sont en effet importants comme l'ont montré d'autres réponses, car il s'agit de la protection des données lors de leur lecture et de leur écriture , la disposition / le format sur disque est la protection contre les risques pour vos données au repos, qui sont des formes de défauts matériels tels que des secteurs illisibles ou la pourriture silencieuse des bits .

En ce qui concerne ext4, qui aurait de bonnes caractéristiques en ce qui concerne la base de code testée depuis longtemps ( https://events.static.linuxfound.org/sites/events/files/slides/AFL%20filesystem%20fuzzing%2C%20Vault%202016_0. pdf montre qu'il a fallu plus de temps pour y trouver des bugs que par exemple dans le plus moderne et le plus complexe btrfs), j'ai étudié la résistance ext4 au repos et j'ai trouvé quelques défauts à mon humble avis, du système de fichiers autrement loué.

Je considérerais prudent (s'il est choisi ext4comme " fs de sauvegarde solide comme le roc ") d'améliorer la récupérabilité (bien que "le durcisse") en utilisant l' e2imageoutil ext4fourni par les développeurs de

Le programme e2image enregistre les métadonnées critiques du système de fichiers ext2, ext3 ou ext4 situées sur l'appareil dans un fichier spécifié par image-file. Le fichier image peut être examiné par dumpe2fs et debugfs, en utilisant l'option -i pour ces programmes. Cela peut aider un expert à récupérer des systèmes de fichiers endommagés de manière catastrophique. À l'avenir, e2fsck sera amélioré pour pouvoir utiliser le fichier image pour aider à récupérer un système de fichiers gravement endommagé.

et recommander .

C'est une très bonne idée de créer des fichiers image pour tous les systèmes de fichiers sur un système et d'enregistrer la disposition de la partition (qui peut être générée à l'aide de la commande fdisk -l) à intervalles réguliers --- au démarrage, et / ou chaque semaine ou donc. Le fichier image doit être stocké sur un système de fichiers autre que le système de fichiers dont il contient les données, pour garantir que ces données sont accessibles dans le cas où le système de fichiers a été gravement endommagé.

Étant donné que toutes les métadonnées de la disposition ext4 sur disque ne sont pas toutes fournies avec redondance (c'est-à-dire que le superbloc est stocké plusieurs fois en tant que copie, les indos sont stockés à un seul endroit), le ext4est sûrement inférieur à btrfscelui qui fournirait au moins des sommes de contrôle pour toutes les métadonnées + les données du contenu du fichier .

Pour contrebalancer ce "défaut" ext4et en faire plus rock-soliddans l'aspect de la disposition sur disque, il pourrait être raisonnable de compléter cette redondance et la récupération du contenu du fichier via par2/ parchive

Bien que la question exige de se concentrer sur les solutions de système de fichiers, je voudrais attirer l'attention sur le fait que la plupart de ce qu'un système de fichiers fournit (mise en cache, journaux, récupération de l'espace alloué, allocation de blocs, etc.) n'est pas nécessairement quelque chose dont les données de sauvegarde bénéficieront. beaucoup en étant seulement écrit et lu en vrac et rarement. Pour cela, j'envisagerais d'utiliser une sauvegarde parchivesupplémentaire tarcomme la solution de sauvegarde la plus optimale, car la base de code utilisée dans les processus est réduite, et donc il y a moins de bugs s'il y a moins de "fonctionnalités".

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.