Comment récupérer des données à partir d’un RAID Linux MD de niveau 6 avec chiffrement LUKS et fscrypt
La récupération des données à partir d’un Linux MD RAID 6, protégé en outre par un chiffrement LUKS et fscrypt, est un processus complexe à plusieurs niveaux, dans lequel il est important de déterminer correctement l’état de la matrice RAID, l’ordre de connexion des disques et les couches de chiffrement. Une erreur à n’importe quelle étape, de l’assemblage incorrect de la matrice à la tentative de montage d’un système de fichiers endommagé, peut compliquer considérablement la récupération ultérieure. Cet article décrit une méthode sûre de diagnostic et de reconstruction d’un RAID 6, d’ouverture du conteneur LUKS et de travail ultérieur avec des données protégées par fscrypt.

- Configuration du RAID, de LUKS2 et de fscrypt
- Connexion des disques de la matrice RAID
- Comment récupérer des données d’un Linux RAID 6
- Conclusion
- Questions fréquemment posées
- Commentaires
La particularité d’une telle configuration est que les données traversent simultanément plusieurs couches d’abstraction. Tout d’abord, les disques physiques sont regroupés en une matrice RAID 6 au moyen de Linux MD ; ensuite, la matrice résultante peut contenir un conteneur LUKS chiffré ; et, à l’intérieur du système de fichiers, des répertoires ou des fichiers individuels peuvent être protégés en plus par fscrypt. Par conséquent, même des disques pleinement opérationnels et un RAID correctement assemblé ne garantissent pas encore l’accès aux données requises.
Au cours du processus de récupération, il est essentiel de respecter la bonne séquence d’actions. Avant toute tentative d’écriture sur les disques, il convient d’évaluer leur état, d’identifier les paramètres de la matrice RAID, de vérifier les métadonnées et, si possible, de créer des copies bit à bit des disques problématiques. Les reconstructions automatiques de la matrice, les vérifications du système de fichiers avec correction des erreurs ou la réinitialisation du conteneur LUKS sont particulièrement dangereuses : ces actions peuvent modifier les structures nécessaires à une récupération ultérieure.
Le chiffrement ajoute un niveau supplémentaire de complexité. Pour LUKS, il faut préserver l’accès à l’en-tête du conteneur, aux emplacements de clés et aux phrases de passe ou fichiers de clé correspondants. Dans le cas de fscrypt, l’accès au seul système de fichiers peut ne pas suffire : le déchiffrement de répertoires spécifiques requiert les clés appropriées et les métadonnées de la politique de chiffrement. Si l’un de ces éléments est perdu, les possibilités de récupération peuvent être considérablement limitées.
Ensuite, nous examinerons la procédure de travail avec un tel système : du diagnostic des disques physiques et de l’assemblage manuel d’un Linux MD RAID 6 dans un mode minimisant le risque d’écriture, jusqu’à l’ouverture du conteneur LUKS, la vérification du système de fichiers et la restauration de l’accès aux données protégées par fscrypt. Le principe principal à chaque étape est de préserver d’abord le maximum d’informations d’origine, puis seulement de procéder aux tentatives de récupération.
Comment récupérer les données d'un RAID 6 Linux avec LUKS2 et fscrypt ? 2 disques manquants
| Niveau / technologie | Objectif | Caractéristique principale | Point important lors de la récupération |
|---|---|---|---|
| Linux MD RAID 6 | Regroupe plusieurs disques en une matrice tolérante aux pannes | Utilise une double parité et tolère la panne de deux disques au maximum | Il est important de déterminer correctement l’ordre des disques, les paramètres de la matrice, l’UUID et l’état des métadonnées ; la reconstruction automatique ne doit pas être lancée sans analyse préalable |
| LUKS | Chiffrement du disque entier ou au niveau des blocs | Chiffre le volume logique ou le conteneur dans son intégralité | L’accès nécessite un en-tête LUKS valide et une phrase de passe ou une clé ; une corruption de l’en-tête peut rendre les données inaccessibles même si le RAID est sain |
| Système de fichiers | Stocke les répertoires, les fichiers et les métadonnées | Situé à l’intérieur du conteneur LUKS déverrouillé | Il est préférable de travailler à partir d’une copie avant de réparer les erreurs ; les opérations de réparation automatique peuvent modifier des structures importantes |
| fscrypt | Chiffre des répertoires ou des fichiers individuels | Fonctionne au niveau du système de fichiers et peut protéger uniquement certaines données | Des clés appropriées, des politiques de chiffrement et des métadonnées sont nécessaires ; le déverrouillage de LUKS ne donne pas automatiquement accès aux données protégées par fscrypt |
| Clés et métadonnées | Fournissent l’accès aux informations chiffrées | Les clés peuvent être stockées séparément des données elles-mêmes | La perte du mot de passe, du fichier de clé, de la sauvegarde de l’en-tête LUKS ou des clés fscrypt peut limiter de manière critique les possibilités de récupération |
| Séquence des couches | Définit l’ordre d’accès aux données | Schéma typique : disques → MD RAID 6 → LUKS → système de fichiers → fscrypt → fichiers | La récupération doit être effectuée dans le même ordre, du niveau inférieur au niveau supérieur |
| Risque d’écriture | Influence la préservation des données sources | Toute reconstruction, tout montage en lecture/écriture ou toute opération de réparation peut modifier les structures | Il est préférable de créer d’abord des images de disques et de travailler en mode lecture seule |
| Complexité du diagnostic | Détermine le nombre de points de défaillance potentiels | Le problème peut se situer au niveau du disque, du RAID, de LUKS, du système de fichiers ou de fscrypt | La panne doit être isolée étape par étape sans confondre les problèmes de différents niveaux |
Configuration du RAID, de LUKS2 et de fscrypt
Pour tester Hetman RAID Recovery, nous avons préparé un serveur Dell PowerEdge R710 équipé d’un contrôleur RAID PERC H700 et d’un système Ubuntu Server 24.04 LTS.
À partir de quatre disques durs de 60 Go, nous avons créé une matrice logicielle Linux MD RAID 6 d’une capacité totale d’environ 120 Go à l’aide de mdadm. La taille de chunk était de 512 Ko (dans Hetman RAID Recovery, ce paramètre est affiché sous le nom de taille de bloc).

Un volume chiffré LUKS2 a été configuré sur la matrice, et un système de fichiers EXT4 a été créé à l’intérieur. Un dossier supplémentaire sur cette partition a été chiffré avec fscrypt à l’aide de sa propre phrase de passe.

Après la préparation du stockage, des fichiers de test ont été écrits, puis certaines données ordinaires ont été supprimées de EXT4 et certains fichiers du répertoire protégé par fscrypt.
Connexion des disques de la matrice RAID
MÉTHODE 1. Connexion des disques physiques.
Les disques de la matrice RAID peuvent être connectés via :
- SATA ;
- SAS ;
- Fibre Channel ;
- HBA ;
- contrôleur RAID.
Cependant, il est important que le contrôleur donne au programme un accès à chaque disque physique séparément.
Vous pouvez également utiliser :
- adaptateurs USB ;
- stations d’accueil ;
- boîtiers externes.
Pour une analyse à long terme, il est préférable d’utiliser une connexion directe via SATA, SAS, HBA ou le contrôleur approprié : elle est généralement plus rapide et plus stable.

La connexion de tous les disques de la matrice n’est pas toujours nécessaire. Hetman RAID Recovery tiendra compte des disques manquants et pourra reconstruire leurs données si le niveau RAID le permet et si les disques sains restants sont suffisants pour restaurer la matrice. Par exemple, RAID 5 autorise un disque manquant et RAID 6 en autorise deux.
Après la connexion des disques, Windows peut vous proposer de les initialiser ou formater. N’acceptez pas : fermez ce message afin d’éviter toute modification des données RAID et des informations de service.
MÉTHODE 2. Travail avec des images de disque
Le travail avec des images est utile s’il n’y a pas suffisamment de ports pour connecter tous les disques en même temps, ou si les disques présentent de mauvais indicateurs SMART, des erreurs de lecture ou un fonctionnement instable.
Pour créer une image dans Hetman RAID Recovery, sélectionnez le disque physique requis dans la fenêtre principale du programme et cliquez sur Enregistrer le disque.

Dans l’assistant d’enregistrement, choisissez de créer une image du disque entier, spécifiez le dossier et le nom du fichier, puis lancez la copie.
Il est préférable d’enregistrer l’image sur un autre disque sain disposant d’un espace libre suffisant.
Pour le travail ultérieur, cliquez sur Monter le disque – images de disque RAW. Sélectionnez les fichiers image créés et ajoutez-les au programme.

Après cela, Hetman RAID Recovery travaillera avec eux comme avec des disques physiques ordinaires et pourra les utiliser pour une reconstruction automatique ou manuelle du RAID.

MÉTHODE 3. Connexion des disques via SSH
Si le serveur Linux reste accessible sur le réseau, les disques peuvent être ajoutés à distance via Outils – Connexion via SSH.

Spécifiez l’adresse du serveur, le port et les données d’authentification, puis sélectionnez les disques physiques ou les volumes requis. Ils seront ajoutés à Hetman RAID Recovery et deviendront disponibles pour l’analyse et la reconstruction du RAID sans connexion physique à l’ordinateur.

Comment récupérer des données d’un Linux RAID 6
ÉTAPE 1. Détection automatique de la matrice RAID
Après le lancement de Hetman RAID Recovery, le programme analyse automatiquement les disques disponibles et recherche des traces de matrices RAID sur ceux-ci. Si les disques requis sont déjà connectés à l’ordinateur, la matrice trouvée s’affiche immédiatement dans la section RAID Arrays après le démarrage.
Si les disques sont ajoutés plus tard — connectés physiquement, montés à partir d’images ou ajoutés via SSH — le programme réanalyse les membres RAID disponibles et, si suffisamment d’informations sont présentes, reconstruit automatiquement la matrice.

Pour le RAID détecté, Hetman RAID Recovery affiche ses principaux paramètres :
- type et capacité de la matrice ;
- taille de secteur et de bloc ;
- schéma de répartition des données ;
- état du RAID ;
- liste des disques membres, leur ordre et leurs décalages.

Dans notre cas, le programme a automatiquement détecté un Linux MD RAID 6 d’environ 118 Go et l’a affiché comme prêt pour une analyse ultérieure. Nous examinerons plus tard les paramètres détaillés de la matrice lors de la reconstruction manuelle.
Si certains disques sont absents, le programme les affiche comme Empty disk et détermine si les disques disponibles sont suffisants pour la reconstruction. Dans notre test, même avec deux des quatre disques RAID 6 manquants, la matrice a le statut Recoverable et reste disponible pour l’analyse et la récupération des données.
ÉTAPE 2. Analyse du RAID et déchiffrement des données
Pour commencer la recherche de données, double-cliquez sur la matrice RAID ou la partition trouvée. Si Hetman RAID Recovery détermine que le volume est chiffré avec LUKS, le programme vous invitera immédiatement à saisir un mot de passe ou à spécifier un fichier de clé.

Pour le déchiffrer, un mot de passe valide ou une clé est requis, ainsi que des données de service LUKS intactes.
Après le déverrouillage de LUKS, sélectionnez le type d’analyse. Tout d’abord, vous pouvez lancer une analyse rapide — cela suffit souvent si la structure de la partition et le système de fichiers n’ont pas été endommagés et qu’il suffit de retrouver les fichiers récemment supprimés.

Si des opérations destructrices ont été effectuées sur le disque — suppression ou création de partitions, formatage, modifications du système de fichiers, corruption de la table des partitions ou autres opérations susceptibles de modifier la structure des données — il est recommandé d’utiliser Analyse complète. Lors de l’analyse complète, spécifiez le système de fichiers utilisé sur la matrice. Dans notre cas, il s’agit de Ext2/3/4.
Si, pendant l’analyse, le programme détecte des données chiffrées avec fscrypt, il vous invitera à saisir la phrase de passe correspondante. Après le déchiffrement, vous pouvez poursuivre la recherche des fichiers existants et supprimés.

ÉTAPE 3. Affichage et enregistrement des fichiers récupérés
Une fois l’analyse terminée, examinez les fichiers trouvés. Utilisez le mode vignettes, la prévisualisation, ainsi que la recherche et les filtres pour localiser rapidement les données requises et vérifier leur contenu.
Le programme marque les fichiers supprimés d’une croix rouge. Sélectionnez les fichiers et dossiers que vous souhaitez enregistrer, puis cliquez sur Récupération.

N’enregistrez pas les données récupérées sur des disques membres de la matrice RAID. L’écriture sur ceux-ci peut écraser des informations qui n’ont pas encore été récupérées. Utilisez un autre disque physique pour l’enregistrement.
Dans l’assistant, indiquez la destination et lancez l’enregistrement des fichiers.
ÉTAPE 4. Reconstruction manuelle du RAID
La détection automatique du RAID peut être impossible si les informations de service concernant la matrice sont endommagées, écrasées, absentes ou incohérentes d’un disque à l’autre.
Cela peut se produire après des opérations effectuées directement sur les disques membres et susceptibles d’avoir endommagé ou écrasé les métadonnées RAID :
- initialisation des disques dans Windows ;
- exécution de mdadm –zero-superblock ;
- création d’un nouveau RAID par-dessus un ancien ;
- modification de la table des partitions ;
- écrasement partiel des disques ;
- ou un rebuild défaillant.

Une reconstruction manuelle peut également être nécessaire si certains disques sont absents ou endommagés, si des métadonnées de différentes matrices RAID restent présentes sur les disques, si l’ordre des disques ou les décalages ont été modifiés, ou si une image de l’un des disques a été créée de manière incomplète.
Si Hetman RAID Recovery n’a pas pu déterminer automatiquement la configuration de la matrice, celle-ci peut être reconstruite manuellement à l’aide de RAID Constructor.
Ouvrez RAID Constructor, sélectionnez le mode manuel et indiquez les paramètres connus de la matrice.

Pour le Linux MD RAID 6 créé par mdadm dans notre test avec la disposition standard, RAID Constructor utilise le schéma Left Synchronous P+Q. Dans notre cas, la taille de bloc était de 512 Ko.

Pour la plupart des disques, utilisez 512 octets dans le champ Octets par secteur. Si le disque utilise une taille de secteur logique de 4 Ko, choisissez 4096 octets.
Pour un Linux MD RAID standard, laissez le paramètre Ordre des octets sur Standard, sauf si la matrice a été créée avec d’autres paramètres spécifiques.
Ensuite, définissez la séquence correcte des disques et indiquez le décalage des données — Offset — pour chaque disque. Dans notre test, il était de 34 603 008 octets pour chaque disque.

Si un ou plusieurs disques ne sont pas disponibles, ajoutez un Empty disk à la place.
Une fois la configuration assemblée, ajoutez le RAID reconstruit à la fenêtre principale du programme en cliquant sur Add.

Après cela, vous pouvez travailler avec lui de la même manière qu’avec une matrice détectée automatiquement : déverrouiller LUKS, analyser le système de fichiers et récupérer les fichiers requis.

ÉTAPE 5. Comment déterminer les paramètres inconnus de la matrice
Si certains paramètres RAID sont inconnus, ils peuvent être déterminés à partir de la structure des données stockées sur la matrice. Dans notre cas, nous savons qu’un Linux MD RAID 6 était utilisé et qu’un volume LUKS2 chiffré se trouvait directement dessus.

Commençons par déterminer le décalage des données — Offset. Ouvrez chaque disque de la matrice dans HEX Editor, lancez une recherche par valeur HEX et saisissez la signature LUKS : 4C 55 4B 53 BA BE. Dans les paramètres de recherche, définissez la direction sur Down, la position sur Begin of sector, puis lancez la recherche.

Dans notre matrice de test, la signature LUKS a été trouvée à l’adresse 34 603 008 octets à partir du début du disque. C’est cette valeur que nous utilisons comme Offset pour tous les disques de notre matrice.

Le disque sur lequel la signature a été trouvée contient le début du volume logique LUKS. Cela permet de déterminer le décalage des données et d’obtenir un disque de référence, mais la signature elle-même ne montre pas la séquence complète de tous les disques. Par conséquent, si l’ordre des disques est inconnu, laissez-le à la détection automatique à l’aide de Detect the disk order automatically.

Ensuite, définissez les paramètres RAID déjà connus. Si la matrice a été créée avec mdadm en utilisant les paramètres par défaut, le schéma typique pour RAID 5 est Left Synchronous, et pour RAID 6 il est Left Synchronous P+Q. Dans notre cas, la taille de bloc est de 512 Ko. Si ce paramètre a été modifié lors de la création du RAID, il peut avoir une autre valeur, par exemple 64, 128, 256 Ko ou 1 Mo.
Pour les paramètres pouvant être déterminés, indiquez des valeurs exactes. Laissez Detect automatically uniquement pour les paramètres inconnus. Cela réduit considérablement le nombre de configurations possibles et accélère la recherche.
Cliquez ensuite sur Next et attendez la fin de la validation des variantes.
Au cours de la recherche, Hetman RAID Recovery affiche la progression, le temps écoulé et le nombre de configurations trouvées. Une fois la recherche terminée, sélectionnez la configuration la plus appropriée et ajoutez le RAID reconstruit à la fenêtre principale du programme.
La correction des paramètres peut être vérifiée par la structure des données obtenues. Dans notre cas, Hetman RAID Recovery doit détecter un volume LUKS2 de la taille attendue. S’il se déverrouille correctement avec le mot de passe adéquat et que le système de fichiers EXT4 est identifié à l’intérieur, la configuration RAID a été sélectionnée correctement.

Conclusion
Hetman RAID Recovery a détecté automatiquement le Linux MD RAID 6 de test, a déverrouillé LUKS2 à l’aide du mot de passe connu et, lors de l’analyse rapide, a trouvé à la fois les fichiers existants et supprimés. Après avoir saisi la phrase de passe fscrypt, le programme a également obtenu l’accès aux fichiers existants et supprimés dans le répertoire chiffré supplémentaire.
En cas d’insuffisance des métadonnées RAID, la matrice peut être reconstruite manuellement dans RAID Constructor à l’aide de paramètres connus, ou vous pouvez utiliser la sélection automatique des valeurs inconnues. La recherche de la signature LUKS2 dans HEX Editor aide à déterminer le décalage des données, et la correction de la configuration peut être vérifiée par le déverrouillage réussi de LUKS et la détection du système de fichiers EXT4.





