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.

- ÉTAPE 1. Création d’une machine virtuelle KVM/QEMU
- ÉTAPE 2. Création d’un snapshot et suppression de la partition LUKS2
- ÉTAPE 3. Connexion des disques et lancement de la récupération
- ÉTAPE 4. Détection automatique des partitions MD RAID 6 et LUKS2
- ÉTAPE 5. Analyse de la partition LUKS2 et récupération des fichiers de la machine virtuelle
- ÉTAPE 6. Montage des disques virtuels et des snapshots
- ÉTAPE 7. Comparaison des états des disques et récupération des fichiers depuis un snapshot
- ÉTAPE 8. Recherche de données par les systèmes de fichiers des disques virtuels
- Résumé
- Questions fréquemment posées
- Commentaires
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.
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.

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.


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.

É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.

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.


É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.

É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.

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.

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é.

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.

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.

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.

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

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.
Cliquez sur Mount Disk.

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.

À 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.

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.

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.

É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.

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.

É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.

É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.

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.

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.

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.






