Aller au contenu principal
file-recoveryINFO

Récupération RAID 1 : un seul miroir suffit presque toujours, et deux commandes les détruisent tous les deux

Le RAID 1 est le niveau où la récupération devrait être facile, puisque chaque disque contient une copie complète. Ce qui gâche tout, ce n'est pas la panne, c'est la commande suivante. Ce contre quoi met en garde le Linux RAID wiki, et pourquoi la version de métadonnées par défaut aujourd'hui vous empêche de simplement monter un membre isolé.

Par Eric Gerard · Éditeur · Save My Disk8 min de lecturePhoto via Pixabay

Le RAID 1 est le niveau où la récupération devrait être simple. Il n'y a aucune parité à reconstruire, aucun ordre de bandes à retrouver, et chaque disque contient une copie complète de tout. En pratique, c'est aussi le niveau où les gens détruisent leurs propres données avec le plus de désinvolture, parce que la grappe a toujours l'air vivante et que la solution a l'air évidente.

Ce n'est presque jamais la panne qui fait perdre les données. C'est la commande suivante.

Ce que la mise en miroir vous donne, et la seule chose qu'elle n'a jamais faite

Le RAID 1 maintient deux disques ou plus identiques. Chaque écriture va sur chaque membre, donc n'importe quel membre pris isolément est une copie intégrale de l'ensemble. C'est tout le mécanisme, et c'est pour cela que les chances de récupération sont bonnes.

C'est aussi pour cela que la protection est plus étroite qu'on ne le suppose. Une suppression est une écriture. Un chiffrement par rançongiciel aussi, comme un fichier écrasé ou un enregistrement corrompu. La mise en miroir les propage tous aux deux disques à la vitesse de la machine, fidèlement, parce que c'est précisément son travail.

Le RAID 1 protège de la mort d'un disque. Il n'a jamais protégé de quoi que ce soit qui atteint les données par le système de fichiers. Si vos fichiers ont disparu et que les disques sont en bonne santé, la grappe a fait exactement ce pour quoi elle a été construite, et aucune connaissance du RAID ne les ramènera. C'est un problème de récupération de fichiers sur un miroir, pas un problème de RAID.

La règle qui décide de la fin de l'histoire

Avant tout diagnostic, le Linux RAID wiki donne une seule instruction, et la parenthèse est la partie importante :

n'exécutez aucune commande qui écrira sur les disques (comme mdadm -C, fsck ou même mount, etc.).

La plupart des gens lisent cette liste et s'arrêtent aux deux premières. mount en fait partie. Un système de fichiers journalisé rejoue son journal au montage, ce qui est une écriture, effectuée avant que vous n'ayez rien décidé. Sur une grappe dégradée avec un membre que vous n'avez pas encore identifié comme bon, cette écriture peut tomber au pire endroit possible.

La même page écarte l'approche que presque tout le monde adopte sous pression :

N'essayez pas de réparer les choses par tâtonnements, faites relire par quelqu'un les mesures que vous vous apprêtez à prendre pour récupérer vos données avant de les mettre en pratique.

Le tâtonnement fonctionne quand les tentatives sont gratuites. Ici, chaque tentative peut être celle qui supprime la copie dont vous aviez besoin.

Trois situations, et une seule est difficile

Un membre est tombé et la grappe tourne encore. C'est le bon cas et il ne mérite aucun drame. Vous avez une copie complète. Copiez vos données ailleurs maintenant, avant de toucher au disque en panne. Le remplacer d'abord et lancer la reconstruction soumet votre unique copie survivante à une lecture intégrale exactement au moment où vous ne pouvez pas vous permettre une seconde panne.

Le contrôleur ou la machine est mort et les disques vont bien. Rien n'a été perdu. Les données sont intactes sur chaque membre, et la seule question est de savoir comment les atteindre, ce à quoi la version des métadonnées répond plus bas.

Les membres divergent et vous ne savez pas lequel est à jour. C'est le seul cas réellement difficile, et c'est un problème de diagnostic, pas de réparation. Tout ce qui détruit des données habite ici.

Un appareil photo reflex bi-objectif photographié de côté, ses deux objectifs superposés l'un au-dessus de l'autre.
Un appareil photo reflex bi-objectif photographié de côté, ses deux objectifs superposés l'un au-dessus de l'autre.

Deux objectifs d'apparence identique, et un seul dépose quelque chose sur la pellicule. Savoir lequel est lequel, c'est tout le travail.

Pourquoi votre disque isolé paraît non formaté

Le conseil que vous trouverez partout, c'est que vous pouvez extraire un disque d'un miroir et le lire comme un disque normal. C'était vrai, et la valeur par défaut a changé.

Le manuel de mdadm est précis :

Les différentes sous-versions stockent le superblock à des emplacements différents sur le périphérique, soit à la fin (pour la 1.0), soit au début (pour la 1.1), soit à 4 Ko du début (pour la 1.2).

Lisez ce que cela implique. Avec la 1.0, le superblock est à la fin, le système de fichiers commence à l'offset zéro, et un membre isolé se comporte bien comme un disque ordinaire. Avec la 1.1 et la 1.2, les métadonnées occupent le début, donc le système de fichiers commence plus loin. Un outil qui regarde l'offset zéro trouve des métadonnées là où il attendait une table de partitions, et signale le disque comme non formaté ou brut.

La 1.2 est la valeur par défaut moderne. Donc le résultat le plus courant, sur la configuration la plus courante, c'est un disque qui paraît vide et qui est parfaitement intact. Les gens qui acceptent une proposition de formatage à ce moment-là perdent tout, alors que le disque n'a jamais été endommagé. Il était décalé.

La commande qui dévore les grappes

Quand l'assemblage échoue, internet vous suggérera de recréer la grappe avec les mêmes paramètres. Le wiki traite le sujet directement :

La recréation doit être considérée comme un dernier recours, à n'utiliser que quand tout le reste a échoué. Les gens qui se trompent là-dessus sont l'une des principales raisons pour lesquelles des données sont perdues.

Et il explique le piège qui la rend si impitoyable :

Utiliser un mdadm dont les valeurs par défaut diffèrent de celui qui a servi à créer la grappe à l'origine rendra la grappe complètement inaccessible.

Les paramètres qui comptent ne sont pas seulement ceux que vous tapez. Ils incluent les valeurs par défaut de la version de mdadm qui a construit la grappe il y a des années, sur une distribution que vous ne faites peut-être plus tourner. Recréer avec les valeurs par défaut d'aujourd'hui écrit la disposition de métadonnées d'aujourd'hui par-dessus celle d'hier, et ce désaccord ne se rattrape pas en réessayant.

--assemble réutilise ce qui est déjà sur les disques. Le manuel le décrit comme l'assemblage des composants d'une grappe créée précédemment en une grappe active. C'est le sens sûr : il lit la description existante au lieu de la remplacer. Et quand vous assemblez, --readonly existe exactement pour ce moment. Le manuel indique qu'il démarrera la grappe en lecture seule plutôt qu'en lecture-écriture comme d'habitude, avec aucune écriture autorisée sur la grappe, et aucune resynchronisation, récupération ou reshape lancée. Une reconstruction qui démarre toute seule, avant que vous n'ayez identifié le membre à jour, c'est précisément le mode de défaillance contre lequel vous vous protégez.

Choix éditorial
4.5 / 5

Relire les fichiers depuis l'image d'un miroir

S'applique à une image disque que vous avez déjà faite, ou à un membre que vous arrivez à lire. Cela n'identifie pas quel miroir est à jour, et cela ne vous aidera pas avant que vous n'ayez cessé d'écrire sur la grappe.

Fondé en 2004Garantie 30 joursVersion gratuite 2 Go
Voir l'offre

L'ordre qui garde vos options ouvertes

Éteignez plutôt que d'expérimenter. Une grappe dégradée qu'on laisse tourner est une reconstruction en attente de démarrage.

Faites une image des deux membres avant toute autre chose. Pas du bon, des deux. Cloner un disque est une lecture, donc cela ne vous coûte rien, et chaque erreur ultérieure devient réversible. C'est cette seule étape qui sépare un mauvais après-midi d'une perte définitive.

Travaillez sur les copies. Assemblez en lecture seule, montez en lecture seule, récupérez depuis les images.

Identifiez le membre à jour avant de reconstruire, pas après. Si les deux disques étaient en ligne jusqu'à récemment, comparez ce que les métadonnées disent de chacun. Si vous n'arrivez pas à trancher, c'est une raison de vous arrêter, pas une raison d'en choisir un.

Reconstruisez en dernier. Une fois que vos données sont ailleurs pour de bon, une mauvaise supposition ne coûte rien.

La version courte

Le RAID 1 est le niveau le plus récupérable qui soit, parce que chaque disque est une copie complète et qu'il n'y a rien à reconstruire. Ce qui gâche tout, c'est d'écrire avant de diagnostiquer, et le Linux RAID wiki met mount dans la liste des choses qui écrivent.

Si votre disque paraît non formaté après que vous l'avez sorti de la grappe, vérifiez la version des métadonnées avant de le croire. Avec la 1.1 et la 1.2, les valeurs par défaut modernes, le système de fichiers ne commence pas à l'offset zéro et le disque est intact. Et traitez la recréation de la grappe comme la toute dernière chose à essayer, parce que les valeurs par défaut qui l'ont construite comptent autant que les paramètres dont vous vous souvenez.

Imagez les deux disques, assemblez en lecture seule, et ne reconstruisez qu'une fois les données à l'abri quelque part qui n'est pas la grappe.

L'instruction de n'exécuter aucune commande qui écrit sur les disques, y compris mount, la mise en garde contre la réparation par tâtonnements, la description de la recréation comme dernier recours et la note sur les valeurs par défaut divergentes de mdadm sont tirées du Linux RAID wiki. Les emplacements du superblock de métadonnées pour les versions 1.0, 1.1 et 1.2, la description de --assemble et le comportement de --readonly sont tirés de la page de manuel de mdadm. Les deux ont été vérifiés au moment de la rédaction ; recoupez avec la version de mdadm que vous utilisez. Les liens commerciaux portent l'attribut rel="sponsored nofollow" ; une commission d'affiliation peut s'appliquer sans surcoût pour vous.

Guides liés

Choix éditorial
4.5 / 5

Récupère tes fichiers supprimés → EaseUS

Scan gratuit · fichiers supprimés, formatés, perdus · Windows & Mac

Fondé en 2004Garantie 30 joursVersion gratuite 2 Go
Voir l'offre

Questions fréquentes

Puis-je simplement sortir un disque d'une grappe RAID 1 et le lire ?

Cela dépend entièrement de la version des métadonnées, et la valeur par défaut moderne joue contre vous. Le manuel de mdadm indique que les différentes sous-versions stockent le superblock à des emplacements différents sur le périphérique, soit à la fin (pour la 1.0), soit au début (pour la 1.1), soit à 4 Ko du début (pour la 1.2). Avec la 1.0, le superblock est à la fin, donc le système de fichiers commence à l'offset zéro et un membre isolé se lit souvent comme un disque ordinaire. Avec la 1.1 et la 1.2, le superblock occupe le début, donc le système de fichiers ne commence pas là où un outil l'attend, et le disque paraît non formaté. Il n'est pas endommagé. Il est décalé.

Le RAID 1 me protège-t-il d'une suppression de fichier par accident ?

Non, et c'est justement la panne que les gens vivent réellement. La mise en miroir signifie que les deux disques sont maintenus identiques, donc une suppression est écrite sur les deux à la fois. Il en va de même pour un chiffrement par rançongiciel, un mauvais enregistrement ou un fichier corrompu. Le RAID 1 protège de la mort d'un disque. Il n'a jamais protégé de quoi que ce soit que vous ou vos logiciels faites aux données, et c'est pour cela qu'il ne remplace pas une sauvegarde.

Dois-je reconstruire la grappe avant de récupérer mes données ?

Non. Une reconstruction écrit sur un membre, et si vous avez choisi le mauvais sens, elle écrase la bonne copie par la mauvaise. Récupérez d'abord, depuis des images, et reconstruisez ensuite sur du matériel dont vous avez déjà la preuve qu'il est sain. Le Linux RAID wiki est catégorique sur les écritures pendant la récupération : n'exécutez aucune commande qui écrira sur les disques, et il cite mount parmi elles.

Quelle est la différence entre --assemble et --create ?

Assemble réutilise les métadonnées déjà présentes sur les disques. Le manuel le décrit comme l'assemblage des composants d'une grappe créée précédemment en une grappe active. Create écrit de nouvelles métadonnées, ce qui veut dire qu'il peut écraser la description de votre grappe existante. Le wiki traite la recréation comme un dernier recours, à n'utiliser que quand tout le reste a échoué, et dit que les gens qui se trompent là-dessus sont l'une des principales raisons pour lesquelles des données sont perdues.

Ai-je besoin d'un logiciel de récupération RAID pour un miroir de deux disques ?

Souvent non. Le RAID 1 n'a aucune parité à reconstruire ni ordre de bandes à retrouver, donc dès que vous avez un membre lisible et le bon offset, une récupération de fichiers ordinaire sur une image de ce membre suffit généralement. Sortez l'outillage RAID dédié quand les membres divergent et que vous ne savez pas dire lequel est à jour, ce qui est un problème de diagnostic plutôt que de reconstruction.