¿Qué es la rehidratación?
La rehidratación es el proceso de reconstruir los datos en su forma original a partir de un almacenamiento deduplicado. La deduplicación guarda cada bloque único una sola vez y sustituye las repeticiones por referencias. Leer los datos implica seguir esas referencias y reensamblar cada bloque en orden, lo que exige más trabajo que leer una copia simple.
¿Por qué los datos deduplicados necesitan rehidratación?
La deduplicación divide los datos entrantes en fragmentos, conserva una copia de cada fragmento distinto y registra, para cada copia de seguridad, la lista de fragmentos que la componen. Tras meses de copias, los fragmentos de un mismo punto de restauración quedan repartidos por el almacenamiento, allí donde apareció cada uno por primera vez. Una restauración tiene que localizarlos y leerlos todos. Lo mismo ocurre cuando una copia se traslada a otro sistema que no comparte el mismo formato de deduplicación, como la cinta o el almacenamiento de otro fabricante.
¿Cómo afecta la rehidratación a la velocidad de restauración?
La escritura en un almacenamiento deduplicado es en gran parte secuencial. La lectura es en gran parte aleatoria, porque los trozos consecutivos de un archivo están en lugares distintos. En discos duros, las lecturas aleatorias son mucho más lentas que las secuenciales, así que el rendimiento de restauración de un sistema con deduplicación suele quedar muy por debajo de su rendimiento de copia.
| Operación | Patrón de acceso | Efecto |
|---|---|---|
| Copia a un almacenamiento deduplicado | Escrituras mayoritariamente secuenciales | Rápida, con buena reducción de datos |
| Restauración de una copia reciente | Lecturas aleatorias entre fragmentos antiguos y nuevos | Más lenta que la velocidad de ingesta |
| Recuperación instantánea o exploración de archivos | Lecturas aleatorias intensas durante la ejecución | Puede ser inviable en algunos sistemas |
| Copia a cinta o a la nube | Rehidratación completa previa | Ventanas de copia largas |
¿Cuándo se convierte la rehidratación en un problema?
Pesa sobre todo en una recuperación a gran escala, cuando se restauran muchos sistemas a la vez y cada flujo compite por los mismos fragmentos dispersos. Un sistema que restaura una máquina virtual en un tiempo aceptable puede tardar días con varios cientos. También afecta a la recuperación instantánea, en la que una máquina se ejecuta directamente desde el almacenamiento de copias. El artículo Por qué las restauraciones deduplicadas tardan más analiza el efecto en el tiempo de recuperación.
¿Cómo se puede reducir su efecto?
Hay varias vías. Mantener los puntos de restauración más recientes en un almacenamiento que no necesita rehidratación, y dejar el deduplicado para los más antiguos, da restauraciones rápidas donde son más probables. Los sistemas basados en flash gestionan las lecturas aleatorias mucho mejor que el disco. El software de copia de seguridad también puede aplicar su propia deduplicación y compresión en el origen y escribir en un almacenamiento que sirve las lecturas directamente, de modo que la restauración obtiene los datos sin un paso de reensamblado aparte. La medida que resuelve la duda es el rendimiento de restauración con una carga realista.
Preguntas frecuentes
¿La rehidratación solo afecta a los appliances de deduplicación?
Es donde más se nota, porque la reducción de datos se hace en el almacenamiento. Cualquier sistema que guarde los datos como referencias a fragmentos compartidos tiene que reensamblarlos al leer.
¿La rehidratación supone un riesgo de pérdida de datos?
Por sí sola, no. Es un coste de rendimiento. El riesgo relacionado es que muchas copias dependen de los mismos fragmentos almacenados, de modo que un daño en uno afecta a todas.
¿Cómo se mide la velocidad de rehidratación?
Restaurando un conjunto representativo de sistemas y registrando el rendimiento, a ser posible varios a la vez para reflejar una recuperación real.
