Jump to content
Goldoark

Question sur RAID 1 avec BtrFS

Recommended Posts

Bonjour,

Sous Linux, avec un RAID 1 en utilisant le nouveau système de fichiers BtrFS, j'aimerais savoir si en cas de corruption du checksum d'un fichier (à savoir un CRC32), le fichier intègre est automatiquement reconstitué à partir de son double présent sur le disque en miroir.

J'aurais la même question vis-à-vis du ReFS sous Windows (qui utilise un CRC64 mais c'est sensiblement la même chose).

Je sais que c'est technique comme question, mais pas moyen de trouver des infos sur le net.

@+ ^^

Share this post


Link to post
Share on other sites

(Nope, même question mais une fois pour Windows et une fois pour Linux donc chacune posée dans le sous-fofo qu'il faut, ça passe).

Share this post


Link to post
Share on other sites

En effet, il s'agissait de questions techniques, donc j'ai préféré poster dans plusieurs sections pour être sûr d'accrocher un expert.

 

Bon, après avoir potassé des pages et des pages de docu, j'ai la réponse. Je la poste ici car ça peut servir.

 

Mon idée, c'est de créer un PC pour le stockage de données à long terme FIABLE pour un particulier.

- En général, quand je fais un PC fixe, j'utilise un disque dur très rapide pour l'OS.

- Pour les fichiers sur lesquels je travaille habituellement et qui sont modifiés régulièrement, j'utilise un système RAID 1. J'utilise un contrôleur RAID 1 (donc RAID 1 "hardware") uniquement quand je manque de slots SATA, sinon j'utilise plutôt du RAID 1 "logiciel" (cad du "mirroring") car je préfère me passer de la carte RAID (si elle lâche, il faut exactement la même, c'est assez ennuyeux).

- Pour les fichiers que je stocke à long terme, que j'archive et auxquels je touche peu/pas, je les mets en général sur 2 disques durs. En effet, je suis confronté à 3 types de problème :

=> Risque de suppression accidentelle, dans ce cas, la copie me permet de récupérer. Normalement, le concept de la "Corbeille" évite cela, mais j'ai trop l'habitude de faire MAJ+Suppr, va falloir que je change ça.

=> Risque de rupture du moteur. Cela nous est tous arrivé, un disque dur n'est assuré que 5 ans par les constructeurs (sauf pour les SCSI des pros, mais bon, je suis un particulier). Au-delà de ces 5 ans, le moteur risque de lâcher. S'il lâche, les données sont perdues (à moins d'envoyer chez un réparateur comme Chronodisk), c'est pour ça qu'on a inventé le RAID.

=> Risque d'altération des fichiers. Soit par hasard (très peu probable, et il existe déjà des mécanismes de contrôle basiques au niveau du disque dur lui-même), soit par head-crash ou autres problèmes dans le genre.

 

Pour prévenir les 2 premiers problèmes, j'utilise 2 disques durs. La probabilité que les 2 lâchent en même temps est si infime qu'on peut estimer que c'est impossible (après, si tu shoots dans ton PC, bah...).

 

Pour prévenir le troisième problème, j'utilise un programme en C/ASM qui contrôle le CRC de chaque fichier une fois par semaine, sur chaque disque dur. Il compare les CRC des copies et me prévient si un CRC est altéré par rapport à ce qu'il est censé être. Et il remplace les fichiers modifiés pour mettre à jour la copie 1 fois par semaine.

 

Ma question était de savoir si un mirroring (RAID 1 logiciel) en utilisant les systèmes ReFS et BtrFS pouvaient remplir ces fonctions nativement. Après analyse, il s'avère que la réponse est non, enfin oui pas complètement, et selon le paramétrage du mirroring. Le problème, c'est que ce n'est pas conçu pour cela. De plus, on ne peut pas récupérer un fichier en cas de suppression accidentelle (cause la plus probable de perte de données).

 

Enfin, mon programme est inadapté, car lorsqu'un programme lit un fichier, il lit la cache, et pas les octets du fichier eux-mêmes. Une altération du bus de transfert a plus de chances de créer une erreur de CRC qu'une altération des cristaux du disque dur.

Il faudrait donc un programme de "Sauvegarde décrémentale" vers un autre disque dur, c'est-à-dire un programme qui contrôle les CRC de manière sûre (en détectant les potentielles erreurs de bus et sans lire la cache, un prog qui lit directement le disque dur), et remplace uniquement les fichiers modifiés.

 

En fait, avec un vocabulaire correct, ma question est : un mirroring en ReFS / BtrFS permet-il ou non de faire une sauvegarde décrémentale en interne sur le disque miroir, avec archivage des données ?

Et la réponse est non, mieux vaut utiliser un logiciel adapté.

J'en cherche un (de préférence open source) sous Windows autant que Linux.

Share this post


Link to post
Share on other sites

Après recherches...

Sous Linux, l'outil classique pour l'amélioration des performances d'un disque dur est : hdparm.
(Il existe des portages pour Windows mais attention une mauvaise commande peut tout casser)

Pour les sauvegardes décrémentales, on utilise la commande rsync.

On l'utilise avec des scripts de lancement selon ce que l'on souhaite (démarrage, horaires spécifiques, taux d'espace libre, etc.). Il est possible de paramétrer rsync pour faire des contrôles de checksum, CRC, MD5, etc.
Il existe aussi un portage  de resync sous Windows (il faudra passer par le planificateur de tâches pour le lancer).

Sous les systèmes Windows, je ne trouve pas d'utilitaire professionnel pour faire du décrémental.

Le meilleur que j'ai trouvé semble être "Iperius Backup". Mais faut voir ce qu'il faut...

Share this post


Link to post
Share on other sites

Je confirme j'ai testé il y a pas longtemps sur du RAID1 en btrfs

j'ai créé mon volume btrfs avec 2 disque en raid 1

monté le volume puis écrit des data dessus

Démonté le volume

A coups de dd j'ai écrase dans morceau du disque. Pas le début sinon au montage il ne voit plus le disque (signature btrfs ecrasé)

en lisant mes fichiers dans le /var/log/message j'ai bien vu des erreurs et reconstruction.

Le scrub te permet de parcourir tes disques en background, vérifier l’intégrité de toutes tes data et les réparer éventuellement (au lieu de lire les fichiers).

 

Share this post


Link to post
Share on other sites
Le 2016-09-26 à 16:59, Goldoark a dit :

Pour prévenir les 2 premiers problèmes, j'utilise 2 disques durs. La probabilité que les 2 lâchent en même temps est si infime qu'on peut estimer que c'est impossible (après, si tu shoots dans ton PC, bah...).

J'ai assisté 3 fois déjà dans ma vie à cet événement : 2 fois au boulot sur des unités RAID5(2/3=tout perdu) et RAID 50(1, puis 1, puis 1, puis 1,... sur 1 semaine 5 disques/24), et une fois chez moi RAID1 (1 puis l'autre), puis HDD backup mensuel(donc 3 disques morts, pas de même date, pas stockés au même endroit)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...