Comment récupérer des données depuis ZFS : les ZVOLs, les jeux de données, les instantanés et les disques virtuels

Lire à propos de la récupération de données depuis le système de fichiers ZFS dans TrueNAS 25.04.2.6. Nous examinerons comment analyser la structure du pool et récupérer des données depuis un ZVOL, Dataset, Snapshot, ainsi que depuis des disques virtuels et des machines virtuelles. Nous couvrirons les scénarios courants de perte de données, y compris les défaillances d’array, les mises à jour système ratées, les pannes matérielles et les suppressions accidentelles. Toutes les opérations seront effectuées à l’aide de Hetman RAID Recovery sous Windows, tandis que des fonctionnalités similaires sont également disponibles sous Linux et macOS.

Comment récupérer des données depuis ZFS : les ZVOLs, les jeux de données, les instantanés et les disques virtuels

Le système de fichiers ZFS est depuis longtemps considéré comme l’une des solutions de stockage de données les plus fiables en raison de sa haute tolérance aux pannes, de ses contrôles d’intégrité intégrés et de ses fonctionnalités étendues de gestion du stockage. Outre le stockage de fichiers classique, ZFS prend en charge des fonctionnalités importantes telles que ZVOL, Dataset, Snapshot et la gestion des disques virtuels, ce qui le rend populaire sur les serveurs, les systèmes NAS et dans les environnements de virtualisation.

Cependant, même un système aussi robuste n’est pas à l’abri des défaillances. La corruption d’un pool, la suppression accidentelle d’un Dataset, la perte d’un Snapshot, des erreurs lors de l’utilisation d’un ZVOL ou la défaillance d’un disque virtuel peuvent entraîner la perte d’accès à des informations importantes. Dans ces situations, il est essentiel de savoir agir correctement pour éviter d’aggraver l’état du stockage et maximiser les chances d’une récupération réussie.

Dans cet article, nous verrons comment récupérer des données depuis ZFS, y compris ZVOL, Dataset, Snapshot et disques virtuels, quelles méthodes peuvent être utilisées pour restituer l’information et quels outils permettent de rétablir l’accès aux fichiers de manière sûre après une panne.

Visualisation
Récupération de données à partir des baies RAIDZ1, RAIDZ2, RAIDZ3 et Stripe ZFS

Récupération de données à partir des baies RAIDZ1, RAIDZ2, RAIDZ3 et Stripe ZFS

Structure de ZFS

Dans le système de fichiers ZFS, il existe trois principaux types d’objets de niveau supérieur : Dataset, ZVOL et Snapshot. Chacun joue un rôle et propose des options de configuration propres.

Dataset est le conteneur de fichiers principal dans un pool ZFS qui fonctionne comme un système de fichiers distinct pour le stockage de fichiers et de répertoires. Vous pouvez le monter directement dans le système d’exploitation et y accéder via les protocoles FTP, NFS, iSCSI, SSH ou SMB. L’avantage principal d’un Dataset est que vous pouvez configurer ses paramètres indépendamment sans affecter d’autres parties du pool. Lors de la création d’un dataset, vous définissez des propriétés de base telles que l’algorithme de compression (LZ4, GZIP, ZSTD, LZJB, ZLE), le mode d’accès, la sensibilité à la casse et les paramètres d’écriture synchrone. Après la création, la plupart des paramètres peuvent être modifiés à tout moment sans perte de données, permettant d’adapter chaque Dataset à des tâches spécifiques.

ZVOL représente un périphérique bloc, c’est‑à‑dire un disque virtuel qui, contrairement à un Dataset, ne contient pas directement des fichiers. Il fournit un stockage en mode bloc pour créer des systèmes de fichiers ou pour être connecté en tant que disque à des machines virtuelles. Le ZVOL fonctionne au niveau des blocs et offre des performances plus stables comparées aux images basées sur des fichiers.

Lors de la création d’un ZVOL, vous spécifiez la taille logique volsize et la taille de bloc volblocksize, qui influent fortement sur les performances. Pour optimiser le stockage, activez la compression pour réduire le volume et la déduplication pour éliminer les doublons. Il est également important d’activer le mode sparse, qui n’alloue l’espace du pool que lorsque des données sont réellement écrites, au lieu de réserver toute la capacité lors de la création.

TrueNAS permet également de créer des disques virtuels sous forme de fichiers plutôt que de ZVOL. De telles images fichier peuvent être utilisées via iSCSI, toutefois elles ne prennent pas en charge le mode sparse et occupent immédiatement la totalité de l’espace disque à la création.

Snapshot est une copie à un instant donné d’un Dataset ou d’un ZVOL créée à l’aide du mécanisme de copy-on-write, où les nouvelles modifications sont écrites sur d’autres blocs tandis que les blocs précédents restent inchangés. Grâce à cela, un Snapshot consomme presque aucun espace supplémentaire et permet de restaurer un état antérieur ou des fichiers individuels sans impacter les données actuelles. Après création, un Snapshot est en lecture seule ; il peut être supprimé ou utilisé pour le clonage. La gestion s’effectue via les propriétés visible et hide pour la visibilité, ainsi que par les tâches de snapshot pour automatiser la réplication et la rétention concernant le transfert et la période de conservation.

Type d’objet Objectif Caractéristiques principales Utilisation
Dataset Système de fichiers logique à l’intérieur du pool ZFS Prend en charge la compression, les quotas, la déduplication, permissions d’accès séparées Stockage de fichiers et de répertoires
ZVOL Périphérique bloc virtuel Fonctionne comme un disque ordinaire, peut être formaté avec un autre système de fichiers Machines virtuelles, iSCSI, bases de données
Snapshot Instantané de l’état des données à un moment précis Créé instantanément, occupe un minimum d’espace jusqu’aux modifications des données Sauvegardes, rollback, récupération

Récupération des données ZFS

Nous examinerons le processus d’analyse et de récupération de vos données à l’aide de l’application Hetman RAID Recovery.

Récupération des données des matrices RAID endommagées inaccessibles pour l'ordinateur.

Hetman RAID Recovery peut aider dans des situations critiques lorsque le matériel du serveur est défaillant, que le système d’exploitation TrueNAS dysfonctionne à la suite de mises à jour ou d’erreurs système, ou que des disques du serveur ont échoué. Quelle que soit la cause de l’inaccessibilité des données, le logiciel permet d’extraire l’information et de la récupérer vers un périphérique de stockage séparé.

Connexion des disques

Pour démarrer le processus de récupération, vous devez retirer les disques qui faisaient partie du pool et les connecter à un ordinateur disposant de Hetman RAID Recovery installé. Cela peut se faire directement via les ports SATA de la carte mère ou en utilisant des stations d’accueil externes. Si l’architecture matérielle de votre poste de travail ne permet pas de connecter tous les disques simultanément, l’application prend en charge une approche combinée.

Dans les situations où les ports libres sont limités, une solution optimale consiste à créer des images virtuelles de certains disques. Vous pouvez connecter certains disques physiques directement et utiliser des copies exactes bit à bit montées dans l’interface de l’utilitaire pour les autres.

Hetman RAID Recovery : création d'une image du pool ZFS

L’application traite ces images comme des périphériques physiques complets et les utilise automatiquement pour reconstruire la structure de l’array. Cette approche garantit la sécurité des données puisque l’analyse ultérieure est effectuée sur des copies virtuelles.

Après que tous les composants du pool sont physiquement connectés ou montés en tant qu’images, Hetman RAID Recovery lira automatiquement les méta‑données ZFS et affichera l’array assemblé dans la fenêtre principale, permettant une analyse et un enregistrement ultérieurs des fichiers.

Hetman RAID Recovery : disques connectés au PC

Lors de la détection des disques, le programme analyse les méta‑données et détermine la configuration de votre groupe RAID. Le nombre de disques requis pour une récupération complète dépend du type de configuration utilisé :

  • Dans une configuration ZFS Stripe il n’y a pas de redondance, donc tous les disques sont nécessaires. L’absence ou la détérioration d’un seul disque rend impossible la récupération complète de la structure, et dans ce cas seule une extraction partielle des données présentes sur les disques disponibles est possible.
  • RAIDZ1 tolère la défaillance d’un seul disque. Ainsi, la récupération est possible si tous les disques sauf un disque défectueux sont connectés. Si deux disques ou plus sont manquants, la reconstruction complète devient impossible.
  • RAIDZ2 permet la perte de jusqu’à deux disques. Pour une reconstruction correcte du pool, les disques restants en bon état sont suffisants, permettant la récupération des données même en cas de double défaillance.
  • RAIDZ3 offre la tolérance de panne la plus élevée et autorise la perte de jusqu’à trois disques. Si les disques restants en bon état sont présents, une récupération complète des données est possible même dans des scénarios complexes de défaillances multiples.
Type ZFS Nombre minimum de disques Perte de disques autorisée Performances Niveau de protection des données Équivalent RAID
Stripe 2 0 Très élevées Aucune RAID 0
RAIDZ1 3 1 Élevées Moyen RAID 5
RAIDZ2 4 2 Moyennes Élevé RAID 6
RAIDZ3 5 3 Plus faibles Très élevé

Reconstruction automatique du pool

Lancez Hetman RAID Recovery et le programme commencera automatiquement à analyser tous les périphériques connectés. L’utilitaire lit les méta‑données de service ZFS, analyse la configuration des groupes virtuels (vdev) et, sur la base des données obtenues, reconstruit un modèle correct de votre pool.

Hetman RAID Recovery : analyse du pool ZFS

Dans la fenêtre de travail, vous verrez tous les disques détectés et leurs paramètres. Sélectionnez le pool souhaité dans la liste des arrays reconstruits et lancez le mode Analyse rapide pour déterminer rapidement la structure des données.

Hetman RAID Recovery : analyse rapide du pool ZFS

Une fois l’analyse terminée, le système de fichiers récupéré avec l’arborescence complète des répertoires et fichiers s’affichera dans la fenêtre principale. Vous pourrez consulter tous les Datasets, dossiers, fichiers, ZVOL, fichiers de disque virtuel (LUN) et Snapshots. Développez les dossiers pour inspecter le contenu et identifier les objets à récupérer.

Hetman RAID Recovery : affichage du système de fichiers restauré du pool ZFS

Sélectionnez les objets que vous souhaitez récupérer et cliquez sur Récupération.

Hetman RAID Recovery : récupération de données depuis le pool ZFS

À l’étape suivante, spécifiez un dossier pour enregistrer les données en choisissant un périphérique séparé disposant d’un espace libre suffisant. Ceci est essentiel pour éviter d’écraser les données originales sur le disque endommagé. Le programme affichera l’espace disponible sur le périphérique de destination et la taille des fichiers sélectionnés pour contrôle.

Hetman RAID Recovery : enregistrement des données récupérées du pool ZFS

Confirmez le démarrage du processus d’enregistrement et indiquez le chemin final de sauvegarde à l’intérieur du dossier sélectionné. Appuyez de nouveau sur Récupération pour lancer la copie de vos données vers le stockage choisi.

Hetman RAID Recovery : dossier pour les données récupérées du pool ZFS

L’application effectue une copie octet par octet avec vérification d’intégrité et affiche la progression de l’opération en temps réel. Une fois la copie terminée, cliquez sur Terminer.

Toutes vos données récupérées sont désormais disponibles sur le périphérique choisi sous leur forme habituelle et prêtes à l’emploi sans opérations supplémentaires.

Données récupérées du pool ZFS

Récupération de disques virtuels

Dans les situations où la récupération est nécessaire en raison d’une suppression accidentelle de fichiers, d’un formatage de partition ou de la suppression de la configuration d’une machine virtuelle alors que le ZVOL est préservé, Hetman RAID Recovery fournit des outils pour une analyse approfondie et la restitution des données.

Récupération des données des matrices RAID endommagées inaccessibles pour l'ordinateur.

Le programme permet de traiter les objets ZFS comme des périphériques de stockage complets, qu’ils soient des fichiers image disque ou un périphérique bloc ZVOL. Grâce à la prise en charge d’un large éventail de systèmes de fichiers, notamment NTFS, ReFS, VMFS, Ext, XFS, BTRFS, FAT, ExFAT, APFS, HFS et HikvisionFS, vous pouvez récupérer avec succès des données d’environnements virtuels de toute complexité.

Le processus de récupération commence par l’exécution d’une analyse rapide du pool afin de localiser le ZVOL ou le disque virtuel requis.

Hetman RAID Recovery : récupération de disques virtuels depuis le pool ZFS

L’objet trouvé peut être monté directement dans l’interface de l’application ou préalablement sauvegardé sur l’ordinateur en tant que fichier image pour une analyse ultérieure. Le montage direct économise de l’espace disque puisqu’il ne nécessite pas la création de copies supplémentaires.

Hetman RAID Recovery : disques virtuels trouvés dans le pool ZFS

Après le montage, l’objet apparaît dans la liste des périphériques comme un disque ordinaire prêt pour une inspection détaillée de son contenu interne.

Hetman RAID Recovery : analyse des disques virtuels dans le pool ZFS

Le choix du mode d’analyse pour le disque monté dépend de la nature de la perte de données. Si des fichiers ont simplement été supprimés, utilisez Analyse rapide pour afficher rapidement la hiérarchie des répertoires. Dans des cas plus complexes, tels qu’un formatage ou des modifications de la table de partition, il est recommandé d’utiliser Analyse complète pour une recherche approfondie basée sur les signatures.

Après la fin de l’analyse, vous pourrez afficher les fichiers existants et supprimés, vérifier leur intégrité via la fenêtre d’aperçu et enregistrer les données requises sur un périphérique de stockage sain et sécurisé.

Hetman RAID Recovery : contenu des disques virtuels dans le pool ZFS

Accès aux snapshots dans ZFS

Hetman RAID Recovery permet une récupération efficace des données supprimées ou modifiées depuis des objets ZVOL et des disques virtuels en utilisant des Snapshots créés précédemment. Cette approche est cruciale lorsque un retour en arrière complet du système est impraticable en raison du risque de perte des modifications actuelles effectuées après la création du snapshot, permettant de préserver l’état actuel du système tout en restaurant sélectivement les données nécessaires.

Pour commencer, exécutez le mode Analyse rapide, après quoi un dossier spécial Snapshot apparaîtra dans la hiérarchie du pool.

Hetman RAID Recovery : dossier des snapshots dans le pool ZFS

Les snapshots qu’il contient sont ordonnés par nom et date de création, permettant d’identifier rapidement le point de récupération souhaité. En sélectionnant le Snapshot approprié, vous accédez à tous les objets capturés à ce moment‑là, y compris les datasets et les disques virtuels. Cela permet de copier simplement les éléments requis sans modifier la structure du pool en cours d’utilisation.

Hetman RAID Recovery : liste des snapshots dans le pool ZFS
Hetman RAID Recovery : snapshot du pool ZFS

Si l’enregistrement de grosses images ZVOL sur le disque local de l’ordinateur n’est pas possible par manque de temps ou d’espace libre, il est conseillé d’utiliser la fonctionnalité de montage des objets directement dans l’interface de l’application. Cela permet de travailler avec des disques virtuels et des images LUN comme des périphériques de stockage ordinaires sans les exporter au préalable vers un support physique. Bien que la vitesse de traitement dans ce mode puisse être un peu moindre, cela économise considérablement les ressources et permet une recherche profonde immédiate à l’intérieur des systèmes de fichiers invités tels que NTFS, ext4 ou XFS.

Hetman RAID Recovery : montage d'un snapshot du pool ZFS dans l'application

Après que l’objet requis est monté ou sélectionné à l’intérieur du Snapshot, vous pouvez effectuer les actions standard de recherche et de récupération. Le programme affichera le contenu de l’environnement virtuel, vous permettant de marquer des fichiers et dossiers spécifiques pour enregistrement.

Hetman RAID Recovery : snapshot de ZVOL monté dans l'application

Ensuite, cliquez simplement sur Récupération et spécifiez le chemin vers un périphérique de stockage sécurisé.

Hetman RAID Recovery : contenu du snapshot monté du pool ZFS

Cette approche rend le processus de récupération transparent et pratique, offrant de la flexibilité lors du travail avec des données en environnements de production où la continuité de service est une priorité.

Récupération de données supprimées

Dans les cas où des données ont été supprimées directement du pool et que les Snapshots sont absents ou ont été écrasés, l’analyse standard des méta‑données devient inefficace. Les spécificités du système de fichiers ZFS et du mécanisme de copy-on-write signifient qu’après suppression l’arborescence des répertoires n’est souvent pas préservée. Toutefois, les données elles‑mêmes demeurent dans les blocs du pool, ce qui permet à Hetman RAID Recovery de les localiser et de les restaurer avec succès même en l’absence d’enregistrements de table de placement.

Les causes d’une telle perte peuvent inclure la suppression accidentelle de datasets, de ZVOL ou de machines virtuelles accompagnées des disques attachés.

Un scénario critique est l’initialisation des disques dans des systèmes d’exploitation étrangers tels que Windows ou macOS, qui peut écraser les informations de service initiales de ZFS. Dans de tels cas, le programme effectue une analyse bas niveau de toute la surface du disque, identifiant fichiers et structures logiques par leurs signatures.

Pour récupérer, sélectionnez l’array reconstruit et lancez une Analyse complète. Ce processus demande plus de temps car le programme travaille directement avec les blocs de données, assemblant des fragments dispersés en objets cohérents. Si la suppression est intervenue à l’intérieur d’une machine virtuelle, une analyse en deux étapes est appliquée : d’abord le ZVOL est récupéré en tant que périphérique bloc, puis son système de fichiers interne est analysé pour retrouver les données du système invité.

Hetman RAID Recovery : analyse du pool ZFS reconstruit

Après la fin de l’analyse, les objets découverts apparaissent généralement sous forme d’une liste unique à la racine du pool. Pour retrouver le ZVOL ou le fichier requis parmi des milliers d’éléments trouvés, utilisez la fonction de recherche intégrée. Vous pouvez filtrer les résultats par nom, date ou taille de fichier. Si le nom de l’objet n’a pas été conservé dans les méta‑données, son volume est l’indicateur principal pour identifier un disque virtuel.

Hetman RAID Recovery : recherche de fichiers dans le pool ZFS reconstruit

Les fichiers trouvés peuvent être récupérés directement ou montés en tant que disques virtuels pour un examen plus approfondi de leur contenu. Avant l’enregistrement final, il est recommandé d’utiliser la fonction d’aperçu pour vérifier l’intégrité des données.

Hetman RAID Recovery : montage de ZVOL

Après avoir sélectionné les éléments nécessaires, cliquez sur Récupération et spécifiez le chemin vers un périphérique de stockage sécurisé et distinct disposant d’un espace libre suffisant. Le programme vous notifiera à la fin de la copie, après quoi toutes les données seront prêtes à l’emploi.

Conclusion

La récupération de données depuis le système de fichiers ZFS, y compris ZVOL, Dataset, Snapshot et disques virtuels, est possible même après des défaillances graves si les actions sont menées avec soin et dans un ordre approprié. Grâce aux mécanismes d’intégrité intégrés, aux snapshots et à la structure de stockage flexible, ZFS augmente significativement les chances de récupération réussie par rapport à de nombreux autres systèmes de fichiers.

Les Snapshots jouent un rôle particulièrement important dans la récupération, permettant de restaurer un état antérieur des données sans reconstruction complexe de l’ensemble du pool. Pour les ZVOL et disques virtuels, un avantage supplémentaire est la possibilité de travailler sur des périphériques bloc individuels, ce qui simplifie l’analyse et la copie des informations. Dans le même temps, la corruption des méta‑données ou des erreurs dans la structure du pool peut fortement compliquer le processus et nécessiter des outils spécialisés.

Pour augmenter les chances d’une récupération réussie, il est important de ne pas écrire sur le pool problématique, de ne pas créer de nouveaux datasets et, si possible, de travailler uniquement sur des copies des disques. Dans les cas complexes, la meilleure solution peut être de consulter des spécialistes en récupération de données.

Ainsi, même l’architecture complexe de ZFS n’empêche pas la récupération si ses capacités sont utilisées correctement et qu’une approche sécurisée est adoptée lors du travail avec un stockage endommagé.

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