basksadf
23
Jun

La deduplicación en el backup

Por: Martín Domínguez, Chief Consulting Officer en WhiteBearSolutions

WhiteBearSolutions genuinely open (WBSgo), en el #OpenExpoDay 2014

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.

  • Deduplicación en origen: también llamada deduplicación software porque en todos casos es esta parte del sistema la que se encarga de realizar el proceso. En un sistema de backup esta deduplicación compara los bloques de información que se desean respaldar con los que ya se han respaldado en ocasiones anteriores ahorrando el envío al sistema de destino de bloques duplicados. Esto hace que la transmisión de información entre los sistemas de origen y destino sea mínima, lo que lo hace imprescindible en arquitecturas de backup donde los sistemas que deseamos respaldar están detrás de redes lentas (ADSL’s, redes móviles, etc.). En este tipo de deduplicación debemos tener en cuenta que este proceso de comparación tiene un coste para el sistema de origen, y que si este no tiene los recursos suficientes puede llegar a saturarlo.
  • Deduplicación en destino: que se apoya totalmente en los recursos del sistema del destino, bien software o hardware. Esta deduplicación recibe el dato y se encarga de compararlo con los datos ya almacenados para eliminar bloques deduplicados. Como los nuevos datos se comparan con todos los datos almacenados, las tasas de deduplicación que se obtienen suelen ser mayores, y no solo eso, en muchos sistemas el proceso de deduplicación se puede combinar con un proceso de compresión lo que ayuda a mejorar todavía más las tasas de ahorro. Esto hace a la deduplicación en destino muy interesante en arquitecturas donde las velocidades de transmisión son buenas. Los fabricantes ofrecen dos maneras de hacer el proceso:
  • 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.

La propuesta de WBSAirback®: Bacula Enterprise + ZFS

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 esta 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.

  • Bacula Enterprise Edition: es la versión de Bacula orientada a grandes corporaciones que ofrece características avanzadas sobre la plataforma community que es con diferencia la plataforma OpenSource de backup más extendida del mundo con más de 2 millones de usuarios. Bacula Enterprise ofrece su funcionalidad de “aligned volumes” que optimiza la escritura del backup para obtener grandes tasas de deduplicación en destino y en su versión 8 ofrecerá la posibilidad de deduplicar la información también en origen.
  • ZFS on Linux: este software, tradicionalmente desarrollado por Sun Microsystems y utilizado en sus sistemas operativos durante largo tiempo ha sido adaptado para sistemas Linux en su versión ZoL. WBSAirback® integra en su kernel este filesystem que, en base a sus funcionalidades, dota a WBSAirback® de una potencia impresionante en cuanto a ahorro de espacio y rendimiento se refiere.

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.

Desde WhiteBearSolutiones genuinely open (WBSgo) esperamos que este artículo os haya resultado interesante. Se trata solo de un extracto de lo que trataremos a través de nuestra participación en el OpenExpo Day 2014. ¡No te lo pierdas e inscríbete!

  • Conferencia “Almacenamiento y backup open source de rango empresarial”. Por: Ignacio Gilart, CEO de WBSgo.  De 13h a 14h. Auditorio.
  • Taller: “Integración de Google Apps con la política de seguridad corporativa”. Por: Martín Domínguez, CCO de WBSgo. De 17h a 18h. Sala Taller B.
  • Zona Networking: Encuéntranos durante todo el día en el Área de Networking

También puedes consultar nuestra participación en el evento aquí:

http://www.whitebearsolutions.com/whitebearsolutions-en-el-openexpo-day-2014/