Conceptos básicos: compresión de datos Esta es la sexta entrega de Conceptos básicos, una serie de artículos sobre los aspectos fundamentales de algunas de las tecnologías más conocidas de NetApp®. La tecnología de compresión de datos existe desde hace mucho tiempo, pero ha representado importantes retos para los sistemas de almacenamiento de gran escala, especialmente en términos de impacto en el rendimiento. Hasta hace poco, la compresión para dispositivos como unidades de cinta y VTL se realizaba casi siempre con un hardware específico, lo que contribuía a aumentar los gastos y la complejidad. Ahora, NetApp ha desarrollado una manera de proporcionar una compresión de datos de postprocesamiento y en línea transparente en software capaz de mitigar el impacto en los recursos informáticos. De este modo, podemos hacer que las ventajas de la compresión estén disponibles en la arquitectura Data ONTAP® sin coste adicional alguno, de tal forma que se pueda utilizar en sistemas de almacenamiento existentes de NetApp. Desde la versión inicial de compresión de Data ONTAP 8.0.1, los comentarios que hemos recibido sobre esta función son muy positivos. Hay licencias en sistemas de una amplia gama de sectores. El 40% de estos sistemas utilizan la compresión en almacenamiento primario, mientras que el 60% la utiliza para backup/archivado. La compresión de datos de NetApp ofrece otras ventajas importantes, como las siguientes:
En este capítulo de Conceptos básicos, se explora cómo se implementa la tecnología de compresión de datos de NetApp, su rendimiento, los casos de uso aplicables, la elección entre compresión de postprocesamiento y en línea, y las mejores prácticas. Cómo se implanta la compresión en Data ONTAP La compresión de datos de NetApp reduce la capacidad física requerida para almacenar datos en sistemas de almacenamiento al comprimir los datos en un volumen flexible (volumen FlexVol®) del almacenamiento primario, secundario y de archivado. Esta función comprime archivos convencionales, discos locales virtuales y LUN. En el resto del artículo, las referencias a archivos también se aplican a discos locales virtuales y LUN. La compresión de datos de NetApp no comprime un archivo completo como una única secuencia contigua de bytes. Esto resultaría prohibitivamente caro a la hora de proporcionar lecturas pequeñas de una parte de un archivo, ya habría que leer todo el archivo desde el disco y descomprimirlo antes de atender la solicitud de lectura. Asimismo, resultaría particularmente difícil en archivos de gran tamaño. Para evitarlo, la compresión de datos de NetApp reduce un pequeño grupo de bloques consecutivos de una sola vez. Este es un elemento clave del diseño que permite que la compresión de datos de NetApp sea más eficiente. Cuando llegue una solicitud de lectura, en lugar del archivo completo, solo tendrá que leer y descomprimir un pequeño grupo de bloques. Con este enfoque se optimizan tanto las lecturas pequeñas como las sobrescrituras y se obtiene una mayor escalabilidad en el tamaño de los archivos que se van a comprimir. El algoritmo de compresión de NetApp divide un archivo en fragmentos de datos denominados «grupos de compresión». El tamaño de los grupos de compresión es de 32 KB como máximo. Por ejemplo, si un archivo tiene un tamaño de 60 KB, se incluirá en dos grupos de compresión. El primero sería de 32 KB y el segundo, de 28 KB. Cada grupo de compresión contiene datos de un archivo únicamente; no se realiza la compresión en archivos de 8 KB o menos. Escritura de datos. Las solicitudes de escritura se gestionan en el nivel de los grupos de compresión. Una vez formado el grupo, se realiza una prueba para decidir si los datos se pueden comprimir. Si no se obtiene un ahorro del 25% como mínimo, se dejarán sin comprimir. Solo si la prueba revela que los datos son comprimibles, se comprimen los datos escritos en el disco. Este procedimiento optimiza el ahorro, a la vez que minimiza los gastos generales de recursos. Como los datos comprimidos tienen menos bloques que deben escribirse en disco, se reduce el número de operaciones de I/O de escritura necesarias para cada operación de escritura comprimida. De este modo, no solo se disminuye el espacio físico utilizado por los datos en el disco, sino que también se reduce el tiempo necesario para hacer backups. Figura 1) Los archivos se dividen en fragmentos de datos denominados «grupos de compresión», que se someten a pruebas para determinar si se pueden comprimir. En función de los resultados de la prueba, cada grupo de compresión se vacía en el disco de forma comprimida o sin comprimir. Lectura de datos. Cuando llega una solicitud de lectura de datos comprimidos, Data ONTAP lee únicamente los grupos de compresión que contienen los datos solicitados, en lugar del archivo completo. De este modo, se minimiza la cantidad de operaciones de I/O necesarias para atender la solicitud, y se reducen los gastos generales y los tiempos del servicio de lectura. Funcionamiento en línea. Si la configuración de compresión de datos de NetApp se define para que se realice en línea, los datos se comprimen en la memoria antes de pasar al disco. De este modo, se reduce considerablemente la cantidad de operaciones de I/O de escritura en un volumen; sin embargo, el rendimiento de escritura puede verse afectado y no debería utilizarse en aplicaciones a las que les afecta los cambios de rendimiento sin haber realizado antes las pruebas correspondientes. Para obtener un rendimiento óptimo, la compresión en línea comprime la mayoría de las nuevas escrituras, pero aplaza algunas operaciones de compresión que requieren un rendimiento elevado (como las sobrescrituras de grupos de compresión parciales) hasta que se ejecute la siguiente compresión de postprocesamiento. Funcionamiento de postprocesamiento. La compresión de postprocesamiento puede comprimir datos que se han escrito recientemente y datos que ya existían en el disco antes de activar la compresión. Utiliza la misma programación que la deduplicación de NetApp. Si la compresión se activa, se ejecuta primero, seguida por la deduplicación. La deduplicación no necesita descomprimir los datos para poder efectuarse; simplemente elimina los bloques comprimidos o descomprimidos duplicados de un volumen de datos. Si se activa tanto la compresión en línea como de postprocesamiento, la segunda solo intentará comprimir los bloques que aún no estén comprimidos. Entre estos se incluyen los bloques que se ignoraron durante la compresión en línea, como las sobrescrituras de grupos de compresión parciales. Rendimiento de la compresión y ahorros de espacio La compresión de datos aprovecha las características internas de Data ONTAP para ofrecer una eficiencia elevada. Aunque la compresión de datos de NetApp minimiza el impacto en el rendimiento, no lo elimina por completo. El impacto varía en función de varios factores, como el tipo de datos, los patrones de acceso a los datos, la plataforma de hardware, la cantidad de recursos libres del sistema, etc. Debería realizar pruebas para medir el impacto en un entorno de laboratorio antes de implantar la compresión en volúmenes de producción. Las pruebas de compresión de postprocesamiento en un sistema FAS6080 permitieron una compresión de hasta 140 MB/s para un único proceso con un rendimiento máximo de 210 MB/s con múltiples procesos paralelos. Con cargas de trabajo como servicios de archivos, los sistemas con una utilización de la CPU inferior al 50% han mostrado un aumento del uso de la CPU de alrededor del 20% para conjuntos de datos con una capacidad de compresión del 50%. En el caso de sistemas con una utilización de la CPU superior al 50%, el impacto puede ser incluso más significativo. En la figura 2, se muestran los ahorros de espacio que se obtienen con la compresión y la deduplicación con varias cargas de trabajo. Figura 2) Ahorros típicos en el almacenamiento que se obtienen con la compresión, la deduplicación o con ambas. Casos de uso Como ya he comentado, a la hora de elegir si activar la compresión o la deduplicación hay que buscar el punto medio entre las ventajas del ahorro de espacio y el posible impacto en el rendimiento. Es importante evaluar ambas opciones de manera conjunta para determinar en qué casos tiene más sentido recurrir a la compresión en el entorno de almacenamiento. Los backups de bases de datos (y los backups en general) son un posible punto idóneo para la compresión de datos. Las bases de datos son, con frecuencia, extremadamente voluminosas y hay numerosos usuarios que aceptarían un leve impacto en el rendimiento del almacenamiento de backup a cambio de un ahorro de capacidad de un mínimo del 65%. Por ejemplo, en una prueba que consistía en realizar el backup de cuatro volúmenes de Oracle en paralelo, con la compresión en línea activada, se obtuvo un 70% de ahorro en espacio y un aumento del 35% en la CPU, y no se produjeron cambios en los periodos de creación de backups. Probablemente, la mayoría de nosotros optaríamos por activar la compresión en dichas circunstancias, teniendo en cuenta los importantes ahorros y suponiendo que los recursos de la CPU están disponibles en el almacenamiento de destino. Al configurar el tamaño de nuevos sistemas de almacenamiento para realizar backups, es conveniente que compruebe que la CPU adecuada está disponible para la compresión. Otro posible caso de uso son los servicios de archivos. En las pruebas realizadas con una carga de trabajo de servicios de archivos en un sistema con una ocupación de alrededor del 50% y un conjunto de datos con una capacidad de compresión del 50%, medimos un descenso del rendimiento de tan solo el 5%. En un entorno de servicios de archivos con un tiempo de respuesta de 1 milisegundo para archivos, esto se traduciría en un aumento de solo 0,05 ms, lo que incrementaría el tiempo de respuesta hasta los 1,05 ms. Para obtener un ahorro de espacio del 65%, este pequeño descenso del rendimiento podría ser aceptable para usted. Este ahorro puede ampliarse aún más al replicar los datos mediante la tecnología Volume SnapMirror® de NetApp, que permite ahorrar ancho de banda de red y espacio en el almacenamiento secundario. (En este caso, el almacenamiento secundario hereda la compresión del almacenamiento primario, por lo que no es necesario efectuar un procesamiento adicional). En esta situación, usted obtendría:
Existen muchos otros casos de uso en los que tiene sentido recurrir a la compresión y disponemos de una serie de herramientas y guías que pueden ayudarle a decidir qué casos resultan más aptos para su entorno. En el caso del almacenamiento primario, considere utilizar la compresión en los siguientes casos de uso:
En el caso de almacenamiento de archivado/backup, considere utilizar la compresión en los siguientes casos de uso:
Uso de la compresión La compresión de datos de NetApp funciona en todos los sistemas FAS y V-Series de NetApp que ejecutan Data ONTAP 8.1 y versiones posteriores. La compresión de datos se habilita para los volúmenes, lo que significa que usted elige los volúmenes para los que desea habilitarla. Si sabe que un volumen contiene datos que no se pueden comprimir, no debe activar la compresión en dicho volumen. La compresión de datos funciona con la deduplicación y, por ello, es necesario activar primero la deduplicación en el volumen. Un volumen debe estar contenido en un agregado de 64 bits, función introducida ya con Data ONTAP 8.0. A partir de Data ONTAP 8.1, no hay límites en cuanto a tamaño máximo de los volúmenes, aparte de los impuestos por las plataformas FAS o V-Series que utilice. Puede activar y gestionar la compresión con herramientas de línea de comandos o con NetApp System Manager 2.0. Antes de activar la compresión, NetApp le recomienda realizar pruebas para verificar que cuenta con los recursos necesarios y conocer los posibles impactos. Entre los factores que afectan al grado de impacto se incluyen los siguientes:
Se suelen aplicar las siguientes reglas generales:
Elección entre compresión en línea o de postprocesamiento A la hora de configurar la compresión, tenemos la opción de elegir bien una compresión en línea inmediata combinada con una compresión de postprocesamiento periódica, bien una compresión de postprocesamiento solamente. La compresión en línea ofrece ahorros de espacio inmediatos, menor actividad de I/O del disco y copias Snapshot™ más pequeñas. La compresión de postprocesamiento escribe primero los bloques sin comprimir en el disco y, más tarde, los lee y los comprime. Por ello, es la opción más recomendable si no desea perjudicar el rendimiento de las nuevas escrituras o si no quiere utilizar CPU extra durante los periodos de mayor actividad. La compresión en línea es la más útil cuando no importa tanto el rendimiento y se puede permitir algún tipo de impacto en el rendimiento de las escrituras, y cuando hay CPU disponible durante los periodos de mayor actividad. En la tabla 1 se muestran algunas consideraciones de la compresión en línea y de postprocesamiento.
Tabla 1) Consideraciones sobre el uso solo de la compresión de postprocesamiento frente al uso de la compresión en línea y de postprocesamiento. Compresión de datos y otras tecnologías de NetApp La compresión de datos de NetApp funciona de forma complementaria con la deduplicación de NetApp. En esta sección, se tratará el uso de la compresión de datos junto con otras conocidas tecnologías de NetApp. Copias Snapshot. Las copias Snapshot permiten restaurar datos a un momento determinado, pues mantienen los bloques que cambian tras realizar la copia Snapshot. La compresión puede reducir la cantidad de espacio que consume una copia Snapshot, ya que los datos comprimidos ocupan menos espacio en disco. La compresión de postprocesamiento puede comprimir datos bloqueados por una copia Snapshot, pero los ahorros no estarán disponibles de forma inmediata, porque los bloques originales sin comprimir permanecen en el disco hasta que la copia Snapshot caduca o se elimina. NetApp recomienda realizar la compresión de postprocesamiento antes de crear copias Snapshot. Para conocer las mejores prácticas sobre el uso de la compresión con copias Snapshot, consulte los informes técnicos TR-3958 o TR-3966. Volume SnapMirror. Volume SnapMirror opera en el nivel de los bloques físicos; cuando está habilitada la deduplicación o la compresión en el volumen de origen, el ahorro de espacio derivado de la deduplicación y la compresión se mantiene tanto en la conexión como en el destino. De este modo, puede reducirse de forma significativa la cantidad de ancho de banda de red requerida durante la replicación y el tiempo que tarda en completarse la transferencia de SnapMirror. He aquí algunas directrices generales que deben tenerse en cuenta.
El porcentaje de reducción del ancho de banda de red y el tiempo de transferencia de SnapMirror son directamente proporcionales al porcentaje de ahorro de espacio. Por ejemplo, si pudiera ahorrar un 50% en capacidad de disco, el tiempo de transferencia de SnapMirror se reduciría un 50% y el volumen de datos que tendría que transferir sería un 50% menor. Qtree SnapMirror y SnapVault. Tanto qtree SnapMirror como SnapVault operan en el nivel de los bloques lógicos; los sistemas de almacenamiento de origen y de destino ejecutan la deduplicación y la compresión de datos de forma independiente, con lo que puede ejecutarlas en cualquiera de las dos funcionalidades o en ambas, en función de sus necesidades. De este modo, usted puede comprimir o deduplicar sus backups de qtree SnapMirror o SnapVault incluso en aquellos casos en los que los datos de origen no estén comprimidos o deduplicados. La compresión de postprocesamiento y la deduplicación se ejecutan automáticamente después de que se complete una transferencia de SnapVault, a menos que la programación se defina como manual. Clonado. La tecnología FlexClone® de NetApp crea al instante copias virtuales de archivos o volúmenes de datos (copias que no consumen espacio de almacenamiento adicional hasta que no se realizan cambios en los clones). FlexClone es compatible tanto con la deduplicación como con la compresión. Si se activa la compresión en el volumen principal de un clon, los ahorros se heredan en el clon. También puede activar la compresión en un volumen clonado, para que los nuevos datos escritos en el clon se beneficien de la compresión sin que se vea afectada la copia principal. Conclusión La tecnología de compresión de NetApp es una importante herramienta para la eficiencia del almacenamiento que se puede emplear para optimizar los ahorros de espacio en almacenamiento primario y secundario. Si desea obtener más información sobre todos los temas tratados en este capítulo y sobre muchos más, consulte el informe técnico TR-3958: NetApp Data Compression and Deduplication Deployment and Implementation Guide: Data ONTAP 8.1 Operating in 7-Mode y el informe técnico TR-3966: NetApp Data Compression and Deduplication Deployment and Implementation Guide: Data ONTAP 8.1 Operating in Cluster-Mode. ¿Qué opina sobre la compresión de datos?Formule preguntas, intercambie ideas y comparta sus opiniones en las comunidades en línea de NetApp. Tech OnTap Visite Tech OnTap en la comunidad de NetApp y suscríbase hoy mismo. | |
![]() | ![]() |
| Póngase en contacto con nosotros | Cómo comprar | Comentarios | Empleo | Suscripciones | Política de privacidad | © 2012 NetApp |