Cómo recuperar datos de un array Unraid cuando se excede la paridad

Han fallado dos discos en un array con paridad simple, o tres en una configuración de doble paridad. Unraid no puede iniciar el array y, aunque pudiera hacerlo, los datos de los discos dañados son matemáticamente irrecuperables únicamente mediante la paridad. Este es el punto en el que termina la redundancia de almacenamiento y comienza la recuperación de datos.

Cómo recuperar datos de un array Unraid cuando se excede la paridad

Lo que sucede a continuación depende de una característica de Unraid que constituye su principal ventaja ante fallos catastróficos: los datos que permanecen en los discos sobrevivientes siguen ahí, intactos y completamente legibles —cada disco es un sistema de archivos independiente que no precisa de otro disco para ser accesible. Este artículo explica cómo extraer lo que queda y qué herramientas permiten realizar esa extracción desde un equipo con Windows, orientado a la recuperación de datos de Unraid y la gestión de discos fallados.

Por qué Unraid falla de forma diferente a RAID 5 y RAID 6

En un arreglo RAID 5, los datos de los archivos se dividen en fragmentos de tamaño fijo y se distribuyen en franjas a través de todos los discos miembro. Ningún disco contiene un archivo completo. Una franja de N+1 discos contiene fragmentos de datos de N discos y un bloque de paridad. Si se pierden dos discos, toda franja que incluya cualquiera de ellos queda incompleta, lo que hace que todo el arreglo sea ilegible, independientemente de cuántos discos hayan sobrevivido.

Unraid escribe los archivos íntegros en discos individuales. Un archivo escrito en el Disco 2 existe por completo en el Disco 2. El Disco 3 no tiene ninguna referencia a ese archivo. El disco de paridad almacena la XOR de todos los discos de datos a nivel de sector, lo que permite reconstruir cualquier disco perdido, pero los discos de datos son volúmenes independientes y autocontenidos.

Escenario de fallo RAID 5 (paridad simple) Unraid (paridad simple)
1 disco perdido Arreglo degradado, datos accesibles mediante paridad Arreglo degradado, datos accesibles mediante paridad
2 discos perdidos Todo el arreglo ilegible — pérdida de todos los datos Los discos supervivientes son totalmente legibles; solo se pierden los datos de los discos fallados
3 discos perdidos Todo el arreglo ilegible Los discos supervivientes son totalmente legibles; la pérdida de datos se limita a los discos fallados
Todos menos 1 disco perdidos Todo el arreglo ilegible El último disco superviviente se puede leer de forma independiente
Todos los discos perdidos Pérdida total de datos Pérdida total de datos

La consecuencia es importante. En un arreglo RAID 5 de seis discos, perder dos significa perder todo lo almacenado en los seis. En un arreglo Unraid de seis discos, perder dos significa perder únicamente los datos que estaban físicamente en esos dos discos concretos: los otros cuatro son legibles hoy mismo, sin necesidad de realizar una reconstrucción.

La paridad sirve para la reconstrucción; no es necesaria para leer los discos supervivientes.

Cuando la protección por paridad se ve superada, deja de ser relevante para la recuperación de los discos que siguieron funcionando. Cada disco de datos está formateado como un volumen XFS o BTRFS estándar. Puedes conectar cualquier disco superviviente a una máquina Linux y montarlo directamente: los datos están ahí, no se requiere la paridad. El problema es que Windows no lee XFS ni BTRFS de forma nativa, por lo que es necesario recurrir a software de recuperación de datos.

Qué se pierde realmente cuando se supera la paridad

Comprender el alcance exacto de la pérdida de datos evita tanto el exceso de pesimismo como la falta de preparación. El visualizador siguiente muestra una matriz (array) Unraid de seis discos con paridad simple, en la que han fallado dos discos de datos.

Unraid When Parity Is Exceeded

El límite de la pérdida de datos se corresponde directamente con los discos físicos que fallaron. Nada en el Disco 1, 3 o 5 se ve afectado. Los archivos que estaban almacenados en el Disco 2 o en el Disco 4 se han perdido —no porque la paridad fallara de forma general, sino porque esos sectores dejaron de existir físicamente.

Recuperable sin software

Cualquier archivo que estuviera alojado íntegramente en un disco superviviente puede recuperarse directamente. Para la recuperación de datos, monte el disco en una máquina Linux y copie los archivos. No es necesaria la reconstrucción del RAID ni el disco de paridad.

🔧

Recuperable mediante software

Recuperación de archivos en discos supervivientes cuando el propio Unraid no puede iniciarse, el dispositivo de arranque ha fallado o se ha perdido la configuración del array. RS RAID Retrieve lee los metadatos de los discos y reconstruye la estructura del array sin necesidad de un servidor Unraid en ejecución, facilitando la recuperación de datos y la restauración del RAID.

No recuperable

Todo archivo almacenado en un disco con fallo físico, cuando el número de fallos excede la cobertura de paridad, es irrecuperable. Ningún software de recuperación de datos puede reconstruir información a partir de sectores que ya no existen.

Antes de comenzar: pasos que determinan si la recuperación tendrá éxito

En caso de fallo catastrófico, las acciones realizadas en los primeros minutos tras detectarlo influyen más en el resultado final que el software de recuperación de datos empleado posteriormente. Varias reacciones habituales empeoran la situación.

No intente reiniciar el array de Unraid

Cuando han fallado más discos de los que la paridad puede cubrir, Unraid puede intentar arrancar en un estado degradado, ejecutar comprobaciones de paridad o escribir datos de emulación basados en un conjunto de discos incompleto. Cualquier operación de escritura en ese momento —incluidas las actualizaciones de paridad que se inician al arrancar el array— corre el riesgo de sobrescribir los datos de los discos supervivientes con valores incorrectos derivados del cálculo XOR incompleto. Apague el servidor y no lo vuelva a encender hasta que se hayan creado imágenes sector por sector (clonación) de los discos supervivientes.

No ejecutar «New Config» ni reasignar ranuras de disco

Reasignar las ranuras de los discos en Unraid y ejecutar «New Config» hace que el sistema trate la matriz como recién creada. Recalculará la paridad a partir de los discos presentes y sobrescribirá el contenido del disco de paridad. Si posteriormente se determina que un disco fue identificado erróneamente, los datos de paridad necesarios para verificar o reconstruir la información ya no estarán disponibles.

Acciones recomendadas

1

Identificar qué discos están presentes físicamente y son legibles

Utilizando datos SMART para el diagnóstico de discos desde un sistema en funcionamiento o, si el servidor está apagado, conectando los discos uno por uno a un equipo de prueba. Clasifique los discos en tres grupos: totalmente operativos, parcialmente legibles (errores SMART pero en rotación) y totalmente inoperativos (no detectados por la BIOS). Esto determina el alcance de la recuperación de datos antes de intervenir con cualquier software.

2

Crear imagen de discos degradados antes de cualquier otra acción

Cualquier disco que muestre valores distintos de cero en Current_Pending_Sector o Reallocated_Sector_Ct está en proceso de degradación. Se debe crear una imagen del disco antes de proceder con la recuperación, no después. Utilice ddrescue con un archivo de mapa para gestionar los errores de lectura de forma segura y permitir reanudar sesiones interrumpidas:

ddrescue -d -r3 /dev/sdX /path/to/image.img /path/to/map.log

Las operaciones de recuperación de datos deben realizarse sobre la imagen, no sobre el disco degradado. Un disco que falle durante la recuperación sin contar con una imagen previa será irrecuperable.

3

Etiquetar los discos con sus números de bahía originales

Unraid almacena la configuración del array —qué número de serie corresponde a cada bahía— en el dispositivo flash de arranque. Si el dispositivo de arranque también se ha perdido, el orden de las bahías debe reconstruirse a partir de los metadatos del disco. Etiquete cada disco con su número original Disco N antes de retirar cualquier unidad del servidor. RS RAID Retrieve puede inferir las asignaciones de bahías a partir de los metadatos, pero una etiqueta física elimina ambigüedades durante la configuración manual.

Conecte todos los discos supervivientes a un PC con Windows

Utilice conexiones SATA directas siempre que sea posible. Para más de cuatro discos, es preferible una tarjeta de expansión PCIe SATA frente a adaptadores USB–SATA, que introducen problemas de fiabilidad de E/S durante lecturas sostenidas de gran volumen. Incluya el disco de paridad: RS RAID Retrieve, como herramienta de recuperación RAID, utiliza sus metadatos para confirmar la configuración del array, aunque la paridad no puede reconstruir los discos perdidos en este escenario.

Recuperación de datos de un array Unraid destruido con RS RAID Retrieve

Con los discos supervivientes conectados a un equipo con Windows, RS RAID Retrieve asume las tareas de recuperación que, de otro modo, requerirían un entorno Linux en funcionamiento: lectura de los sistemas de archivos XFS y BTRFS, reconstrucción de la estructura del array de Unraid a partir de los metadatos de los discos y presentación de un árbol de archivos navegable desde el que se pueden copiar selectivamente los datos a un destino íntegro.

Qué hace RS RAID Retrieve en este escenario

El programa lee los metadatos de Unraid de cada disco conectado, identifica qué discos están presentes y cuáles faltan, y ensambla una representación virtual de la matriz RAID con entradas de sustitución para los discos defectuosos. A continuación, proporciona acceso a los sistemas de archivos de los discos supervivientes — XFS y BTRFS — que Windows no puede leer de forma nativa. Para los discos defectuosos, marca correctamente sus datos como irrecuperables en lugar de mostrar contenido vacío o corrupto.

RS Raid Retrieve

RS Raid Retrieve

Recuperación de datos de matrices RAID dañadas

Disponible para: Windows, macOS, Linux
1

Inicie RS RAID Retrieve para la recuperación de RAID y deje que escanee todos los discos conectados

Al arrancar, el programa lee los metadatos del superbloque de Unraid escritos en cada disco miembro durante la inicialización del array. A partir de esos metadatos determina la configuración del array: número total de discos, asignación de ranuras, esquema de paridad y tipo de sistema de archivos por disco. Si todos los discos supervivientes están conectados y sus metadatos están intactos, el array aparece automáticamente en el Administrador de unidades (Drive Manager), mostrando los discos fallidos como ausentes.

2

Si la detección automática falla — use Modo manual

Abra el RAID Constructor y seleccione Modo manual. Configure el tipo de matriz en Unraid. Añada los discos disponibles e inserte marcadores de posición vacíos por cada disco faltante mediante el botón «+» . Establezca el desplazamiento de sectores — Unraid utiliza 64 o 2048; compruébelo abriendo cualquier disco de datos en el visor hexadecimal y localizando el inicio de la firma del superbloque de XFS o BTRFS (XFSB o _BHRfS_M). Haga clic en Vista previa — si se muestra el árbol de directorios, la configuración es correcta.

RAID Constructor → Unraid → Modo manual → añadir discos → marcador de posición por cada disco faltante → desplazamiento 64 o 2048 → Vista previa
3

Abra cada disco superviviente y ejecute un escaneo

Haga clic derecho sobre un disco superviviente en el Administrador de discos y seleccione Abrir. Para la recuperación de datos, elija Escaneo rápido para discos cuyo sistema de archivos esté intacto. Si el Escaneo rápido devuelve un árbol de archivos incompleto o no muestra archivos, ejecute Análisis completo: este realiza una búsqueda por firmas a nivel de sectores (análisis sectorial) y puede recuperar estructuras de directorios incluso cuando los metadatos del sistema de archivos están parcialmente dañados. Ejecute los escaneos en cada disco superviviente de forma independiente; los discos fallidos no mostrarán contenido recuperable.

4

Vista previa y selección de archivos para la recuperación de datos

El árbol de archivos muestra la estructura de directorios de cada disco superviviente tal como existía en el momento de la falla. Utilice el panel de vista previa para verificar la integridad de los archivos antes de iniciar la recuperación de datos: documentos, imágenes y archivos multimedia pueden abrirse directamente en la vista previa. Priorice los archivos irremplazables — documentos, bases de datos y fotografías. Las bibliotecas multimedia voluminosas, en las que los archivos son accesibles de forma independiente, tienen menor prioridad y pueden recuperarse en una segunda pasada.

5

Copiar los archivos recuperados a un disco sano y separado

Seleccione los archivos y carpetas objetivo, haga clic en Recovery y especifique una ruta de destino en un disco que no forme parte del array de Unraid. No escriba los archivos recuperados en ninguno de los discos de origen. Tras completar la copia, verifique aleatoriamente una muestra de cada tipo de archivo —abra archivos comprimidos, reproduzca un fragmento de vídeo, compruebe que un archivo de base de datos no tenga tamaño cero— antes de dar por finalizada la recuperación de datos.

✓ Qué esperar de una recuperación exitosa

RS RAID Retrieve mostrará el árbol de directorios completo de cada disco superviviente. Los archivos en esos discos estarán intactos y serán recuperables con sus nombres y rutas originales. Los discos averiados aparecerán en la vista del array sin contenido accesible; este comportamiento es normal y no indica un error del programa. La cantidad total de datos recuperables coincide exactamente con lo que estaba almacenado en los discos supervivientes en el momento de la falla.

Trabajar con discos parcialmente legibles

Los fallos catastróficos suelen implicar al menos un disco que no está completamente muerto: gira, es detectado por la BIOS, pero presenta errores de lectura en algunos sectores. Estos discos parcialmente legibles son el elemento más sensible al factor tiempo en la recuperación de datos: todavía proporcionan información, pero cada ciclo de encendido y cada intento de lectura fallido aceleran el desgaste mecánico.

Un disco degradado que se puede leer hoy puede no ser legible mañana.

Los recuentos de sectores reasignados (reallocated sector count) que aumentan entre dos lecturas SMART separadas por pocas horas indican degradación activa. No deje un disco degradado conectado e inactivo mientras planifica la recuperación. Cree inmediatamente una imagen bit a bit (imagen de disco/clonado) y realice el trabajo a partir de esa imagen.

Crear imagen de un disco degradado con ddrescue

ddrescue es la herramienta estándar para esta tarea porque gestiona los errores de lectura de forma segura: omite sectores ilegibles en la primera pasada, completa todo lo posible de la imagen y luego reintenta los sectores fallidos en pasadas sucesivas. Esto contrasta con dd, que por defecto se detiene ante el primer error de lectura.

	# First pass: read everything readable, skip errors, save map file
	ddrescue
	-d -r0
	/dev/sdX /mnt/recovery/disk_image.img /mnt/recovery/disk_image.map
	# Second pass: retry failed sectors up to 3 times
	ddrescue
	-d -r3
	/dev/sdX /mnt/recovery/disk_image.img /mnt/recovery/disk_image.map

El archivo de mapa registra qué sectores se leyeron correctamente y cuáles fallaron. Si el disco falla durante la operación o necesita interrumpir y continuar más tarde, ejecutar de nuevo el comando con el mismo archivo de mapa reanuda la creación de la imagen desde donde quedó, sin volver a leer los sectores ya capturados. Esta técnica es la recomendada para la recuperación de datos y la creación de imágenes de disco en medios con sectores defectuosos.

Alimentar la imagen en RS RAID Retrieve

Una vez completada la imagen, puede utilizarse en lugar del disco físico. En RS RAID Retrieve, use la opción Connect Image para adjuntar el archivo .img como disco virtual. El programa lo trata de la misma forma que a un dispositivo físico. Este procedimiento ofrece dos ventajas: el hardware degradado deja de estar sometido al estrés de lectura durante la recuperación de datos y, si es necesario repetir el proceso con distintos parámetros, la imagen de disco permanece disponible en su estado original.

Salida de ddrescue — qué significan los valores:

  • rescued: bytes leídos correctamente y escritos en la imagen. Este dato indica el volumen de datos recuperables.
  • errsize: bytes que no se pudieron leer. Esos sectores aparecerán como ceros en la imagen; cualquier archivo cuyos datos residan en esos sectores quedará incompleto.
  • errors: recuento de sectores distintos ilegibles. Un valor en centenas en un disco de varios terabytes suele significar que la mayoría de los archivos está intacta; un recuento en millones implica una pérdida de datos importante dentro de la imagen.
  • run time vs. remaining: si el tiempo restante se mide en días, el disco está demasiado degradado para obtener una imagen completa: detenga el proceso tras la primera pasada y trabaje con la imagen capturada.

Qué se puede y no se puede recuperar en este escenario

El resultado de un fallo que excede la paridad en Unraid es más predecible que en los sistemas RAID clásicos; para la recuperación de datos en Unraid el límite del daño viene marcado por los límites físicos de los discos en lugar de la distribución de franjas. La tabla siguiente resume la ruta de recuperación para cada componente del array.

Estado del disco Datos en ese disco Procedimiento de recuperación Herramienta
Operativo — SMART saludable Totalmente recuperable Lectura directa mediante RS RAID Retrieve o montaje en Linux RS RAID Retrieve / mount
Operativo — SMART degradado Mayormente recuperable; es posible pérdida de algunos sectores Crear imagen con ddrescue primero; recuperar a partir de la imagen ddrescue + RS RAID Retrieve
Fallado — no detectado No recuperable mediante la paridad Recuperación a nivel hardware (laboratorio profesional) si es crítico; en caso contrario aceptar la pérdida Laboratorio de recuperación de datos
Disco de paridad — sano No contiene datos de usuario Conectarlo solo para que RS RAID Retrieve confirme la configuración del array; no se usa para extraer datos RS RAID Retrieve (solo metadatos)
Flash de arranque — inoperativo Sólo la configuración del array; sin datos de usuario RS RAID Retrieve reconstruye la configuración a partir de los metadatos de los discos; después puede crearse una nueva unidad flash RS RAID Retrieve

Tras la recuperación: reconstruya el array desde cero; no parchee el anterior.

Una vez que los datos se hayan recuperado a un lugar seguro, el siguiente paso adecuado es realizar una instalación limpia de Unraid con discos nuevos o verificados, seguida de una reconstrucción completa de la paridad antes de restaurar los datos. Intentar continuar utilizando un array con fallos parciales —reemplazando solo los discos muertos y ejecutando una reconstrucción— deja los discos supervivientes en el mismo estado en que quedaron durante el fallo. En arrays que experimentaron dos fallos de disco simultáneos, ese estado exige un examen minucioso del hardware restante antes de volver a confiarle datos de producción.

Preguntas frecuentes

Sí, en parte. Unraid escribe metadatos por disco que RS RAID Retrieve y herramientas similares pueden leer, pero la fuente más útil suele ser el syslog de Unraid y los archivos de configuración de los shares almacenados en la unidad flash de arranque. La carpeta shares en el dispositivo flash contiene archivos .cfg para cada share, incluidos los parámetros includeDisks y excludeDisks —estos indican en qué discos se permitió escribir a cada share. Combinando esto con los archivos diskX.ini, que registran estadísticas de uso por disco, a menudo puedes reconstruir una imagen bastante precisa de las categorías de datos que había en los discos fallados, incluso si los nombres de archivos individuales se han perdido. Si la unidad flash también está dañada, la siguiente mejor fuente es cualquier herramienta de monitorización que haya registrado el tamaño de los shares a lo largo del tiempo —el historial del panel de control integrado de Unraid, paneles de Grafana alimentados por Telegraf, o incluso salidas periódicas de du guardadas en una ubicación remota.
Unraid desactiva un disco cuando detecta errores de lectura, no de escritura. El evento de desactivación es una medida de protección: la matriz deja de escribir en el disco y lo marca como fuera de línea en lugar de seguir escribiendo datos potencialmente inconsistentes. Eso significa que el contenido del disco en el momento de la desactivación refleja el último estado que se escribió con éxito, no algún estado intermedio corrupto. Los datos en él son tan fiables como lo permita el propio hardware. Lo que no puedes dar por seguro es si ese último estado escrito está completo o actualizado: si el disco se desactivó a mitad de una escritura (por ejemplo, durante la transferencia de un archivo grande), ese archivo concreto puede quedar incompleto. Crea una imagen del disco con ddrescue antes de hacer cualquier otra cosa, y después usa RS RAID Retrieve para evaluar el sistema de archivos. Los archivos que se escribieron completamente antes del evento de desactivación estarán intactos.
Los archivos de cero bytes en una recuperación que por lo demás está intacta suelen indicar una de dos cosas. La primera es una escritura incompleta en el momento de la falla: los archivos que se estaban escribiendo cuando la matriz falló pueden haber tenido sus entradas de directorio creadas antes de que los bloques de datos se completaran, dejando metadatos válidos que apuntan a sectores no asignados o rellenados con ceros. La segunda, más común en fallos de varios discos, es que los bloques de datos del archivo se encontraran asignados justamente en uno de los discos fallados. En Unraid, los archivos residen íntegramente en un solo disco, pero los metadatos del sistema de archivos que los describen (entradas de directorio, registros de inodo) pueden estar en otro disco que sobrevivió. RS RAID Retrieve muestra correctamente el nombre y la ruta del archivo a partir de esos metadatos supervivientes, pero marca el contenido como irrecuperable porque los sectores de datos están en el disco muerto. Ejecutar Full Analysis en lugar de Fast Scan confirmará qué caso se aplica: si Full Analysis también devuelve cero bytes, los bloques de datos se han perdido.
Puedes empezar totalmente desde cero: las asignaciones de slot en Unraid son una capa de configuración, no una capa de datos. Los datos de cada disco son independientes del número de slot que Unraid le asigne. Al reconstruir, crea una nueva configuración del array, formatea los discos nuevos y copia los datos recuperados desde tu destino de recuperación. No existe ningún requisito técnico que obligue a respetar la numeración de slots original. El único escenario en el que importa el orden original de los slots es si intentas una reconstrucción parcial —manteniendo algunos discos supervivientes en el array y añadiendo reemplazos para los fallidos. En ese caso, los discos supervivientes deben reasignarse exactamente a sus números de slot originales; de lo contrario Unraid los tratará como discos nuevos y sobrescribirá su contenido durante la reconstrucción de la paridad. Dado que este artículo aborda escenarios en los que la paridad ya se ha excedido, una reconstrucción completa desde cero es la vía más segura y limpia.
Deja un comentario

Artículos relacionados

Unraid: falla de un solo disco — recuperación de datos, emulación y reconstrucción
Unraid: falla de un solo disco — recuperación de datos, emulación y reconstrucción
La pérdida de un único disco en un array de Unraid es un suceso previsible y manejable, siempre que se actúe correctamente. El sistema sigue funcionando, los datos siguen siendo accesibles y existe un procedimiento definido para la recuperación completa. … Continue reading
Creación de un RAID por software en macOS
Creación de un RAID por software en macOS
La integridad y la seguridad de los datos son aspectos fundamentales para cualquier usuario de informática. Los usuarios de Mac no son la excepción. En este artículo se explica cómo crear un RAID por software en macOS (Mac OS), por … Continue reading
RAIDZ1 frente a RAID 5: ¿Qué ocurre realmente durante la recuperación de datos?
RAIDZ1 frente a RAID 5: ¿Qué ocurre realmente durante la recuperación de datos?
Cuando un usuario contacta a un especialista en recuperación de datos por un arreglo fallido, la respuesta a «¿qué nivel de RAID es?» condiciona todo lo que sigue. RAIDZ1 y RAID 5 comparten la misma idea fundamental: distribuir la paridad … Continue reading
¿Cómo crear RAID 10 en Windows 10?
¿Cómo crear RAID 10 en Windows 10?
Si te importa aunque sea un poco la seguridad de tus datos, entonces has oído hablar de los arreglos RAID. En este artículo, veremos cómo crear un arreglo RAID 10 en Windows 10.
Online Chat with Recovery Software