Cómo recuperar datos de ZFS: ZVOLs, conjuntos de datos, instantáneas y discos virtuales

Lea sobre recuperación de datos del sistema de archivos ZFS en TrueNAS 25.04.2.6. Revisaremos cómo analizar la estructura del pool y recuperar datos de ZVOL, Dataset, Snapshot, así como de discos virtuales y máquinas virtuales. Cubriremos escenarios comunes de pérdida de datos, incluyendo fallos de arreglo, actualizaciones del sistema fallidas, fallos de hardware y borrados accidentales. Todas las acciones se realizarán usando Hetman RAID Recovery en Windows, mientras que capacidades similares también están disponibles en Linux y macOS.

Cómo recuperar datos de ZFS: ZVOLs, conjuntos de datos, instantáneas y discos virtuales

El sistema de archivos ZFS ha sido considerado durante mucho tiempo como una de las soluciones de almacenamiento de datos más fiables debido a su alta tolerancia a fallos, comprobaciones de integridad integradas y extensas funciones de gestión de almacenamiento. Además del almacenamiento ordinario de archivos, ZFS soporta características importantes como ZVOL, Dataset, Snapshot y el manejo de discos virtuales, lo que lo hace popular en servidores, sistemas NAS y entornos de virtualización.

Sin embargo, incluso un sistema tan robusto no está exento de fallos. La corrupción del pool, el borrado accidental de un Dataset, la pérdida de un Snapshot, errores al trabajar con un ZVOL o el fallo de un disco virtual pueden provocar la pérdida de acceso a información importante. En estas situaciones es importante comprender cómo actuar correctamente para evitar empeorar el estado del almacenamiento y maximizar las probabilidades de una recuperación exitosa.

En este artículo examinaremos cómo recuperar datos de ZFS, incluidos ZVOL, Dataset, Snapshot y discos virtuales, qué métodos se pueden utilizar para recuperar la información y qué herramientas ayudarán a restaurar de forma segura el acceso a los archivos tras un fallo.

Ir a ver
Recuperación de datos de arreglos RAIDZ1, RAIDZ2, RAIDZ3 y Stripe ZFS

Recuperación de datos de arreglos RAIDZ1, RAIDZ2, RAIDZ3 y Stripe ZFS

Estructura de ZFS

En el sistema de archivos ZFS hay tres tipos principales de objetos de alto nivel: Dataset, ZVOL y Snapshot. Cada uno tiene su propio rol y opciones de configuración.

Dataset es el contenedor de archivos principal en un pool ZFS que funciona como un sistema de archivos independiente para almacenar archivos y directorios. Puede montarse directamente en el sistema operativo y accederse mediante los protocolos FTP, NFS, iSCSI, SSH o SMB. La principal ventaja de un Dataset es que puede configurarse de forma independiente sin afectar a otras partes del pool. Al crear un dataset se establecen propiedades básicas como el algoritmo de compresión (LZ4, GZIP, ZSTD, LZJB, ZLE), el modo de acceso, la sensibilidad a mayúsculas y minúsculas y los parámetros de escritura síncrona. Tras la creación, la mayoría de los ajustes pueden cambiarse en cualquier momento sin pérdida de datos, permitiendo que cada Dataset se adapte a tareas específicas.

ZVOL representa un dispositivo de bloque, es decir, un disco virtual que, a diferencia de un Dataset, no contiene archivos directamente. Proporciona almacenamiento a nivel de bloques para crear sistemas de archivos o conectarse como disco a máquinas virtuales. ZVOL opera a nivel de bloque y ofrece un rendimiento más consistente en comparación con imágenes basadas en archivos.

Al crear un ZVOL se especifica el tamaño lógico volsize y el tamaño de bloque volblocksize, los cuales afectan significativamente al rendimiento. Para optimizar el almacenamiento, habilite la compresión para reducir el volumen y la deduplicación para eliminar duplicados. También es importante activar el modo sparse, que asigna espacio del pool solo cuando realmente se escribe datos en lugar de reservar toda la capacidad en el momento de creación.

TrueNAS también permite crear discos virtuales como archivos en lugar de ZVOLs. Tales imágenes de archivo pueden usarse vía iSCSI, sin embargo no soportan el modo sparse y ocupan la totalidad del espacio en disco inmediatamente al crearlas.

Snapshot es una copia en un punto del tiempo de un Dataset o ZVOL creada mediante el mecanismo de copy-on-write, donde los cambios nuevos se escriben en otros bloques mientras los bloques previos permanecen sin cambios. Gracias a esto, un Snapshot consume casi nada de espacio adicional y permite restaurar un estado anterior o archivos individuales sin afectar los datos actuales. Tras su creación, un Snapshot es de solo lectura; puede eliminarse o utilizarse para clonar. La gestión se realiza mediante las propiedades visible y hide para la visibilidad, así como mediante snapshot tasks para automatizar la replication y la retention respecto a la transferencia y el periodo de retención.

Tipo de objeto Propósito Características clave Ámbito de uso
Dataset Sistema de archivos lógico dentro del pool ZFS Soporta compresión, cuotas, deduplicación, permisos de acceso separados Almacenamiento de archivos y directorios
ZVOL Dispositivo de bloque virtual Opera como un disco regular, puede formatearse con otro sistema de archivos Máquinas virtuales, iSCSI, bases de datos
Snapshot Instantánea del estado de los datos en un punto específico del tiempo Se crea al instante, ocupa espacio mínimo hasta que los datos cambian Copias de seguridad, rollback, recuperación

Recuperación de datos en ZFS

Revisaremos el proceso de análisis y recuperación de sus datos utilizando la aplicación Hetman RAID Recovery.

Recuperación de datos de matrices RAID dañadas inaccesibles a una computadora.

Hetman RAID Recovery puede ayudar en situaciones críticas cuando ha fallado el hardware del servidor, el sistema operativo TrueNAS está funcionando mal debido a actualizaciones o errores del sistema, o los discos del servidor han fallado. Independientemente de la causa de la inaccesibilidad de los datos, el software permite extraer la información y recuperarla en un dispositivo de almacenamiento independiente.

Conexión de discos

Para iniciar el proceso de recuperación debe extraer los discos que formaban parte del pool y conectarlos a un equipo con Hetman RAID Recovery instalado. Esto puede hacerse directamente mediante puertos SATA en la placa base o usando estaciones de acoplamiento externas. Si la arquitectura de hardware de su estación de trabajo no permite conectar todos los discos simultáneamente, la aplicación admite un enfoque combinado.

En situaciones con puertos libres limitados, una solución óptima es crear imágenes virtuales de algunos discos. Puede conectar algunos discos físicos directamente y usar copias exactas bit a bit montadas en la interfaz de la utilidad para los demás.

Hetman RAID Recovery: creación de imagen del pool ZFS

La aplicación trata dichas imágenes como dispositivos físicos completos y las usa automáticamente para reconstruir la estructura del arreglo. Este enfoque garantiza la seguridad de los datos ya que el análisis posterior se realiza sobre copias virtuales.

Tras conectar físicamente o montar como imágenes todos los componentes del pool, Hetman RAID Recovery leerá automáticamente los metadatos de ZFS y mostrará el arreglo ensamblado en la ventana principal, permitiendo el escaneo y el guardado de archivos.

Hetman RAID Recovery: discos conectados al PC

Al detectar las unidades, el programa analiza los metadatos y determina la configuración de su arreglo RAID. El número de discos necesarios para la recuperación completa de datos depende del tipo de configuración que utilizó:

  • En una configuración Stripe de ZFS no hay redundancia, por lo que se requieren todos los discos. La ausencia o daño incluso de una unidad hace imposible la recuperación completa de la estructura, y en tales casos solo es posible la extracción parcial de datos desde los discos disponibles.
  • RAIDZ1 tolera la falla de un único disco. Por lo tanto, la recuperación es posible si se conectan todas las unidades excepto una defectuosa. Si faltan dos o más discos, la recuperación completa de la estructura se vuelve imposible.
  • RAIDZ2 permite la pérdida de hasta dos discos. Para la reconstrucción correcta del pool, las unidades sanas restantes son suficientes, posibilitando la recuperación de datos incluso en escenarios de doble fallo.
  • RAIDZ3 tiene la mayor tolerancia a fallos y permite la pérdida de hasta tres discos. Con las unidades sanas restantes presentes, la recuperación completa de datos es posible incluso en escenarios complejos de fallos múltiples.
Tipo ZFS Número mínimo de discos Pérdida de discos permitida Rendimiento Nivel de protección de datos Equivalente RAID
Stripe 2 0 Muy alto Ninguno RAID 0
RAIDZ1 3 1 Alto Medio RAID 5
RAIDZ2 4 2 Medio Alto RAID 6
RAIDZ3 5 3 Más bajo Muy alto

Reconstrucción automática del pool

Inicie Hetman RAID Recovery y el programa empezará automáticamente a escanear todos los dispositivos conectados. La utilidad lee los metadatos de servicio de ZFS, analiza la configuración de los grupos virtuales (vdev) y, basándose en los datos obtenidos, reconstruye un modelo correcto de su pool.

Hetman RAID Recovery: escaneo del pool ZFS

En la ventana de trabajo verá todas las unidades detectadas y sus parámetros. Seleccione el pool deseado de la lista de arreglos reconstruidos y ejecute el modo Fast Scan para determinar rápidamente la estructura de datos.

Hetman RAID Recovery: análisis rápido del pool ZFS

Tras completar el escaneo, el sistema de archivos recuperado con la jerarquía completa de directorios y archivos se mostrará en la ventana principal. Podrá ver todos los Datasets, carpetas, archivos, ZVOL, archivos de disco virtual (LUN) y Snapshots. Expanda las carpetas para inspeccionar el contenido e identificar los objetos a recuperar.

Hetman RAID Recovery: sistema de archivos restaurado del pool ZFS mostrado

Marque los objetos que desea recuperar y haga clic en Recovery.

Hetman RAID Recovery: recuperación de datos del pool ZFS

En el siguiente paso especifique una carpeta para guardar los datos eligiendo un dispositivo separado con espacio libre suficiente. Esto es crítico para evitar sobrescribir los datos originales en el disco dañado. El programa mostrará el espacio disponible en el dispositivo de destino y el tamaño de los archivos seleccionados para control.

Hetman RAID Recovery: guardando datos recuperados del pool ZFS

Confirme el inicio del proceso de guardado y especifique la ruta final dentro de la carpeta seleccionada. Pulse Recovery nuevamente para comenzar a copiar sus datos al almacenamiento elegido.

Hetman RAID Recovery: carpeta para datos recuperados del pool ZFS

La aplicación realiza copiado byte a byte con verificación de integridad y muestra el progreso de la operación en tiempo real. Tras completar la copia pulse Finish.

Todos sus datos recuperados estarán ahora disponibles en el dispositivo elegido en su forma habitual y listos para su uso sin operaciones adicionales.

Datos recuperados del pool ZFS

Recuperación de discos virtuales

En situaciones donde se requiere recuperación debido a borrado accidental de archivos, formateo de particiones o eliminación de la configuración de una máquina virtual mientras se preserva el ZVOL, Hetman RAID Recovery proporciona herramientas para análisis profundo y recuperación de datos.

Recuperación de datos de matrices RAID dañadas inaccesibles a una computadora.

El programa permite tratar los objetos ZFS como dispositivos de almacenamiento completos independientemente de si son archivos de imagen de disco o un dispositivo de bloque ZVOL. Gracias al soporte para una amplia gama de sistemas de archivos, incluyendo NTFS, ReFS, VMFS, Ext, XFS, BTRFS, FAT, ExFAT, APFS, HFS y HikvisionFS, puede recuperar con éxito datos de entornos virtuales de cualquier complejidad.

El proceso de recuperación comienza ejecutando un escaneo rápido del pool para localizar el ZVOL o disco virtual requerido.

Hetman RAID Recovery: recuperación de discos virtuales del pool ZFS

El objeto encontrado puede montarse directamente en la interfaz de la aplicación o guardarse previamente en el equipo como un archivo de imagen para un análisis adicional. El montaje directo ahorra espacio en disco ya que no requiere crear copias adicionales.

Hetman RAID Recovery: discos virtuales encontrados en el pool ZFS

Tras el montaje, el objeto aparece en la lista de dispositivos como un disco normal listo para una inspección detallada de su contenido interno.

Hetman RAID Recovery: escaneo de discos virtuales en el pool ZFS

La elección del modo de escaneo para el disco montado depende de la naturaleza de la pérdida de datos. Si los archivos fueron simplemente eliminados, use Fast Scan para mostrar rápidamente la jerarquía de directorios. En casos más complejos, como formateo o cambios en el esquema de particiones, se recomienda usar Full Scan para una búsqueda exhaustiva basada en firmas.

Tras finalizar el análisis podrá ver archivos existentes y eliminados, verificar su integridad mediante la ventana de vista previa y guardar los datos requeridos en un dispositivo de almacenamiento sano y seguro.

Hetman RAID Recovery: contenido de discos virtuales en el pool ZFS

Acceso a Snapshots en ZFS

Hetman RAID Recovery permite la recuperación efectiva de datos borrados o modificados desde objetos ZVOL y discos virtuales usando Snapshots previamente creados. Este enfoque es crítico cuando un rollback completo del sistema es impracticable debido al riesgo de perder cambios actuales hechos después de la creación del snapshot, permitiendo preservar el estado actual del sistema mientras se restauran selectivamente los datos necesarios.

Para comenzar, ejecute el modo Fast Scan, tras lo cual aparecerá una carpeta especial Snapshot en la jerarquía del pool.

Hetman RAID Recovery: carpeta de snapshots en el pool ZFS

Los snapshots en su interior están ordenados por nombre y fecha de creación, lo que permite identificar rápidamente el punto de recuperación deseado. Al seleccionar el Snapshot apropiado, obtiene acceso a todos los objetos que fueron capturados en ese momento, incluyendo datasets y discos virtuales. Esto permite copiar simplemente los elementos requeridos sin cambiar la estructura operativa actual del pool.

Hetman RAID Recovery: lista de snapshots en el pool ZFS
Hetman RAID Recovery: snapshot del pool ZFS

Si guardar grandes imágenes de ZVOL en el disco local del equipo no es posible debido a falta de tiempo o espacio libre, es recomendable usar la función de montar objetos directamente en la interfaz de la aplicación. Esto permite trabajar con discos virtuales e imágenes LUN como dispositivos de almacenamiento regulares sin exportarlos previamente a un medio físico. Aunque la velocidad de procesamiento en este modo puede ser algo inferior, conserva significativamente los recursos y permite una búsqueda profunda inmediata de archivos dentro de sistemas de archivos invitados como NTFS, ext4 o XFS.

Hetman RAID Recovery: montando snapshot del pool ZFS en la aplicación

Después de que el objeto requerido esté montado o seleccionado dentro del Snapshot, puede realizar acciones estándar de búsqueda y recuperación. El programa mostrará el contenido del entorno virtual, permitiéndole marcar archivos y carpetas específicos para guardar.

Hetman RAID Recovery: snapshot de ZVOL montado en la aplicación

A continuación, simplemente haga clic en Recovery y especifique la ruta hacia un dispositivo de almacenamiento seguro.

Hetman RAID Recovery: contenido del snapshot montado del pool ZFS

Este enfoque hace que el proceso de recuperación sea transparente y conveniente, proporcionando flexibilidad al trabajar con datos en entornos de producción donde la continuidad del servicio es una prioridad principal.

Recuperación de datos borrados

En los casos en que los datos fueron eliminados directamente del pool y los Snapshots están ausentes o han sido sobrescritos, el análisis estándar de metadatos se vuelve ineficaz. Las particularidades del sistema de archivos ZFS y el mecanismo de copy-on-write implican que tras la eliminación el árbol de directorios a menudo no se conserva. Sin embargo, los datos en sí permanecen en los bloques del pool, lo que permite a Hetman RAID Recovery localizar y restaurarlos con éxito incluso en ausencia de registros de la tabla de colocación.

Las causas de tal pérdida pueden incluir el borrado accidental de datasets, ZVOL o máquinas virtuales junto con discos adjuntos.

Un escenario crítico es la inicialización de discos en sistemas operativos ajenos como Windows o macOS, que puede sobrescribir la información inicial de servicio de ZFS. En tales escenarios, el programa realiza un análisis a bajo nivel de toda la superficie del disco, identificando archivos y estructuras lógicas por sus firmas.

Para recuperar, seleccione el array reconstruido y ejecute Full Scan. Este proceso requiere más tiempo porque el programa trabaja directamente con bloques de datos, ensamblando fragmentos dispersos en objetos coherentes. Si la eliminación ocurrió dentro de una máquina virtual, se aplica un análisis en dos etapas: primero se recupera el ZVOL como dispositivo de bloque, y luego se escanea su sistema de archivos interno para encontrar los datos del sistema operativo invitado.

Hetman RAID Recovery: análisis del array del pool ZFS reconstruido

Tras finalizar el análisis, los objetos descubiertos generalmente aparecen como una lista única en la raíz del pool. Para encontrar el ZVOL o archivo requerido entre miles de elementos encontrados, use la función de búsqueda integrada. Puede filtrar resultados por nombre, fecha o tamaño de archivo. Si el nombre del objeto no se preservó en los metadatos, su volumen es el indicador principal para identificar un disco virtual.

Hetman RAID Recovery: búsqueda de archivos en el array reconstruido del pool ZFS

Los archivos encontrados pueden recuperarse directamente o montarse como discos virtuales para un examen adicional de su contenido. Antes del guardado final, se recomienda usar la función de vista previa para verificar la integridad de los datos.

Hetman RAID Recovery: montando ZVOL

Tras seleccionar los elementos necesarios haga clic en Recovery y especifique la ruta a un dispositivo de almacenamiento separado y seguro con espacio libre suficiente. El programa le notificará al completar la copia, tras lo cual todos los datos estarán listos para su uso.

Conclusión

La recuperación de datos del sistema de archivos ZFS, incluidos ZVOL, Dataset, Snapshot y discos virtuales, es posible incluso después de fallos graves si se actúa con cuidado y de forma secuencial. Gracias a los mecanismos de integridad incorporados, los snapshots y la estructura de almacenamiento flexible, ZFS aumenta significativamente las probabilidades de recuperar información con éxito en comparación con muchos otros sistemas de archivos.

Los Snapshots juegan un papel particularmente importante en la recuperación, permitiendo restaurar un estado anterior de los datos sin una reconstrucción compleja de todo el pool. Para ZVOL y discos virtuales una ventaja adicional es la capacidad de trabajar con dispositivos de bloque individuales, lo que simplifica el análisis y la copia de la información. Al mismo tiempo, la corrupción de metadatos o errores en la estructura del pool pueden complicar en gran medida el proceso y requerir herramientas especializadas.

Para aumentar las probabilidades de una recuperación exitosa, es importante no escribir en el pool problemático, no crear nuevos datasets y, si es posible, trabajar únicamente con copias de los discos. En casos complejos la mejor solución puede ser consultar a especialistas en recuperación de datos.

Así, incluso la compleja arquitectura de ZFS no impide la recuperación si se usan correctamente sus capacidades y se sigue un enfoque seguro al trabajar con un almacenamiento dañado.

Raidel Arbelay Becerra

Autor: , Escritor técnico

Raidel Arbelay Becerra es un escritor técnico de Hetman Software y la voz y la cara del canal de YouTube de Hetman Software: Recuperación de datos. Escribe artículos, tutoriales y reseñas en profundidad sobre el funcionamiento del software de la empresa con todo tipo de dispositivos de almacenamiento.

Angel Villares

Editor: , Escritor técnico

Ángel Villares es autor y uno de los ingenieros informáticos de Hetman Software. Cuenta con casi 10 años de experiencia en el campo de la informática: administración y configuración de servidores, instalación de sistemas operativos y de diferentes programas informáticos, configuración de redes, seguridad de la información, implantación y asesoramiento en el uso de software especializado. Es un experto en el campo de la recuperación de datos, sistemas de archivos, dispositivos de almacenamiento y matrices RAID.

Recomendado para ti