La deduplicación es una tecnología que permite un ahorro drástico en cuanto a almacenamiento se refiere. Esta tecnología ha ido implantándose en las soluciones que los fabricantes de almacenamiento y backup ofrecen, de manera que a día de hoy es imprescindible plantearse su uso en una estrategia adecuada de backup.
Aunque a priori no es fácil conocer cómo se comportarán los datos a la hora de ser deduplicados, el conjunto de información que compone un backup, debido a su bajo porcentaje de variación, es un buen candidato a ser deduplicado. Por supuesto, antes de iniciar este proceso, es necesario un buen análisis inicial de los datos que se van a respaldar si no queremos encontrarnos con sorpresas desagradables. Desde nuestra experiencia en WhiteBearSolutions, queremos resaltar este aspecto porque si bien los procesos de deduplicación generan grandes ahorros de datos y, con buenas tasas, pueden mejorar el rendimiento, este proceso no es gratuito y si los datos que intentamos deduplicar no se comportan como esperamos descubriremos, con desagradables consecuencias, lo que puede llegar a costar este maravilloso proceso. La deduplicación tiene un coste que debe ser comparado con el del almacenamiento que nos ahorramos: el consumo de recursos.
Asimismo, debemos asegurarnos de que este proceso vaya a ser rentable. En muchos sistemas la deduplicación se hace a coste de CPU y/o memoria, en otros se apoya en algún hardware específico que se encarga de hacer el trabajo duro. En cualquier caso, un sistema que sea capaz de deduplicar eficientemente requerirá de una inversión de recursos que, si hacemos bien los cálculos, debe ser muy inferior al que deberíamos invertir en almacenamiento para guardar nuestro backup.
Es importante destacar que la deduplicación tiene dos variantes, que aunque siendo iguales en esencia, tienen un funcionamiento muy diferente. Veamos estos tipos de deduplicación y como se aplica en el backup.
– Inline: hace el proceso “al vuelo” tratando el dato antes de escribirlo a disco. Esto hace la escritura a disco más lenta (aunque un buen sistema se encargará de minimizar las escrituras a disco) pero hace que el uso del almacenamiento sea mínimo.
– Offline: en principio no afecta a la velocidad de escritura porque el dato se procesa una vez escrito en disco. El inconveniente fundamental es que necesitas tener tanto disco como ocupe el dato sin deduplicar, aunque después del proceso (que por cierto, suele poner a prueba los límites del servidor) ese dato se reduce a su tamaño final.
WBSAirback® apuesta desde sus inicios por una plataforma appliance OpenSource que suma las tecnologías de almacenamiento y backup en un mismo sistema, de manera que el almacenamiento está al completo servicio del backup configurado para un funcionamiento óptimo.
Para llevar a cabo esta empresa, WBSAirback® cuenta con dos aliados que forman el pilar de pila OpenSource que forma el producto: Bacula Enterprise y ZFS on Linux.
ZFS es capaz de deduplicar eficientemente gracias a un algoritmo de comparación de hash desarrollado especialmente para este sistema. Por cada bloque de información se genera un hash de 256 bit que es almacenado en una tabla llamada DDT. Cada nuevo bloque que el sistema procese generará un nuevo hash que se comparará en esta tabla. A partir de aquí el funcionamiento es sencillo: si no está en la tabla, se escribe en disco, si está es “deduplicado”. Esta tabla en WBSAirback® reside completamente en memoria, lo cual implica que en un sistema que deduplica 10x solo 1 escritura de cada 10 se realizará en el disco, resolviéndose el resto de escrituras directamente en memoria mejorando así el rendimiento general del proceso de escritura.
Además ZFS es capaz de comprimir utilizando el algoritmo LZ4 desarrollado especialmente para este sistema de ficheros, de manera que la comparación de consumo de recursos entre comprimir o no hacerlo es mínima.
Ambos procesos combinados hacen que la deduplicación en destino en WBSAirback® obtenga tasas realmente altas, estableciendo una tasa media de ahorro de 10x y tasas registradas de hasta 40x en condiciones óptimas. Además gracias al almacenamiento en memoria de los metadatos de deduplicación y un complejo y efectivo sistema de cachés, es posible conseguir que el impacto en el rendimiento sea prácticamente nulo.
También puedes acceder al taller sobre esta temática para OpenExpo Day 2015: