Comment récupérer des disques virtuels et des instantanés KVM/QEMU avec RAID 6 LUKS2

Cet article examine la récupération de disques virtuels et de snapshots KVM/QEMU à partir d’un système de stockage basé sur LUKS2 et RAID 6. L’objectif est de déterminer la séquence de récupération correcte, de travailler en toute sécurité avec des images de disques physiques, de reconstruire la matrice RAID, de déverrouiller le conteneur chiffré, de localiser les images QCOW2/RAW, d’analyser la chaîne de backing et de restaurer l’accès aux données de la machine virtuelle sans modifier le support d’origine.

Comment récupérer des disques virtuels et des instantanés KVM/QEMU avec RAID 6 LUKS2

Dans les environnements serveur modernes, la virtualisation basée sur KVM/QEMU est souvent utilisée conjointement avec des matrices RAID logicielles et le chiffrement des disques. Cette architecture combine performances, tolérance aux pannes et protection des données, mais elle complique également de manière significative la récupération lorsque les disques, les métadonnées RAID, le conteneur LUKS2, le système de fichiers ou la chaîne de snapshots de la machine virtuelle sont endommagés.

Les cas particulièrement difficiles sont ceux où les disques virtuels KVM/QEMU au format QCOW2, RAW ou d’autres formats compatibles sont stockés dans un volume LUKS2 chiffré construit au-dessus de RAID 6. Dans une telle configuration, l’accès aux données dépend simultanément de plusieurs niveaux : disques physiques, structure de la matrice RAID, intégrité des métadonnées LUKS2, système de fichiers et structure interne des disques virtuels.

Les snapshots QEMU/KVM ajoutent une complexité supplémentaire. Ils peuvent former une chaîne de fichiers QCOW2 dépendants, dans laquelle chaque image suivante ne contient que les blocs modifiés et fait référence au disque de base ou au snapshot précédent. La perte d’un élément dans une telle chaîne, la corruption du fichier backing ou la détermination incorrecte de l’ordre peut empêcher le démarrage de la machine virtuelle, même si la majeure partie des données est encore physiquement présente sur les disques.

Visualisation
Comment récupérer une base MySQL supprimée sur RAID 6 + LUKS2 (Ubuntu)

Comment récupérer une base MySQL supprimée sur RAID 6 + LUKS2 (Ubuntu)

ÉTAPE 1. Création d’une machine virtuelle KVM/QEMU

Pour les tests, nous avons installé Ubuntu Server 24.04 et utilisé Cockpit pour créer une matrice logicielle Linux MD RAID 6 à partir de quatre disques.

Trois partitions ont été créées sur la matrice RAID. Chacune a été chiffrée avec LUKS2, et des systèmes de fichiers Ext4 ont été créés à l’intérieur des conteneurs chiffrés. La troisième partition a été utilisée pour stocker la machine virtuelle.

RAID 6 logiciel Linux MD construit à partir de quatre disques

Le serveur exécutait l’hyperviseur KVM/QEMU. Via Cockpit, nous avons créé un pool de stockage distinct pour la machine virtuelle sur la troisième partition – raid6-vm-images. Les fichiers de la machine virtuelle étaient stockés dans le répertoire vm-images.

Pour la machine virtuelle, nous avons créé un disque système QCOW2 d’une capacité de 32 gigaoctets, ainsi que deux disques supplémentaires : un disque QCOW2 de 2 gigaoctets et un disque IMG de 1 gigaoctet.

Disque système QCOW2 d’une capacité de 32 gigaoctets
Deux disques supplémentaires : un disque QCOW2 de 2 gigaoctets et un disque IMG de 1 gigaoctet

Windows 10 a été installé sur le disque système. Les deux disques supplémentaires ont été formatés sous Windows respectivement en NTFS et FAT32.

Deux disques supplémentaires dans Windows ont été formatés en systèmes de fichiers NTFS et FAT32

ÉTAPE 2. Création d’un snapshot et suppression de la partition LUKS2

Nous avons copié un ensemble initial de fichiers sur le disque système et sur les deux disques supplémentaires, puis créé un snapshot externe. Ensuite, nous avons ajouté un autre dossier contenant des fichiers et en avons supprimé certains.

Création d’un snapshot et suppression de la partition LUKS2

Une fois les modifications de test terminées, la machine virtuelle a été arrêtée. Ensuite, le dossier vm-images contenant les images de disque de base, les fichiers de snapshot externe et le fichier d’état mémoire a été copié sur la deuxième partition LUKS2 de la matrice RAID.

Pour simuler une perte de données, nous avons utilisé Cockpit pour supprimer cette partition de la table des partitions. En conséquence, sa zone est devenue non allouée. Nous ne l’avons ni formatée ni écrite avec de nouvelles données afin de préserver la possibilité d’une récupération ultérieure.

Via Cockpit, nous avons supprimé la partition de la table des partitions
La partition a été supprimée de la table des partitions via Cockpit

ÉTAPE 3. Connexion des disques et lancement de la récupération

Après la suppression de la partition, nous avons arrêté le serveur et retiré les disques de la matrice RAID. Seuls deux des quatre disques ont été connectés à un ordinateur exécutant Windows 11 via une station d’accueil USB.

Si Windows vous invite à initialiser ou à formater les disques après leur connexion, veillez à cliquer sur Annuler. N’écrivez pas de nouvelles données sur ces disques et n’exécutez pas de vérification d’erreurs ni d’opérations de réparation, car cela peut aggraver le résultat de la récupération.

Vous pouvez également travailler avec les disques d’autres manières. Par exemple, les connecter à distance au logiciel via SSH ou monter des images créées précédemment si vous ne souhaitez pas travailler directement avec les disques d’origine.

Windows invite à initialiser ou à formater les disques

ÉTAPE 4. Détection automatique des partitions MD RAID 6 et LUKS2

Dès le lancement, Hetman RAID Recovery a lu les informations de service sur les deux disques connectés.

Pour récupérer les données de matrices RAID défaillantes, de périphériques NAS et d’autres systèmes de stockage multidisques.
Hetman RAID Recovery : détection automatique des partitions MD RAID 6 et LUKS2

RAID 6 autorise l’absence de deux disques au maximum. Comme les deux disques disponibles étaient sains et que les informations de service étaient intactes, le programme a automatiquement reconstruit le MD RAID 6. Les deux disques manquants ont été affichés comme Empty disk, et la matrice a reçu l’état Recoverable.

Hetman RAID Recovery : le programme a automatiquement reconstruit le MD RAID 6

Les propriétés indiquent la disposition Left Synchronous P+Q, une taille de bloc de 512 Ko, ainsi que les positions des disques, les décalages et les tailles.

Le programme a trouvé trois zones avec chiffrement LUKS2 sur la matrice. Les première et troisième partitions sont restées en place, et la deuxième supprimée apparaît comme un espace non alloué marqué LUKS.

ÉTAPE 5. Analyse de la partition LUKS2 et récupération des fichiers de la machine virtuelle

Double-cliquez sur la zone non allouée marquée LUKS. Le programme vous invitera à saisir un mot de passe ou à sélectionner un fichier de clé.

Hetman RAID Recovery : analyse de la partition LUKS2 et récupération des fichiers de la machine virtuelle

Après déverrouillage, le système de fichiers Ext4 devient disponible. Ensuite, sélectionnez le mode d’analyse.

Nous recommandons de commencer par Fast Scan. Si l’analyse rapide ne trouve pas les données requises, lancez Full Analysis et spécifiez le système de fichiers Ext2/3/4.

Hetman RAID Recovery : Fast Scan

Dans notre cas, Fast Scan a suffi. Le programme a restauré la structure de la partition supprimée et a trouvé le dossier vm-images, qui contenait le disque système et les disques virtuels supplémentaires, ainsi que leurs fichiers de snapshot.

Hetman RAID Recovery : le programme a trouvé le dossier vm-images

Il est important de noter que la configuration de la machine virtuelle est stockée séparément de ses disques – généralement dans le répertoire /etc/libvirt/qemu. Si le fichier de configuration XML est perdu, les données des disques virtuels peuvent toujours être récupérées, mais la configuration de la machine devra être recréée afin de pouvoir redémarrer la VM.

Hetman RAID Recovery : contenu du dossier vm-images

Sélectionnez le dossier contenant les disques virtuels et les fichiers de snapshot, puis cliquez sur Recovery.

Hetman RAID Recovery : récupération du dossier vm-images

Nous recommandons de récupérer l’intégralité du dossier afin que les images de base et leurs snapshots associés restent ensemble.

Sélectionnez un autre disque physique pour l’enregistrement. Ne restaurez pas les fichiers sur la matrice RAID d’origine, car cela peut écraser des données qui peuvent encore être récupérées.

ÉTAPE 6. Montage des disques virtuels et des snapshots

Si vous avez besoin d’accéder aux données contenues dans les disques virtuels ou les snapshots, ainsi que de localiser et de récupérer les fichiers supprimés, vous pouvez le faire directement dans notre programme.

Pour récupérer les données de matrices RAID défaillantes, de périphériques NAS et d’autres systèmes de stockage multidisques.

Cliquez sur Mount Disk.

Hetman RAID Recovery : montage d’une image de disque

Dans la fenêtre Disk Image Type, sous Virtual Machine Disk Images, sélectionnez QEMU, car dans notre test la machine virtuelle et ses disques ont été créés sur la base de KVM/QEMU. Si les images ont été créées dans un autre environnement de virtualisation, sélectionnez le type de disque correspondant dans la liste. Cliquez ensuite sur Next.

Hetman RAID Recovery : sous Virtual Machine Disk Images, sélectionnez QEMU

À l’étape suivante, spécifiez non pas un fichier image individuel, mais le dossier où nous avons récupéré tous les fichiers de la machine virtuelle. Il est important que les disques de base et leurs snapshots associés soient stockés ensemble et conservent leurs noms d’origine.

Hetman RAID Recovery : spécifiez le dossier où nous avons récupéré tous les fichiers de la machine virtuelle

Le programme analysera le contenu du dossier, déterminera les relations entre les fichiers et regroupera automatiquement les disques de base avec les snapshots correspondants. Si plusieurs snapshots ont été créés pour un même disque, le programme les organisera dans le bon ordre. L’état le plus récent de chaque chaîne sera marqué Active. Sélectionnez les disques requis et leurs états, puis cliquez sur Next.

Hetman RAID Recovery : relations entre les fichiers et groupes de disques de base avec les snapshots correspondants

Après le montage, ils apparaîtront sous Mounted Disks comme des lecteurs distincts. Sur l’écran principal, l’étiquette Active n’est plus affichée, ce qui permet de distinguer le disque de base et ses snapshots par les noms des fichiers correspondants.

Hetman RAID Recovery : Mounted Disks comme lecteurs distincts

ÉTAPE 7. Comparaison des états des disques et récupération des fichiers depuis un snapshot

Pour comparer l’image du disque de base et son snapshot, vous devez analyser les deux disques montés. Double-cliquez sur chacun d’eux et lancez d’abord Fast Scan.

Si Fast Scan ne trouve pas les données requises, effectuez une Full Analysis. Lors de l’analyse complète, vous devez spécifier le système de fichiers utilisé à l’intérieur du disque virtuel.

L’image de base conserve l’état précédent du système de fichiers.

Hetman RAID Recovery : l’état précédent du système de fichiers a été récupéré

Sur le disque monté à partir du snapshot, les modifications ultérieures sont visibles : le dossier ajouté et les fichiers supprimés qu’il contenait, que le programme marque d’un X.

Hetman RAID Recovery : l’état précédent du système de fichiers du snapshot a été récupéré

Étant donné que ces fichiers ont été écrits après la création de l’état précédent du disque, ils doivent être recherchés et récupérés à partir du snapshot monté.

Examinez les fichiers trouvés dans la fenêtre d’aperçu, qui prend en charge de nombreux formats courants. Vous pouvez y afficher le contenu des documents, les listes de fichiers dans les archives, les images, les vidéos et d’autres données. L’aperçu peut être agrandi en plein écran, ce qui est particulièrement pratique pour consulter des images et des enregistrements vidéo.

Après avoir confirmé que les fichiers requis sont sélectionnés, marquez-les et cliquez sur Recovery. Enregistrez les données récupérées sur un autre disque physique.

Hetman RAID Recovery : récupération des fichiers du snapshot

ÉTAPE 8. Recherche de données par les systèmes de fichiers des disques virtuels

Si les images de disques virtuels requises n’ont pas été trouvées ou n’ont pas pu être montées, vous pouvez essayer de récupérer les données directement à partir des systèmes de fichiers utilisés à l’intérieur de ces disques.

Pour ce faire, sélectionnez la partition RAID déverrouillée, lancez l’assistant de récupération et choisissez Full Analysis.

Hetman RAID Recovery : recherche de données par les systèmes de fichiers des disques virtuels

Lors de la configuration de l’analyse, au lieu du système de fichiers Ext4 réellement utilisé sur cette partition pour stocker les fichiers de disques virtuels, spécifiez les systèmes de fichiers situés directement à l’intérieur des disques virtuels eux-mêmes. Dans notre cas, il s’agit de FAT32 et de NTFS, nous sélectionnons donc FAT et NTFS pour la recherche.

Hetman RAID Recovery : analyse complète par le système de fichiers du disque

Cette méthode est la plus efficace pour les disques virtuels dont tout l’espace a été préalloué à l’avance. Dans ce cas, les données du disque virtuel sont physiquement présentes à l’intérieur du fichier image, et le programme peut retrouver et analyser le système de fichiers qui y est stocké, même si le fichier image lui-même est endommagé ou perdu.

Pour les disques virtuels à allocation dynamique, cette approche ne permet généralement pas une récupération complète du disque. Dans de telles images, seuls les blocs dans lesquels des données ont déjà été écrites sont physiquement stockés, tandis que l’espace inutilisé n’est pas alloué à l’avance. Par conséquent, sans la structure de l’image elle-même, certains blocs du disque virtuel peuvent être fragmentés, et la reconstruction correcte de l’ensemble du système de fichiers est beaucoup plus difficile.

Une fois l’analyse terminée, examinez les partitions et les fichiers trouvés.

Hetman RAID Recovery : partitions et fichiers trouvés

Cette méthode peut aider à récupérer des données individuelles, voire un système de fichiers à partir d’un disque préalloué, mais le fichier image lui-même et ses relations avec les snapshots ne sont pas récupérés de cette manière.

Résumé

En conséquence, Hetman RAID Recovery a automatiquement assemblé le Linux MD RAID 6 à partir de deux disques disponibles, a trouvé la partition LUKS2 supprimée, l’a déverrouillée et a restauré le dossier contenant les images disque et les snapshots de la machine virtuelle.

Après le montage, nous avons pu comparer l’état du disque avant et après la création du snapshot, localiser les données requises et récupérer les fichiers supprimés ultérieurement. Il est important de conserver ensemble toutes les images et tous les snapshots associés, de ne pas modifier leurs noms et de récupérer les données uniquement sur un autre disque physique.

Abdelhamid Balti

Auteur: , Rédacteur technique

AbdelHamid Balti est un rédacteur technique chez Hetman Software. Il gère les tutoriels, les procédures et les revues détaillées concernant le fonctionnement des outils de l'entreprise avec toutes sortes de périphériques de stockage de données.

Mykhailo Miroshnychenko

Éditeur: , Rédacteur technique

Mykhailo Miroshnychenko est l'un des principaux programmeurs de la société Hetman Software. S'appuyant sur quinze années d'expérience en développement logiciel, il partage ses connaissances avec les lecteurs de notre blog. En plus de la programmation, Mykhailo est un expert dans le domaine de la récupération de données, des systèmes de fichiers, des périphériques de stockage de données et des matrices RAID.

Recommandé pour vous