NetApp Tech OnTap

Deduplicación de datos de backup con VTL de NetApp

Si ha sido lector asiduo de Tech OnTap durante el último año más o menos, probablemente haya leído muchos artículos sobre la tecnología de deduplicación de NetApp para nuestros sistemas de almacenamiento FAS. Este artículo describe una tecnología de deduplicación nueva y diferente: la deduplicación en nuestros sistemas VTL. Los resultados son los mismos: ahorrar espacio eliminando datos redundantes; pero la forma de lograrlo en VTL de NetApp® es bien distinta.

La tecnología de deduplicación que se emplea en VTL de NetApp es una tecnología completamente nueva diseñada para satisfacer los requisitos exclusivos de deduplicación de los formatos de datos de backup, como los que generan las aplicaciones comunes de backup como Symantec™ NetBackup™, Tivoli Storage Manager, etc. La deduplicación en VTL de NetApp combina algoritmos de deduplicación nuevos y exclusivos con las funciones VTL de NetApp, de eficiencia demostrada, como la compresión de hardware de alto rendimiento de NetApp para conseguir una eficiencia del almacenamiento sobresaliente con un ahorro de espacio en una proporción de 20:1 o más para los conjuntos de datos de backup.



Flujo de deduplicación y compresión de VTL de NetApp

Figura 1) Flujo de deduplicación y compresión de VTL de NetApp.

Consideraciones importantes respecto a la deduplicación de VTL

Las bibliotecas de cintas virtuales (VTL) ocupan el lugar de las bibliotecas de cintas tradicionales en su centro de datos, permitiendo escribir varios flujos de datos de backup directamente en el almacenamiento en disco a gran velocidad. La deduplicación en tal entorno da lugar a varias consideraciones especiales.

Independencia de la alineación. El mayor requisito de la deduplicación de VTL es que debe ser independiente de la alineación de datos. Los datos replicados en los formatos generados por la mayoría de las aplicaciones de backup pueden aparecer con cualquier desplazamiento en un flujo de datos de backup, por lo que el análisis de la deduplicación debe realizarse de tal manera que los datos replicados se puedan localizar en todas las ubicaciones donde se encuentren y durante todo el tiempo que existan. No es sólo cuestión de identificar los bloques de tamaño fijo replicados.
En una sección posterior, describiré los detalles sobre cómo detecta VTL de NetApp la replicación. Por ahora, basta decir que VTL de NetApp es capaz de detectar la replicación sin tener en consideración el desplazamiento en que comienza o finaliza.

Independencia de formato. Algunos algoritmos de deduplicación aplican el método de ingeniería inversa de descomponer los formatos de los datos de backup y deduplicar los datos basándose en el conocimiento anterior de ese formato. El problema potencial de este método es que existen muchísimos formatos.
Ahora mismo hay por lo menos media docena de aplicaciones de backup conocidas, cada una con un formato de datos exclusivo, y entre las distintas aplicaciones también puede haber diversos formatos de datos según el tipo de datos (base de datos, fichero de datos, etc.). Estos formatos con frecuencia están sujetos a derechos de propiedad y a cambios sin previo aviso.
Puesto que el método basado en el formato es potencialmente problemático, VTL de NetApp procesa cada flujo de datos de backup (o uno cualquiera) como datos opacos y realiza la deduplicación sin depender de la capacidad de descodificar el flujo de datos.

¿Online o postprocesamiento? Otra consideración importante es si la deduplicación debería realizarse online a medida que se recibe cada flujo de datos, o si esos flujos de datos deberían guardarse en el disco y realizar la deduplicación más tarde en modo postprocesamiento. El método online es más eficiente desde el punto de vista del almacenamiento (los datos replicados no llegan al disco). Por otro lado, al realizar el proceso de deduplicación online se corre el riesgo de ralentizar las aplicaciones que escriben los flujos de datos y, por consiguiente, aumentar el tiempo necesario para completar los backups.

Para VTL de NetApp, optamos por un método que tiene las ventajas de estos dos. El algoritmo de deduplicación de VTL de NetApp ha sido diseñado para ser "adaptable a la velocidad". Se ejecuta online o realiza un postprocesamiento en función de los requisitos de rendimiento de la aplicación de backup. Está diseñado para cambiar el modo de funcionamiento automáticamente cuando varía la carga de trabajo de backup. Esta capacidad de ajustarse la velocidad se implementará por etapas. La implantación inicial se limita al postprocesamiento para mantener una velocidad alta de procesamiento de datos. Aunque la deduplicación se realiza sólo durante el postprocesamiento en la versión inicial, algunos aspectos del procesamiento de la deduplicación se realizan online y, según la velocidad, cambian entre los modos online y postprocesamiento (consulte la descripción de la generación de delimitadores más adelante en este artículo).

¿Comparación de bytes o de valores hash? Desde hace mucho tiempo, en el mundo de la deduplicación existe un debate sobre si se producirá una "colisión de hash" (dos datos distintos que producen un valor hash idéntico) y provocará la eliminación de datos únicos. VTL de NetApp no es susceptible de sufrir este problema potencial. Igual que la mayoría de los algoritmos, utiliza valores hash para identificar la replicación potencial, pero entonces realiza una comparación completa byte por byte para que los datos únicos nunca se pierdan o resulten dañados.
¿Compresión? Otra cuestión importante es si puede combinar las ventajas de la deduplicación y la compresión de datos. VTL de NetApp le ofrece todas las ventajas de la deduplicación y la compresión basada en hardware. (La implantación de la compresión de hardware en VTL de NetApp se describió en un artículo Tech OnTap anterior). Otros proveedores ofrecen deduplicación y compresión basada en software, pero sólo NetApp combina las ventajas de la deduplicación con las de la compresión acelerada por hardware (figura 1).

¿Deduplicar o no deduplicar? La última consideración es si deduplicar o no los datos entrantes. La deduplicación acarrea obligatoriamente un coste de procesamiento significativo (independientemente de la implantación) y no tiene sentido deduplicar conjuntos de datos si es probable que los beneficios sean mínimos. Por ejemplo, es posible que los backups incrementales con breves períodos de retención no produzcan un ahorro de espacio suficiente para justificar la sobrecarga que supone deduplicarlos.

NetApp le permite activar y desactivar la deduplicación en cada biblioteca virtual (una sola VTL de NetApp se puede configurar con varias bibliotecas virtuales). Con otros proveedores de VTL, la deduplicación es siempre obligatoria.

El algoritmo de deduplicación de VTL de NetApp

La biblioteca de cintas virtuales (VTL) de NetApp utiliza tamaños de bloques variables y desplazamientos de bytes variables, junto con técnicas avanzadas como filtros de omisión, para identificar los datos replicados con cualquier desplazamiento y optimizar la eficiencia a la hora de deduplicar los flujos de datos de backup. El diseño le permite aprovechar nuestra metodología exclusiva adaptable a la velocidad basada en normativas, que intenta asegurarse de que se cumplan las ventanas de backup al cambiar automáticamente entre el procesamiento online parcial de la deduplicación (generación de delimitadores) y el postprocesamiento completo, en función de la velocidad con la que se necesita procesar los datos.

NetApp ha desarrollado esta tecnología interna expresamente para nuestra VTL y, a diferencia de otras tecnologías de deduplicación que se han añadido a la base de códigos de una VTL existente, forma parte intrínseca del software principal de VTL. Varias patentes de los algoritmos que hemos creado están en trámite.
El algoritmo de deduplicación de VTL de NetApp se basa en cuatro tecnologías principales:

  • Generación de delimitadores
  • Crecimiento por comparación
  • Omisiones
  • Compresión de hardware

Generación de delimitadores: Esta tecnología se emplea para realizar el marcado inicial de los puntos de datos "interesantes" en un flujo de datos. Algunos de estos puntos de datos
"interesantes" pasan a ser "puntos delimitadores", que se utilizan como puntos de partida para identificar segmentos de datos idénticos. La generación de delimitadores utiliza una función hash rápida y eficiente y normalmente se ejecuta online (mientras se están procesando los datos). Si la ubicación de los datos replicados cambia de un backup al siguiente, la ubicación de los delimitadores exclusivos que existan en los datos se desplaza con ellos, permitiendo su rápida identificación.

Los delimitadores se almacenan en disco y en caché para posibilitar la búsqueda de gran velocidad. Nuestro algoritmo normalmente genera unos tres delimitadores por cada 64 K de datos. Los delimitadores con ID de hash idénticas indican una alta probabilidad de que haya datos replicados en los flujos de datos donde residen esos delimitadores, pero no se consideran iguales hasta que se realiza una comparación byte por byte.

Crecimiento por comparación. Cuando se encuentra un delimitador con un valor replicado, se realiza una comparación por bytes sucesivos para determinar que los datos son 100% iguales. Se realiza una comparación progresiva y regresiva desde del punto delimitador para determinar toda la longitud del segmento de datos coincidentes.

El crecimiento por comparación tiene la peculiaridad de que permite eliminar secuencias replicadas de una longitud arbitraria, no sólo bloques de longitud fija; se trata de una verdadera granularidad a nivel de bytes con longitud infinitamente variable. Cuando se encuentra un segmento de datos idéntico a los datos que ya están almacenados, se reemplaza por una referencia a los datos que ya están almacenados.


Figura 2) Vídeo que ilustra el concepto de generación de delimitadores
y de crecimiento por comparación.


Dado que el crecimiento por comparación comprueba la unicidad de cada byte, es más seguro que los algoritmos basados en hash que emplean otros proveedores de deduplicación, que pueden causar una pérdida de datos si se produce una colisión de hash.

Las omisiones se adaptan eficientemente a las pequeñas variaciones que se pueden dar entre segmentos de datos que estarían replicados si no fuera por los encabezados de fichero y los metadatos de la aplicación de backup. Las omisiones aumentan la eficiencia del crecimiento por comparación al descartar los metadatos diferentes que se hallan incorporados en el flujo de datos y dejar únicamente largas cadenas de datos de backup sin procesar que se pueden leer sin problema desde los discos. Las omisiones prácticamente eliminan los problemas de rendimiento que afectan a las soluciones de la competencia derivados del efecto que produce la fragmentación de datos en sus algoritmos de deduplicación.


Figura 3) Vídeo que ilustra el concepto de las omisiones.


Compresión basada en hardware. Todos los datos únicos se guardan en disco mediante las tarjetas de compresión basada en hardware de NearStore VTL. Estas tarjetas utilizan un eficiente algoritmo de compresión convencional que, por lo general, duplica la cantidad de datos que se pueden almacenar en disco y que se puede usar con o sin deduplicación. La compresión de hardware colabora directamente con la deduplicación postprocesamiento. Al comprimir todos los datos durante el procesamiento, sólo es necesario almacenar la mitad en disco antes de que tenga lugar la deduplicación.

Conclusión

NetApp ha depositado un gran cuidado en crear una metodología de deduplicación eficiente expresamente adecuada a los requisitos de las bibliotecas de cintas virtuales (VTL). Esta tecnología:

  • Es independiente del formato de backup, por lo que funciona con cualquier flujo de datos
  • Ofrece dos modos de funcionamiento: online y postprocesamiento
  • Evita la posibilidad de pérdidas de datos por colisiones de hash
  • Funciona junto con la compresión de hardware para optimizar el rendimiento
  • Se puede desactivar para evitar la sobrecarga de procesar conjuntos de datos cuando no sea necesario.

NetApp ha adoptado un enfoque exclusivo para conseguir la independencia de la alineación que combina delimitadores únicos creados por comparación de valores hash, identificación de segmentos de datos replicados mediante la comparación bidireccional de los delimitadores idénticos y la posibilidad de omitir los encabezados de fichero y metadatos de backup incorporados en datos que sin ellos estarían replicados para optimizar la eficiencia.

¿Qué opina sobre VTL de NetApp?

Formule sus preguntas, intercambie ideas y comparta sus opiniones en las comunidades online de NetApp.

Keith Brown

Keith Brown
Director de Tecnología
NetApp

Keith lleva más de 11 años en NetApp y actualmente trabaja en el grupo de Retención y protección de datos. Tiene responsabilidades técnicas y de marketing sobre numerosos productos y tecnologías de NetApp. En la actualidad, Keith se dedica principalmente a los productos de backup y replicación basados en Snapshot™ en Data ONTAP™, las tecnologías de deduplicación de datos de NetApp y VTL de NetApp.

En profundidad