J'exécute un serveur de fichiers utilisant un logiciel Linux RAID, configuré en tant que raid6. En tant que système de fichiers, j'ai choisi btrfs. Cependant, je n'utilise pas l'implémentation propre de btrfs raid6 car elle n'est pas encore très stable. Donc, fondamentalement, j'utilise raid au niveau des blocs. De plus, je fais des sauvegardes vers un autre emplacement de données vraiment importantes. Enfin, j'ai connecté un onduleur au serveur pour me protéger contre les coupures de courant et les surtensions.
Mes questions:
Je suis conscient que raid6 offre une bonne protection contre les pannes de disque dur, mais est-ce que btrfs, au-dessus de celui-ci, détectera réellement la pourriture des bits et le corrigera? Si c'est le cas, comment est-ce possible sans le système de fichiers raid1?
Md passe-t-il de temps en temps dans le bloc raid6 pour rechercher et corriger les corruptions? Dois-je le programmer?
Si vous avez mal agi, que me conseillez-vous plutôt de faire si je veux une bonne protection contre les défaillances de données et la pourriture de bits?
BTRFS RAID-6 est (bien que toujours expérimental) en fait assez stable maintenant. La version actuelle parvient même à corriger de nombreuses erreurs typiques, notamment le remplacement d'un disque en panne / manquant.
Comme ZFS, BTRFS effectue un checksum, ce qui signifie que vous pouvez toujours (et devriez le faire périodiquement) exécuter un nettoyage pour vérifier vos données. Si les données (données ou métadonnées) d'un lecteur sont endommagées, BTRFS sera en mesure de détecter les erreurs et s'il est redondant (à l'aide de BTRFS RAID-6), il pourra réparer les fichiers affectés. Après cela, il saura si les fichiers réparés sont corrects car il possède des sommes de contrôle.
Les systèmes RAID classiques (matériel), y compris le MD (logiciel), ne disposent pas de sommes de contrôle. Ces systèmes ne reposant que sur la parité, une combinaison malencontreuse d'erreurs sur plusieurs lecteurs pourrait très bien conduire à la corruption. En l'absence de sommes de contrôle, le système RAID (comme md) ne sera pas en mesure de vérifier que toutes les erreurs ont disparu après un nettoyage (c'est-à-dire que les fichiers sont corrects). Il existe des exemples (également des vidéos) qui démontrent une corruption de données sur un système RAID classique.
Il est important d'être averti dès que la première erreur de parité est détectée et de résoudre le problème dès que possible (nettoyage). De plus, étant donné que la parité est le seul moyen (peu fiable) permettant au système RAID de savoir si vos données sont correctes ou non, les sauvegardes de batterie doivent être utilisées pour éviter de perdre toutes ces précieuses données de parité dans le trou d'écriture lorsque l'alimentation est coupée. .
Maintenant, si vous utilisez un système de fichiers avancé tel que BTRFS qui effectue le contrôle en tant que système de fichiers unique (sans redondance) au-dessus d’un système RAID-6 stupide, c’est à ce système RAID de détecter et de corriger les erreurs car Système RAID, BTRFS ne pourra PAS les réparer. Il détectera les erreurs et vous aidera à décider quoi restaurer à partir de votre sauvegarde en vous indiquant quels fichiers (chemin) sont corrompus. Mais sinon, il serait trop tard d'ici là. C'est pourquoi cette configuration peut ne pas être une si bonne idée après tout.
Si vous utilisez BTRFS de la manière dont il est censé être utilisé, en créant un système de fichiers BTRFS RAID-6 (sans MD RAID) avec accès direct à vos disques, il sera en mesure de corriger les erreurs de manière fiable et de savoir si ces erreurs ont réellement disparu. parce qu'il a des sommes de contrôle. Il vous indiquera sur quels lecteurs ces erreurs se sont produites afin que vous sachiez quel lecteur est défectueux (vous pouvez le remplacer à l'aide des commandes btrfs). Le fait est que peu importe si un lecteur est mort ou manquant et que vous devez le remplacer ou si un lecteur est partiellement corrompu (car il est sur le point de mourir), BTRFS détectera les erreurs de manière fiable. Bien sûr, les scrubs périodiques sont aussi importants que les autres systèmes RAID pour détecter la corruption silencieuse (indice: cronjob ).
Encore une fois, BTRFS RAID-6 est toujours considéré à titre expérimental à certains égards, mais grâce à des sommes de contrôle, il offre déjà un moyen fiable de détecter (puis de corriger) les erreurs. C'est expérimental, donc cela pourrait planter dans certains cas, alors vous devriez essayer une version plus récente du noyau, qui corrige de nombreux problèmes BTRFS. Assurez-vous de rester à jour avec votre noyau (4.3 au moment de la rédaction, n'utilisez rien de plus ancien que celui de RAID-6). Toutefois, les cas d'utilisation RAID typiques (stockage de nombreuses données et remplacement d'un lecteur - une défaillance de plusieurs lecteurs peut être différente) fonctionnent déjà avec BTRFS.
Vous avez tagué votre question avec zfs . ZFS n'est pas inclus dans le noyau Linux, il devrait donc être installé manuellement - le port ZFSonLinuxfonctionne très bien. Il sera peut-être nécessaire de le réinstaller ou d'effectuer une autre réparation après l'installation d'une nouvelle version du noyau, mais ce n'est pas important maintenant. Bien entendu, certaines choses fonctionnent différemment dans ZFS. De plus, contrairement à un système de fichiers BTRFS, un zpool ZFS RAIDZ2 (comme RAID-6) ne peut pas être redimensionné (il existe des "astuces", mais le fait est qu'un raidz2 vdev ne peut pas vraiment être développé en ajoutant un lecteur), de sorte qu'un système existant ne peut pas facilement être étendu avec plus de lecteurs. Cependant, en ce qui concerne la stabilité, ZFS est probablement le meilleur choix de tous. Avec les sommes de contrôle, il offre la protection de données fiable décrite ci-dessus et il est suffisamment mûr pour tout gérer (pannes de plusieurs disques, contrôleur fragile), ZFS survit à presque tout et peut protéger / réparer vos données tant que vous avez assez de bons disques.
la source
Dans votre configuration, ce ne serait pas le cas.
Ce que je recommanderais, c’est l’utilisation de RAID-z2 intégré à ZFS, qui est ensuite capable d’effectuer une récupération bit-rot. L'activation de la compression lz4 fournira également de meilleures performances, ainsi que des économies d'espace.
la source