Comment restaurer des données d’une grappe Unraid lorsque les limites de parité sont dépassées

Deux disques sont perdus dans un ensemble à parité simple, ou trois dans une configuration à double parité. Unraid ne peut pas démarrer l’ensemble et, même s’il le pouvait, les données des disques défaillants sont mathématiquement irrécupérables par la parité seule. C’est le point où la redondance de stockage prend fin et où commence la récupération de données.

Comment restaurer des données d’une grappe Unraid lorsque les limites de parité sont dépassées

La suite dépend d’une caractéristique d’Unraid qui constitue son principal atout en cas de défaillance grave : les données présentes sur les disques survivants restent en place, intactes et entièrement lisibles — chaque disque représente un système de fichiers indépendant qui n’a pas besoin des autres disques pour être accessible. Cet article explique comment extraire ce qui subsiste et quels outils rendent cette récupération de données depuis une machine Windows praticable.

Pourquoi Unraid gère les pannes différemment de RAID 5 et RAID 6

Dans une matrice RAID 5, les données des fichiers sont découpées en blocs de taille fixe et réparties en bandes (stripes) sur l’ensemble des disques membres. Aucun disque ne contient un fichier complet. Une bande de N+1 disques contient des fragments de données provenant de N disques et un bloc de parité. La perte de deux disques rend chaque bande qui touchait l’un ou l’autre disque incomplète — ce qui rend la matrice entière illisible, quel que soit le nombre de disques survivants.

Unraid écrit les fichiers en entier sur des disques individuels. Un fichier écrit sur le disque 2 existe intégralement sur le disque 2. Le disque 3 n’en a aucune connaissance. Le disque de parité contient le XOR des disques de données au niveau des secteurs, ce qui permet de reconstruire tout disque perdu unique — mais les disques de données sont des volumes indépendants et autonomes.

Scénario de panne RAID 5 (parité simple) Unraid (parité simple)
1 disque perdu Matrice dégradée, données accessibles via la parité Ensemble dégradé, données accessibles via la parité
2 disques perdus Matrice entièrement illisible — toutes les données perdues Les disques survivants sont entièrement lisibles ; seules les données des disques défaillants sont perdues
3 disques perdus Matrice entièrement illisible Les disques survivants sont entièrement lisibles ; la perte de données se limite aux disques défaillants
Tous sauf 1 disque perdus Matrice entièrement illisible Le dernier disque survivant est lisible de façon indépendante
Tous les disques perdus Perte totale de données Perte totale de données

La conséquence est importante. Dans une matrice RAID 5 à six disques, la perte de deux disques entraîne la perte de tout ce qui était stocké sur les six. Dans un ensemble Unraid à six disques, la perte de deux disques ne provoque la perte que des données physiquement situées sur ces deux disques : les quatre disques restants sont lisibles immédiatement, sans opération de reconstruction.

La parité sert à la reconstruction, pas à la lecture des disques survivants.

Une fois que la capacité de reconstruction assurée par la parité est dépassée, celle-ci devient sans objet pour la récupération des disques survivants. Chaque disque de données est formaté en tant que volume XFS ou BTRFS standard. Vous pouvez connecter n’importe quel disque survivant à une machine Linux et le monter directement — les données sont présentes, la parité n’est pas requise. En revanche, Windows ne prend pas en charge XFS ou BTRFS nativement, d’où la nécessité d’utiliser des outils de récupération de données ou des utilitaires spécifiques pour accéder aux volumes.

Que perd‑on réellement lorsque la parité est dépassée

Comprendre précisément l’étendue de la perte de données évite à la fois un pessimisme excessif et une préparation insuffisante. Le visualiseur ci‑dessous montre un ensemble Unraid de six disques avec parité simple, dans lequel deux disques de données sont en panne.

Unraid — parité dépassée

La frontière de la perte de données correspond directement aux disques physiques défaillants. Rien sur les disques 1, 3 ou 5 n’est affecté. Les fichiers qui étaient stockés sur les disques 2 ou 4 sont perdus — non pas parce que la parité a échoué de manière générale, mais parce que ces secteurs n’existent plus physiquement.

Récupérable sans logiciel

Tout fichier situé intégralement sur un disque survivant peut être récupéré. Montez le disque sur une machine Linux et copiez les données — aucune reconstruction de la grappe RAID ni recours à un disque de parité n’est nécessaire.

🔧

Récupérable par logiciel

Fichiers présents sur les disques survivants lorsque Unraid ne peut pas démarrer, que le périphérique de démarrage a été perdu ou que la configuration de l’ensemble RAID est corrompue ou effacée. RS RAID Retrieve lit les métadonnées des disques et reconstitue la structure de l’ensemble RAID sans serveur Unraid opérationnel, permettant la récupération de données depuis les disques survivants.

Non récupérable

Tout fichier stocké sur un disque présentant une défaillance matérielle, lorsque le nombre de pannes a dépassé la couverture de parité. Aucun logiciel de récupération de données ne peut reconstituer des informations à partir de secteurs qui ne sont plus accessibles.

Avant de commencer : étapes déterminantes pour la réussite de la récupération

Lors d’une panne catastrophique, les actions entreprises dans les premières minutes suivant la découverte influent davantage sur le résultat final que le logiciel ou la solution de récupération de données utilisés par la suite. Plusieurs réactions courantes peuvent aggraver la situation.

Ne pas tenter de redémarrer l’array Unraid

Lorsque plus de disques sont défaillants que ce que la parité peut couvrir, Unraid peut tenter de démarrer en état dégradé, d’exécuter des vérifications de parité ou d’écrire des données d’émulation à partir d’un jeu de disques incomplet. Toute opération d’écriture à ce stade — y compris les mises à jour de parité déclenchées au démarrage de l’array — risque d’écraser les données des disques encore intacts avec des valeurs incorrectes issues d’un calcul XOR incomplet. Coupez l’alimentation du serveur et ne le rallumez pas tant que les disques survivants n’ont pas été clonés ou sauvegardés sous forme d’image secteur par secteur — préalable indispensable à toute récupération de données.

Ne pas exécuter New Config ni réaffecter les disques

La réaffectation des emplacements de disques dans Unraid et le lancement de la fonction New Config amènent le système à considérer l’ensemble de disques (array) comme nouvellement construit. Il recalculera la parité à partir des disques actuellement présents, écrasant ainsi le contenu du disque de parité existant. Si vous découvrez ultérieurement qu’un disque a été mal identifié, les données de parité nécessaires pour vérifier ou reconstruire l’array sont irrémédiablement perdues.

Que faire à la place — alternatives et bonnes pratiques

1

Identifier les disques physiquement présents et lisibles

Utiliser les données SMART d’un système en fonctionnement ou, si le serveur est hors tension, en connectant les disques durs un par un à une machine de test. Classer les disques en trois catégories : pleinement opérationnels, partiellement lisibles (erreurs SMART mais disque encore en rotation) et totalement défaillants (non détectés par le BIOS). Cette classification détermine l’étendue de la récupération de données avant toute intervention logicielle.

2

Créer une image des disques en dégradation avant toute autre opération

Tout disque affichant des valeurs non nulles pour Current_Pending_Sector ou Reallocated_Sector_Ct est en cours de dégradation. Créez une image du disque avant toute récupération, et non après. Utilisez ddrescue avec un fichier de cartographie (fichier map) pour gérer proprement les erreurs de lecture et permettre de reprendre des sessions interrompues :

ddrescue -d -r3 /dev/sdX /path/to/image.img /path/to/map.log

Effectuez les opérations de récupération sur l’image disque, pas sur le disque en dégradation. Un disque qui tombe en panne en cours de récupération sans image préalable est irrécupérable.

3

Étiqueter les disques avec leurs numéros de baie d’origine

Unraid stocke la configuration de l’array — quel numéro de série correspond à quelle baie — sur le périphérique d’amorçage (clé USB). Si ce périphérique est lui aussi indisponible, l’ordre des baies doit être reconstitué à partir des métadonnées des disques. Avant de retirer quoi que ce soit du serveur, étiquetez chaque disque avec son numéro d’origine (Disque N). RS RAID Retrieve peut déduire l’affectation des baies à partir des métadonnées, mais un marquage physique supprime toute ambiguïté lors de la configuration manuelle.

4

Connectez tous les disques restants à un PC Windows

Utilisez des connexions SATA directes autant que possible. Pour plus de quatre disques, privilégiez une carte d’extension SATA PCIe plutôt que des adaptateurs USB–SATA, qui dégradent la fiabilité des E/S lors de lectures soutenues et volumineuses. Incluez le disque de parité — RS RAID Retrieve exploite ses métadonnées pour vérifier la configuration du RAID, même si la parité ne permet pas de reconstruire les disques perdus dans ce scénario.

Récupération de données d’un array Unraid détruit avec RS RAID Retrieve

Avec les disques survivants connectés à une machine Windows, RS RAID Retrieve prend en charge les opérations qui exigeraient autrement un environnement Linux en fonctionnement : lecture des systèmes de fichiers XFS et BTRFS, reconstruction de la structure de l’array Unraid à partir des métadonnées des disques, et fourniture d’une arborescence consultable permettant de copier sélectivement les données vers une destination saine.

Fonctionnement de RS RAID Retrieve dans ce scénario

Le programme lit les métadonnées Unraid de chaque disque connecté, identifie les disques présents et ceux manquants, et reconstitue une représentation virtuelle de l’ensemble RAID pour la récupération de données, en insérant des entrées factices pour les disques défaillants. Il fournit ensuite un accès aux systèmes de fichiers des disques survivants — XFS et BTRFS — que Windows ne prend pas en charge nativement. Pour les disques défaillants, il signale correctement leurs données comme irrécupérables plutôt que d’afficher un contenu vide ou corrompu.

RS Raid Retrieve

RS Raid Retrieve

Récupération de données à partir de baies RAID endommagées

Disponible pour: Windows, macOS, Linux
1

Lancer RS RAID Retrieve et laisser analyser tous les disques connectés

Au démarrage, le programme lit les métadonnées du superbloc Unraid écrites sur chaque disque membre lors de l’initialisation de l’ensemble RAID. À partir de ces métadonnées, il déduit la configuration de la grappe : nombre total de disques, affectation des emplacements, schéma de parité et type de système de fichiers pour chaque disque. Si tous les disques survivants sont connectés et que leurs métadonnées sont intactes, l’ensemble apparaît automatiquement dans le Gestionnaire de disques, les disques défaillants étant signalés comme manquants.

2

Si la détection automatique échoue — utilisez le Mode manuel

Ouvrez RAID Constructor et sélectionnez Mode manuel. Définissez le type d’ensemble sur Unraid. Ajoutez les disques disponibles et insérez des emplacements vides pour chaque disque manquant à l’aide du bouton « + ». Définissez le décalage de secteur — Unraid utilise 64 ou 2048 ; vérifiez en ouvrant un disque de données dans la visionneuse hexadécimale et en localisant le début de la signature du superbloc XFS ou BTRFS (XFSB ou _BHRfS_M). Cliquez sur Aperçu — si l’arborescence des répertoires est visible, la configuration est correcte.

RAID Constructor → Unraid → Mode manuel → ajouter les disques → emplacement pour chaque disque manquant → décalage de secteur 64 ou 2048 → Aperçu
3

Ouvrir chaque disque survivant et lancer une analyse

Cliquez avec le bouton droit sur un disque survivant dans le Gestionnaire de disques et sélectionnez Ouvrir. Choisissez Analyse rapide pour les disques dont le système de fichiers est intact. Si l’Analyse rapide affiche un arbre de fichiers incomplet ou aucun fichier, exécutez une Analyse complète — celle-ci effectue une analyse par signature au niveau des secteurs et peut restituer la structure des répertoires pour la récupération de données, même lorsque les métadonnées du système de fichiers sont partiellement endommagées. Lancez les analyses sur chaque disque restant indépendamment ; les disques défaillants n’afficheront aucun contenu récupérable.

4

Aperçu et sélection des fichiers à récupérer

L’arborescence affiche la structure de répertoires de chaque disque survivant telle qu’elle existait au moment de la défaillance, facilitant la récupération de données. Utilisez le volet de prévisualisation pour vérifier l’intégrité des fichiers avant d’engager la restauration : documents, images et fichiers multimédia peuvent être ouverts directement en prévisualisation. Priorisez les fichiers non remplaçables : documents, bases de données et photos. Les bibliothèques multimédias volumineuses, dont les éléments sont accessibles indépendamment, sont de moindre priorité et peuvent être récupérées lors d’une seconde passe.

5

Copier les fichiers récupérés sur un disque sain distinct

Sélectionnez les fichiers et dossiers ciblés, cliquez sur Récupération et indiquez un chemin de sortie sur un disque qui ne fait pas partie de l’array Unraid. N’écrivez pas les fichiers récupérés sur l’un des disques source. Une fois la copie terminée, contrôlez ponctuellement un échantillon de chaque type de fichier — ouvrez des archives, lisez un extrait vidéo, vérifiez qu’un fichier de base de données n’est pas vide (0 octet) — avant de considérer la récupération de données comme achevée.

✓ Résultats attendus d’une récupération réussie

RS RAID Retrieve affichera l’arborescence complète de chaque disque survivant. Les fichiers présents sur ces disques seront intacts et récupérables avec leurs noms et chemins d’origine. Les disques défaillants apparaîtront dans la vue de l’array sans contenu accessible — il s’agit du comportement normal, et non d’une erreur logicielle. Le volume total de données récupérables correspond exactement à ce qui était stocké sur les disques survivants au moment de la panne.

Travailler avec des disques partiellement lisibles

Les pannes catastrophiques impliquent souvent au moins un disque qui n’est pas complètement hors service — il tourne, est détecté par le BIOS, mais génère des erreurs de lecture sur certains secteurs. Ces disques partiellement lisibles sont l’élément le plus sensible au facteur temps lors d’une récupération de données : ils fournissent encore des données, mais chaque cycle d’alimentation et chaque tentative de lecture infructueuse accélère l’usure mécanique.

Un disque en voie de dégradation lisible aujourd’hui peut ne plus l’être demain.

Une augmentation du compteur de secteurs réalloués entre deux lectures SMART espacées de quelques heures indique une dégradation active. Ne laissez pas un disque dégradé connecté et inactif pendant la planification de la récupération. Faites immédiatement une image du disque (image disque/clonage), puis travaillez à partir de cette image.

Créer une image d’un disque dégradé avec ddrescue

ddrescue est l’outil de référence pour cette opération : il gère les erreurs de lecture de façon robuste — il ignore les secteurs illisibles lors de la première passe, récupère autant de données que possible, puis réessaie les secteurs défaillants lors des passes suivantes. À l’inverse, dd s’arrête par défaut à la première erreur de lecture.

	# First pass: read everything readable, skip errors, save map file
	ddrescue
	-d -r0
	/dev/sdX /mnt/recovery/disk_image.img /mnt/recovery/disk_image.map
	# Second pass: retry failed sectors up to 3 times
	ddrescue
	-d -r3
	/dev/sdX /mnt/recovery/disk_image.img /mnt/recovery/disk_image.map

Le fichier map enregistre les secteurs lus avec succès et ceux qui ont échoué. Si le disque tombe en panne en cours d’opération ou si vous devez interrompre puis reprendre ultérieurement, relancer la commande avec le même fichier map permet de reprendre là où l’opération s’était arrêtée sans relire les secteurs déjà capturés dans l’image. Cette méthode est recommandée pour la récupération de données, le clonage et la création d’une image disque de supports présentant des secteurs défectueux.

Chargement de l’image dans RS RAID Retrieve

Une fois l’image disque créée, elle peut remplacer le disque physique. Dans RS RAID Retrieve, utilisez Connect Image pour attacher le fichier .img en tant que disque virtuel. Le programme le traite de la même façon qu’un périphérique physique. Cette approche présente deux avantages : le matériel dégradé n’est plus soumis à des lectures intensives pendant la récupération de données, et si le processus de récupération (par exemple lors d’une récupération RAID) doit être relancé avec des paramètres différents, l’image reste disponible dans son état d’origine.

Sortie de ddrescue — signification des indicateurs :

  • rescued : octets lus avec succès et écrits dans l’image. Il s’agit du volume de données récupérable.
  • errsize : octets qui n’ont pas pu être lus. Ces secteurs apparaîtront comme des zéros dans l’image ; tout fichier dont les données résident sur ces secteurs sera incomplet.
  • errors : nombre de secteurs distincts illisibles. Un nombre de l’ordre de quelques centaines sur un disque de plusieurs téraoctets signifie généralement que la plupart des fichiers sont intacts ; un nombre de l’ordre des millions indique une perte de données substantielle au sein de l’image elle-même.
  • run time vs. remaining : si le temps restant est exprimé en jours, le disque est trop dégradé pour obtenir une image complète — arrêtez après la première passe et travaillez à partir des données capturées.

Contenu récupérable et non récupérable dans ce scénario

L’issue d’une défaillance dépassant la parité sous Unraid est plus prévisible que dans les systèmes RAID classiques, car la limite des dommages est définie par les frontières physiques des disques plutôt que par la distribution des stripes. Le tableau ci‑dessous synthétise la procédure de récupération selon chaque composant de l’array.

État du disque Données sur ce disque Procédure de récupération Outil
Disque intact — SMART sain Entièrement récupérable Lecture directe via RS RAID Retrieve ou montage sous Linux RS RAID Retrieve / mount
Disque intact — SMART dégradé Principalement récupérable ; certains secteurs peuvent être irrécupérables Imager d’abord avec ddrescue, puis récupérer depuis l’image ddrescue + RS RAID Retrieve
Disque défaillant — non détecté Non récupérable via la parité Récupération matérielle (laboratoire professionnel) si les données sont critiques ; sinon accepter la perte Laboratoire de récupération de données
Disque de parité — sain Aucune donnée utilisateur stockée Connecter pour permettre à RS RAID Retrieve de confirmer la configuration de l’array ; non utilisé pour l’extraction de données RS RAID Retrieve (métadonnées uniquement)
Flash de démarrage — HS Contient uniquement la configuration de l’array ; aucune donnée utilisateur RS RAID Retrieve reconstitue la configuration à partir des métadonnées des disques ; une nouvelle clé/flash de démarrage peut ensuite être créée RS RAID Retrieve

Après récupération : reconstruire l’array à neuf, ne pas retoucher l’ancien.

Une fois les données récupérées vers un emplacement sûr, l’étape suivante consiste en une réinstallation propre d’Unraid sur des disques neufs ou vérifiés, suivie d’une reconstruction complète de la parité avant de restaurer les données. Tenter de poursuivre l’exploitation d’un array partiellement défaillant — en remplaçant uniquement les disques morts puis en lançant une reconstruction — laisse les disques survivants dans l’état exact où ils se trouvaient lors de l’incident. Pour les arrays ayant subi deux défaillances simultanées, cet état impose un examen approfondi du matériel restant avant de lui confier à nouveau des données de production.

Questions fréquemment posées

Oui, en partie. Unraid écrit des métadonnées par disque que des outils comme RS RAID Retrieve peuvent lire, mais la source la plus utile reste le syslog d'Unraid et les fichiers de configuration des shares stockés sur le périphérique flash de démarrage. Le dossier shares sur le périphérique flash contient des fichiers .cfg pour chaque share, incluant les paramètres includeDisks et excludeDisks — ceux‑ci indiquent sur quels disques chaque share était autorisé à écrire. Combinés aux fichiers diskX.ini qui enregistrent les statistiques d'utilisation par disque, vous pouvez souvent reconstituer une image suffisamment fidèle des catégories de données présentes sur les disques défaillants, même si les noms de fichiers individuels ont disparu. Si le périphérique flash est lui aussi défaillant, la source suivante la plus utile est tout outil de supervision ayant enregistré l'évolution de la taille des shares — l'historique du tableau de bord intégré d'Unraid, des tableaux de bord Grafana alimentés par Telegraf, ou même des sorties périodiques de la commande du sauvegardées à distance.
Unraid désactive un disque lorsqu’il rencontre des erreurs de lecture, pas des erreurs d’écriture. La désactivation est une mesure de protection : la grappe cesse d’écrire sur le disque et le marque comme hors ligne plutôt que de poursuivre des écritures susceptibles de rendre les données incohérentes. Le contenu du disque au moment de la désactivation correspond donc au dernier état correctement écrit, et non à un état intermédiaire corrompu. Les données qu’il contient sont fiables dans la limite de l’intégrité du matériel. En revanche, on ne peut pas garantir que ce dernier état soit « à jour » : si le disque a été désactivé en plein écriture — par exemple lors du transfert d’un gros fichier — ce fichier particulier peut être incomplet. Avant toute intervention, réalisez une image du disque avec ddrescue (GNU ddrescue), puis utilisez RS RAID Retrieve pour évaluer le système de fichiers. Les fichiers entièrement écrits avant l’événement de désactivation resteront intacts.
Les fichiers de taille zéro dans une récupération par ailleurs intacte indiquent généralement l'une de deux choses. La première est une écriture incomplète au moment de la panne — les fichiers en cours d'écriture lorsque l'array est tombé ont pu voir leurs entrées de répertoire créées avant que leurs blocs de données ne soient entièrement engagés, laissant des métadonnées valides pointant vers des secteurs non alloués ou remis à zéro. La seconde, plus fréquente en cas de panne multi-disques, est que les blocs de données du fichier étaient alloués sur l'un des disques défaillants. Dans Unraid, les fichiers résident entièrement sur un seul disque — mais les métadonnées du système de fichiers qui les décrivent (entrées de répertoire, inodes) peuvent se trouver sur un autre disque qui a survécu. RS RAID Retrieve affiche correctement le nom et le chemin du fichier à partir des métadonnées survivantes, mais marque le contenu comme irrécupérable parce que les secteurs de données sont sur le disque mort. Lancer Full Analysis plutôt que Fast Scan confirmera quel cas s'applique — si Full Analysis renvoie également zéro octet, les blocs de données sont perdus.
Vous pouvez repartir complètement à zéro — l'attribution des emplacements (slots) dans Unraid est une couche de configuration, pas une couche de données. Les données présentes sur chaque disque sont indépendantes du numéro d'emplacement que Unraid leur a attribué. Lors de la reconstruction, créez une nouvelle configuration d'array, formatez les nouveaux disques et recopiez les données récupérées depuis votre destination de récupération. Il n'existe aucune obligation technique de respecter la numérotation d'emplacements d'origine. La seule situation où l'ordre d'origine importe est lors d'une reconstruction partielle — en conservant certains disques survivants dans l'array et en ajoutant des remplaçants pour les disques défaillants. Dans ce cas, les disques survivants doivent être réaffectés exactement à leurs numéros d'emplacement initiaux, sinon Unraid les considérera comme des disques neufs et écrasera leur contenu lors de la reconstruction de la parité. Comme cet article couvre des scénarios où la parité a déjà été dépassée, une reconstruction complète depuis zéro est la voie la plus sûre et la plus propre.
laissez un commentaire

Articles connexes

Comment récupérer des données à partir d’un ensemble RAID-Z dans TrueNAS
Comment récupérer des données à partir d’un ensemble RAID-Z dans TrueNAS
Un système d’exploitation spécialisé, TrueNAS, est l’une des meilleures solutions pour gérer les systèmes de stockage NAS DIY. Cependant, il présente également quelques inconvénients – par exemple, le processus de récupération des données à partir d’un stockage TrueNAS peut être … Continue reading
Récupération de données à partir du NAS Synology DS415+ en RAID
Récupération de données à partir du NAS Synology DS415+ en RAID
L’utilisation de matrices RAID dans les dispositifs NAS ne garantit pas une protection contre les pannes et la perte de données. Par exemple, vous pouvez rencontrer une situation où les données de votre NAS Synology ont été corrompues, supprimées ou … Continue reading
Quelle est la meilleure configuration RAID pour un NAS?
Quelle est la meilleure configuration RAID pour un NAS?
L’un des critères importants pour choisir un dispositif NAS (stockage en réseau) est sa capacité à garantir l’intégrité des données en utilisant des configurations RAID. Cependant, pour assurer une protection fiable des données, il est important de choisir la configuration … Continue reading
Comment récupérer des données à partir d’un disque NVMe
Comment récupérer des données à partir d’un disque NVMe
Les performances accélérées et la fiabilité des disques NVMe les rendent populaires dans les systèmes informatiques modernes. Cependant, comme tout autre dispositif de stockage, les SSD NVMe peuvent subir des pertes de données dues à une suppression accidentelle de fichiers, … Continue reading
Online Chat with Recovery Software