Bonjour,
Petit résumé des épisodes précédents :
1) Ayant constaté que les (vieux) disques que j'avais utilisés pour peupler mon NAS avaient des erreurs, je décide de les remplacer par des disques neufs. Sachant que ce n'est jamais sans risque, je demande au début de ce sujet quelques informations préalables.
2) Les premières informations fournies ici étaient erronées. Je dois reconfigurer entièrement le NAS avec les nouveaux disques et ceci fait, il n'accède pas aux données des vieux disques lorsque je les connecte un par un sur un dock USB3 dont j'avais préalablement testé le fonctionnement.
3) Il apparaît alors que même montés en SINGLE, les disques sont configurés en RAID par le NAS. Il faut donc remonter le RAID ailleurs pour accéder à son contenu
(Merci FX Cachem)
4) Il est probable que si j'avais enlevé les nouveaux disques et remis les vieux à leur place initiale, j'aurais retrouvé mes données et pu les transférer via le réseau vers un stockage temporaire ou via le dock USB3 vers des disques externes, puis rapatrier le tout sur les nouveaux disques. Je n'ai pas pris le risque de le vérifier et d'ailleurs, la méthode que j'ai pu utiliser convenait mieux à mes contraintes de temps et à mes besoins. En effet, la loi de la tartine beurrée ayant joué à plein, c'est au moment où je devais m'absenter pour plusieurs semaines et utiliser le NAS à distance que le problème m'est tombé dessus.
La suite de l'histoire :
Je dois d'abord expliquer que j'utilise le NAS de façon peu conventionnelle, c'est à dire en simple disque réseau sans redondance, d'où le montage des disques en SINGLE. C'est un choix possible pour moi car je dispose de plusieurs disques multimédia connectés à mon réseau. La capacité totale de ces disques est équivalente à celle des disques que j'ai installés à bord du NAS qui en assure donc le miroir. Je gère manuellement la redondance en utilisant un logiciel de synchronisation (l'excellent FreeFileSync). J'utilise également de façon plus ou moins régulière des vérifications de checksum (md5) des fichiers présents sur les différents disques afin d'éviter de refaire des comparaisons binaires très lourdes vu les volumes concernés.
Pourquoi ce choix ?
a) Parce que je suis parano et que plus les données sont séparées, moins il y a de risque de les perdre
b) Parce que je maîtrise la redondance et que je peux vérifier qui a tort ou raison lorsqu'il y a des écarts
c) Parce que je devrais doubler la capacité du NAS si je voulais qu'il soit redondant
d) Parce que la capacité de mes disques multimédia ne serait pas exploitée si le NAS faisait de la redondance interne
Bref, bien m'en a pris car ayant "perdu" temporairement l'accès aux données du NAS, j'ai pu recopier rapidement sur les nouveaux disques le contenu de chaque disque multimédia via le dock USB3. J'ai pu alors m'absenter en sachant que mes données étaient redondées, tout en étant encore également présentes sur les vieux disques.
Mais alors, pourquoi me plaindre de ne plus avoir accès aux données des vieux disques puisque j'avais une sauvegarde ?
Pour au moins deux raisons, la première étant qu'il est fort désagréable d'avoir des données sur un disque dur et de ne pas pouvoir y accéder. La deuxième est que rien ne me garantissait que les données présentes dans ma sauvegarde étaient "les bonnes", c'est à dire qu'elles étaient intègres, si je ne pouvais pas les comparer avec les données du NAS. C'est pourquoi à mon retour, je me suis penché sur la solution indiquée par
FX Cachem.
Il se trouve que j'ai une chance supplémentaire mais mon cas doit être assez rare : mon PC fixe est équipé de 3 tiroirs SATA (IB-170SK-B) dans lesquels je peux insérer des disques à volonté, et de deux vieux disques IDE intégrés que je peux effacer et reconfigurer si nécessaire. Habituellement, je boote sur un des disques SATA, sous Windows ou sous Linux selon mes besoins. Pour cette manipulation, j'ai du installer MINT sur l'un des disques internes IDE afin de pouvoir monter les 3 vieux disques du NAS dans les tiroirs. Si j'avais mis 4 disques au lieu de 3 dans mon NAS, ou pire si j'avais eu un NAS à 8 ou 10 baies, cela aurait été bien plus compliqué, voire impossible. Il me semble quand même que pour des cas comme ça, la marque devrait proposer des outils permettant un accès aux données même si la configuration est incomplète, quite à devoir permuter les disques pour accéder à l'ensemble des données ...
Utilisation de mdadm (méthode FX Cachem) :
Après installation de MINT et mise à jour en l'absence des disques du NAS, puis redémarrage avec ceux-ci insérés, l'installation de mdadm ne pose pas de problème et celle de lvm2 est inutile car il est déjà présent. A l'issue, les volumes md0 à md3 sont présents et peuvent êtres accédés, comme on peut le constater ci-dessous.
Code:
a****@M**** ~ $ sudo -i
[sudo] password for a****:
M**** ~ # apt-get install mdadm
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Paquets recommandés :
default-mta mail-transport-agent
Les NOUVEAUX paquets suivants seront installés :
mdadm
0 mis à jour, 1 nouvellement installés, 0 à enlever et 43 non mis à jour.
Il est nécessaire de prendre 364 ko dans les archives.
Après cette opération, 1 223 ko d'espace disque supplémentaires seront utilisés.
[...]
fait
* Starting MD monitoring service mdadm --monitor [ OK ]
Traitement déclenché pour ureadahead (0.100.0-16) ...
Traitement déclenché pour initramfs-tools (0.103ubuntu4.3) ...
update-initramfs: Generating /boot/initrd.img-3.13.0-37-generic
Warning: No support for locale: fr_FR.utf8
M**** ~ # apt-get install lvm2
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
lvm2 est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 43 non mis à jour.
M**** ~ # mdadm -Asf && vgchange -ay
mdadm: /dev/md/1 has been started with 1 drive.
mdadm: /dev/md/2 has been started with 1 drive.
mdadm: /dev/md/0 has been started with 3 drives (out of 4).
mdadm: /dev/md/126 has been started with 3 drives (out of 4).
mdadm: /dev/md/3 has been started with 1 drive.
No volume groups found
M**** ~ # mount
[...]
/dev/md1 on /media/a****/25ce99d0-... type ext4 (rw,nosuid,nodev,uhelper=udisks2)
/dev/md2 on /media/a****/e043344d-... type ext4 (rw,nosuid,nodev,uhelper=udisks2)
/dev/md0 on /media/a****/9993bdeb-... type ext4 (rw,nosuid,nodev,uhelper=udisks2)
/dev/md3 on /media/a****/990ac8fc-... type ext4 (rw,nosuid,nodev,uhelper=udisks2)
M**** ~ #
J'ai alors pu lancer sous MINT un recalcul des checksums md5 de l'ensemble des fichiers qui étaient présents sur le NAS et comparer celles-ci avec leurs homologues de mes disques multimédia. J'ai essuyé quelques erreurs d'accès à certains fichiers et trouvé quelques checksums divergentes. Il a ensuite été facile de comparer les fichiers discordants et de choisir les bonnes instances. Il est à noter que tous les fichiers dégradés étaient situés sur le NAS, mais rien ne pouvait me le garantir sans effectuer cette vérification. Tout est donc bien qui finit bien et rien n'est perdu à part du temps ...
Pour votre information sachant que md5deep n'est pas disponible, si vous souhaitez faire calculer les checksums md5 de vos fichiers par votre NAS lui-même, il faut :
- Activer SSH et savoir ouvrir une session dans ce mode sur le NAS depuis votre ordinateur, par exemple avec PuTTY.
- Pour chaque dossier concerné envoyer la commande suivante :
Code:
find NomDossier -type f -exec md5sum "{}" + >>/share/Public/NomDossier.md5 &
Sur le mien, deux commandes lancées en parallèle consomment plus de 95% de CPU sans perturber plus que ça le fonctionnement du NAS.
En conclusion, je trouve que cette expérience soulève plusieurs questions, parmi lesquelles :
A) Pourquoi les disques SINGLE sont-ils en fait montés en RAID, avec la compliquation qui en résulte en cas de problème ?
B) Pourquoi n'existe-t-il pas d'outil permettant d'accéder en mode dégradé aux données si tous les disques ne sont pas présents ?
Cordialement
Pulsar33