Redes domésticas o profesionalesTutoriales

ZFS por qué es el mejor y funciones destacadas en QuTS hero

El hardware evoluciona a marchas forzadas a la par que lo hace el crecimiento masivo de datos; los sistemas operativos de NAS deben estar a la altura en seguridad e integridad y la mejor opción será utilizar el sistema de ficheros ZFS. Este sistema diseñado para darle la máxima funcionalidad a los NAS QNAP empresariales mediante QuTS hero, siendo uno de los mejores, sino el mejor del mercado.

Hoy tratamos sus principales características técnicas y cómo se llevan a la práctica en NAS. Lo compararemos con EXT4, el sistema de ficheros usado en QTS, la versión SO para NAS domésticos o genéricos y otros NAS basados en Linux.

ZFS

Qué es un NAS, funciones y sistema operativo

Debemos comenzar por el origen de todo; debajo de un sistema operativo siempre hay una máxima y esa es el NAS. Muy utilizado en el mundo empresarial para manejo y almacenamiento de datos, quizás no tan extendido en entornos domésticos, pero que también tiene una gran utilidad.

QNAP QuTS Hero

Un NAS (Network Attached Storage) es un dispositivo de almacenamiento que está conectado a la red informática y en todo momento es capaz de dar acceso los correspondientes usuarios o clientes para disponer de sus servicios. Estos servicios estarán manejados por un sistema operativo especializado que convierte al NAS en servidor de datos, almacenados en una serie de discos duros (HDD, SSD o NVMe) normalmente configurados en conjuntos de almacenamiento llamados RAID.

Gracias a sistemas operativos como QTS o su versión QuTS hero para empresas y el equipamiento de un hardware cada vez más parecido al de un PC, los NAS de hoy en día son prácticamente ordenadores, incluso con escritorio gráfico accesible y manejo sencillo. Pero una característica fundamental para ellos es implementar un almacenamiento lo más seguro posible mediante encriptación por hardware y software, y proveer de una alta replicación de datos para sobreponerse a la pérdida o fallo de unidades. Ahí es donde entra el sistema de ficheros ZFS, que en muchos aspectos supuera a EXT4 aun siendo un sistema bastante bueno y seguro

QNAP QuTS Hero

Las funciones más destacadas de un NAS hoy en día serán:

  • Almacenar datos de forma centralizada como si fuera una nube en red con acceso mediante usuarios, permisos concretos e incluso a través VPN.
  • Proporcionar redundancia, seguridad e integridad en sus datos a nivel servidor con instantáneas, conjuntos RAID y backups.
  • Trabajo y gestión de dase de datos, TI, recursos compartidos en red, SMB, FTP.
  • Capacidad de manejar máquinas virtuales (VMware, Hyper-V, etc).
  • Implementar servidores Web, Correo, Videovigilancia, etc.
  • Transcodificación de vídeo y audio en tiempo real, servidor multimedia.

Sistema de ficheros ZFS

ZFS (Zettabyte File System) es un sistema de ficheros desarrollado por Sun Microsystems y lanzado en 2005 para su sistema Solaris, destacando por su gran capacidad con tamaños de volumen máximos de 16 EB, administración de volúmenes y espacios de almacenamiento sencilla y nueva estructura con funciones de control basadas en bloques.

ZFS

Se trata de posiblemente el más avanzado que existe al menos en el apartado de NAS y sistemas de almacenamiento seguro. Una de sus características son los Storage Pools, a diferencia de los sistemas de ficheros tradicionales que están encima de un solo dispositivo con un gestor de volúmenes, el sistema utiliza espacios de almacenamiento virtuales. Se introduce el concepto de vdevs o dispositivos virtuales, al cual se asigna cada dispositivo de almacenamiento local o remoto.

Los Pools pueden ser simples (sin redundancia como un disco duro normal), mirror (en espejo como un RAID 1), o RAID-Z (utilizando paridad en 3 o más vdevs como un RAID 5). Otro concepto importante asociado es el ZIL o ZFS Intent Log, del cual más adelante hablaremos de su utilidad. Consiste en una caché implementada a partir de los vdevs llamada registro de intenciones, uno de los pilares básicos del sistema. Para ello lo ideal es utilizar unidades SSD o mejor SSD NVMe aprovechando su gran velocidad.

Cuando tenemos un espacio de almacenamiento ZFS es muy sencillo crear un sistema de ficheros aquí denominado ligero. Será similar a crear un directorio, implementando cuotas reservadas o elementos de administración avanzados como permisos e incluso sistemas de ficheros separados para cada usuario. Se utilizan bloques de tamaño variable hasta 128K, con capacidad para repartir la carga de escritura de forma equitativa en los pools.

ZFS

Hay dos tipos de sistemas de ficheros:

  • Filesystem: el sistema por defecto que permite crear directorios y almacenar datos, pudiéndose configurar como punto de montaje sin necesitar archivo fstab.
  • Zvol: se trata de un pseudo-dispositivo de bloques que se utiliza para fichero swap o para discos virtuales, por ejemplo, virtualización de máquinas.

Copy-on-write es una de las características más destacadas de ZFS, un modelo transaccional a nivel de bloque que se utiliza para la escritura de datos que asegura la integridad. Consiste en realizar una suma de verificación o checksum de 256 bits que se comprobará cada vez que se lea el bloque para asegurar que no ha sido corrompido o borrado. Los datos nunca se sobrescriben en ZFS, sino que el nuevo dato se almacena en un bloque distinto, para no perder el dato original en caso de fallo repentino. Una desventaja de ZFS deriva de este sistema copy-on-write, ya que, al no sobrescribir datos, la fragmentación puede llegar a ser muy alta tanto en HDD como SSD, afectando negativamente al rendimiento.

A continuación, resumimos las diferencias teóricas con EXT4, el sistema general utilizado en NAS y distribuciones Linux, y Btrfs el sistema utilizado por Synology en sustitución del primero:

  ZFS Btrfs EXT4
Tamaño máximo del volumen 16 EiB 16 EiB 1 EiB (bloques 4K)
Tamaño máximo de un fichero 16 EiB 16 EiB 16 TiB (bloques 4K)
Cantidad máxima de ficheros 248 264 232
Tamaño máximo del nombre de archivo 255 bytes 255 Bytes 255 Bytes
Número máximo de instantáneas 248 264 232
Cifrado Sí, transparente Sí, transparente
Copy-on-write No
Deduplicación Sí, transparente No
Compresión Si, transparente Si, transparente Si

Las máximas instantáneas en cualquier caso vendrán determinadas por el propio sistema operativo, con QuTS hero soportando hasta 65.535 instantáneas, misma cantidad que Synology DSM 7.1, mientras que QTS soporta 1024.

Sistema ZFS: pilares sobre los que se sostiene en QuTS hero

QNAP QuTS Hero

Para realizar de forma segura todas estas funciones, los NAS nivel Enterprise de QNAP equipan QuTS hero, el sistema de mayores prestaciones de la marca, aunque con carácter opcional siempre tenemos la posibilidad de usar QTS, la versión estándar. En ambos casos el sistema viene junto al NAS sin coste adicional, salvo para aquellas aplicaciones que sí tenga una licencia independiente como PLEX.

Este sistema operativo es una evolución de QTS que mantiene su interfaz, sistema de manejo y aplicaciones, pero mejora las características de gestión de almacenamiento gracias al sistema de ficheros ZFS, una encriptación superior y capas adicionales que añaden flexibilidad y recuperación frente a fallos. Está basado en un Kernel Linux adaptado a las necesidades, siendo su versión más actual la 5.0.1.

ZFS se apoya en varios pilares principales a partir de su sistema operativo QuTS hero que son la integridad de datos, funciones de deduplicación y compresión de datos y velocidad de procesamiento y recuperación. A partir de estas bases se desarrollan todas las mejoras que implementa el sistema respecto a QTS haciéndolo el mejor de su clase.

Necesidad de potencia de hardware adicional

ZFS
Diagrama representativo de creación de instantáneas y SnapSync

Esto le confiere a los NAS una nueva dimensión en lo que a capacidad de direccionamiento de datos se refiere, pudiendo crear directorios compartidos de hasta 5 PB, crucial para tareas relacionadas con el Big Data o el almacenamiento y copia de seguridad de enormes volúmenes de datos. Además, cuenta con capacidad para almacenar más de 65.000 instantáneas en tiempo real, algo así como hacer 1 instantánea por hora, todos los días durante 7 años sin necesidad de eliminar ninguna.

El procesamiento de tal cantidad de instantáneas, y especialmente de los recursos relativos al procesamiento de datos a nivel de bloque con suma de paridad que ahora veremos, conlleva la necesidad de utilizar un hardware de muy alta potencia. Por ello los NAS con QuTS hero equipan procesadores nivel Workstation como Intel Xeon de 6 núcleos y 64 bits, así como memoria DDR4 como mínimo de 16 GB, aunque lo recomendable es 32 GB. De ahí que los costes de los equipos superen fácilmente los 2000€, aunque siguen siendo una inversión segura para las empresas, su nicho más importante.

Mejoras en la integridad de datos

ZFS

Las principales tareas de un NAS están relacionadas con el almacenamiento de datos seguro para empresas, así que un pilar fundamental para ZFS será la integridad de datos. Este sistema cuenta con un mecanismo de suma de verificación o checksum por cada dato que escribe en el disco. De esta forma, cada vez que lee un dato, el checksum verifica que la suma es correcta para acceder a él, y en caso contrario procede a regenerar el dato para preservar su integridad.

La comprobación se hace a nivel de bloque, justo lo que hay por encima del propio hardware, así que la robustez es superior. Esta característica protege los datos de la corrupción silenciosa en los conjuntos RIAD habituales, como 5, 6, 10, etc. Producida por degradación de las celdas de SSD o HDD, errores en firmware o en metadatos. Otra respuesta a esto será el conjunto RAID Z exclusivo de ZFS, similar al RAID 5 y RAID 6, pero trabajando a nivel de bloque y espejando los datos pequeños en lugar de simplemente protegerlos con paridad.

ZFS
Autorreparación avanzada de un RAID con ZFS

Con WORM (una escritura, muchas lecturas) se asegura que el dato escrito no se pueda modificar o sobreescribir hasta que el nuevo dato esté escrito en otro bloque de memoria y la suma de verificación esté realizada. Este mecanismo es clave para la integridad frente a fallos de energía o software, ya que el dato antiguo siempre prevalecerá frente al nuevo al no sobrescribirse directamente. Estos sistemas de verificación realizan un consumo adicional de recursos, por ello la necesidad de tener un potente hardware.

Otra forma de asegurar la integridad en los conjuntos RAID con ZFS es proporcionar capacidad de reconstrucción rápida de los datos en caso de sustitución de un disco duro que haya fallado, por ejemplo, una tercera unidad de un RAID 5. Gracias a esta suma de paridad a nivel de bloque, no necesita reconstruir el RAID completo, únicamente aquellos datos donde la suma de verificación no sea correcta.

Al tratarse de un sistema de ficheros basado en bloques, no es posible migrar un conjunto de almacenamiento QuTS hero sobre QTS y viceversa de forma directa, sería necesario hacerlo mediante backups o volcado de datos con QTS previamente configurado.

Deduplicación y compresión de datos

Segundo pilar de ZFS crucial para muchas de las aplicaciones que utilizarán las empresas en un NAS. Dos características que harán ahorrar una gran cantidad de espacio en los conjuntos de almacenamiento, especialmente aquellos que estén basados en All Flash (todo el almacenamiento es sólido con SSD), algo cada vez más habitual por ofrecer mucha más velocidad de lectura y escritura.

ZFS

La deduplicación de datos es un mecanismo que se realiza también a nivel de bloque, leyendo los datos almacenados en celdas de bytes, para evitar volver a escribir aquellos que se repiten. Cuando esto ocurre, se eliminarán los bloques repetidos dejando solamente uno, al cual se apuntará tantas veces como deba ser leído para los ficheros que lo utilicen. Será una inmensa optimización para conjuntos All-Flash, aumentando así la vida útil de los SSD al evitar escrituras y borrados innecesarios que degraden las celdas.

ZFS

LZ4 es el algoritmo de compresión que utiliza ZFS para mejorar el uso de almacenamiento en el disco, siempre extremadamente rápido en la compresión y descompresión. El sistema realiza una compresión en línea antes de escribir los datos en el disco, para luego almacenarlos de forma eficiencia y más veloz. Se pueden alcanzar velocidades superiores a los 700 MB/s en compresión y 4,5 GB/s en descompresión con un hardware y SSD adecuados.

ZFS

Estas dos funciones son clave por ejemplo en entornos de virtualización, donde se puede ahorrar hasta un 90% de espacio en discos. Imaginemos que tenemos 3 máquinas virtuales Windows casi iguales de 30+30+30 GB, una para cada departamento. Gracias a estas dos funciones únicamente se mantendrán los datos distintos en ellas, pudiendo ganar hasta 2/3 de espacio en el conjunto RAID sin esfuerzo.

Lo mismo ocurre por ejemplo con bandejas de correos del personal operativo, almacenaje de vídeo 4K o imágenes en productoras, instantáneas, backups de equipos de trabajo, etc. El ahorro de espacio es brutal, y si vamos a subir esas copias a la nube con SnapSync por ejemplo, ahorraremos espacio y recursos de red, mejorando los tiempos de subida y bajada.

Velocidad

El tercer pilar básico de QuTS hero será el aumento de velocidad para los trabajos con conjuntos de datos masivos, con la consiguiente necesidad de un hardware mucho más potente que el de un NAS doméstico.

ZFS
Cache ZFS y QuTS hero

A diferencia de QTS, esta versión utiliza un sistema de caché dividido en tres niveles:

  • L1 ARC: caché de lectura de la memoria principal como la que tendría QTS en la versión estándar.
  • L2 ARC: caché de lectura de segundo nivel con SSD, funcionando en combinación con L1 para optimizar los requisitos de acceso a datos en el conjunto de almacenamiento mejorando la velocidad de lectura.
  • Registro o memoria de intenciones ZIL: es una memoria de previsión pensada para grandes cargas de trabajo de escritura aleatoria síncrona de pequeños bloques, por ejemplo, las bases de datos. De esta forma se crea un espacio ZIL en un SSD NVMe por ejemplo, donde se escriben los datos previsiblemente más utilizados, para luego escribirlos en el disco, mejorando la latencia y velocidad de acceso.

Un nivel inferior a esta caché será obviamente el propio almacenamiento, y en un nivel superior estará la memoria RAM, necesitando como mínimo 16 GB DDR4 para hacer estas tareas y las de deduplicación de datos.

ZFS
Diagrama explicativo de sobre-aprovisionamiento en QuTS hero con ZFS

Otra mejora implementada en la velocidad de escritura será el sobreaprovisionamiento de agrupaciones, reservando espacio adicional para la escritura de datos en un bloque completo en lugar de hacerlo a nivel de disco individual. De esta forma se minimizan las agrupaciones fragmentadas, proporcionando una mayor eficiencia en el acceso y escritura de datos, por ejemplo, consultas SQL a BBDD, Backups, etc. Esta característica una vez más evita el exceso de escritura y borrados aumentando la vida de los SSD.

ZFS con QuTS hero adopta la aceleración por hardware AES-NI (Advanced Encryption Standard – New Instructions), una evolución de AES-256 bits que aumenta la eficacia del cifrado y descifrado de datos. Es un conjunto de instrucciones integradas en las CPU x86, que a su vez proporciona una mayor velocidad en la firma y cifrado de datos en transacciones BMS 3. Esto hace que el traspaso de ficheros compartidos entre servidor y cliente SAMBA bajo Windows sea mucho más rápido a la vez que seguro.

Poniendo en práctica algunas de las funciones de ZFS en QNAP

QNAP QuTS Hero configuración

Hemos visto qué es capaz de hacer este sistema, así que ahora vamos a ver algunos procedimientos de cómo activar las funciones en un NAS QNAP TVS-h1288X. Así que en primer lugar debemos instalar QuTS hero, procedimiento que se lleva a cabo en el primer asistente de configuración del NAS desde su estado de fábrica. Vemos que incluso un NAS Enterprise como éste permite instalar QTS opcionalmente.

A continuación, debemos crear el conjunto de almacenamiento, donde encontramos ya las primeras diferencias con QTS al ofrecer la opción de crear un LUN cifrado y unidades con cifrado automático, aunque en este caso no lo haremos al usar un conjunto Thin. Dispondremos de estas opciones extras durante el asistente, así como la característica de optimización, que al final es el sistema de compresión LZ4.

QNAP QuTS Hero conjunto de almacenamiento

Tan pronto como creemos el volumen, y luego el espacio de almacenamiento, podremos activar el sistema de sobreaprovisionamiento y deduplicación en las carpetas que vayamos creando, en nuestro caso Public y Homes.

QNAP QuTS Hero caché SSD

Además de la caché de aceleración SSD, QuTS hero permite crear el registro de escritura de E/S ZIL del que ya hemos hablado antes. Para ello podremos utilizar una o más unidades SSD, tanto SATA como NVMe como nos permite este NAS.

Diferencias y comparativa entre QTS (EXT4) y QuTS Hero (ZFS)

A continuación, vemos a modo de resumen las diferencias más importantes entre QuTS Hero y QTS, los dos sistemas utilizados en los NAS QNAP.

QuTS hero QTS
Enfoque Empresarial Doméstico, Pyme
Hardware Requiere CPU más potente y 16 GB de RAM o más Muchos menos recursos para funcionar
Sistema de caché Caché de lectura L1 Lectura/Escritura

L2 Lectura

ZIL Registro de intención

Compresión Inline Si, LZ4 (basada en bloques) No
Deduplicación Inline Si (basada en bloques) No
Manejo de permisos Rich ALCs hasta 14 tipos POSIX ALCs 3 tipos + algunos especiales
Seguridad de datos ZIL Copy-on-Write

Autorrecuperación

Estándar
Cifrado de hardware AES-NI (mejoras en eficacia y firma de datos SMB 3) AES-256 bit
Método de expansión de almacenamiento ·       Añadir grupo RAID a conjunto de almacenamiento

·       Reemplazar discos en RAID por otros de mayor capacidad

·       Conectar unidades JBOD

·       Añadir disco individual a RAID

·       Añadir grupo RAID a conjunto de almacenamiento

·       Reemplazar discos en RAID por otros de mayor capacidad

·       Conectar unidades JBOD

RAID Single, RAID 0, 1, 5, 6, 10, 50, 60 Single, RAID 0, 1, 5, 6, 10, 50, 60, Triple Espejo, Triple Paridad, RAID Z
Máxima capacidad en carpeta compartida 5 PB 250 TB
Máxima cantidad de instantáneas 1024 por NAS 65.535 por NAS
Protección ante fallo Energía: UPS

Software: ZIL Copy-on-Write

Energía: UPS

ZFS

Una de las diferencias importantes se relaciona con los métodos de expansión de almacenamiento, ya que además de no poder migrar directamente entre QTS y QuTS hero, este último no admite añadir un disco individual a un grupo RAID. Esto se debe precisamente a su gestión de datos a nivel de bloque.

Aún no hemos probado la versión 5.0.1 por estar en fase beta, pero esta añadirá algunas funciones adicionales que facilitan el trabajo a administradores en cuanto a integración con sistemas. Se implementa la posibilidad de hacer LUN cifrados, sustitución de discos en un RAID antes de que se produzca un fallo con alertas de detección temprana o compatibilidad con el protocolo de búsqueda de carpetas de Windows (WSP) cuando usemos SMB.

Conclusiones sobre el sistema de ficheros ZFS

Los puntos comentados son los pilares básicos sobre los que se sostiene ZFS junto a QNAP QuTS hero para ser el mejor sistema de ficheros NAS del mercado, aunque seguido muy de cerca por Synology DSM y su sistema Btrfs. Una solución que tendrá como público objetivo empresas de mediano y gran tamaño, ya que, en muchos aspectos, QTS y EXT4 será un sistema suficientemente completo para Pymes y por supuesto uso doméstico.

La necesidad de tener un almacenamiento seguro, al mismo tiempo que rápido es cada vez mayor, especialmente con el desarrollo de la inteligencia artificial utilizando grandes volúmenes de datos, virtualización y la producción de vídeo en 4K e incluso 8K. Esto hace que la deduplicación y compresión de datos será básica para un NAS corporativo, y si estamos utilizando soluciones de almacenamiento en la nube aún más, ya que con solo unos cuantos vídeos tendríamos ocupados miles de GB fácilmente.

Ahora os dejamos con algunos artículos interesantes sobre aplicaciones en NAS para sacarle provecho a los modelos domésticos.

José Antonio Castillo

Graduado en Ingeniería en Tecnologías Industriales. Amante de la informática, el gaming y casi cualquier deporte de motor.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba