Configuración paso a paso de ZFS en QuTS hero de QNAP

Si necesitas un servidor NAS que disponga de un sistema de archivos que te proporcione la mejor integridad de los datos, QNAP con el sistema operativo QuTS hero es una de las mejores opciones. Este nuevo sistema operativo QuTS hero es exactamente igual que el popular QTS que tiene el fabricante en la gran mayoría de NAS, pero dispone de una característica diferencial: hace uso del sistema de archivos ZFS, uno de los más avanzados que podemos encontrar hoy en día. ¿Quieres saber cómo configurar paso a paso el ZFS en un servidor NAS QNAP con QuTS hero?

¿Qué es el sistema operativo QuTS hero de QNAP?

Los sistemas operativos de QNAP para sus servidores NAS son QTS y QuTS hero, ambos están basados en el sistema operativo Linux, pero disponen de una gran diferencia entre los dos. En QTS tendremos el sistema de archivos EXT4 para almacenar toda la información, además, podremos crear diferentes tipos de RAID, configurar aceleración de caché SSD e incluso Qtier para el almacenamiento por niveles. En QuTS hero tendremos el sistema de archivos ZFS para almacenar toda la información con la mejor integridad posible, además, podremos crear diferentes RAIDZ, también tendremos la posibilidad de configurar el caché SSD para acelerar la velocidad de lectura y escritura de los registros de ZFS. Por tanto, QuTS hero no deja de ser el mismo sistema operativo de QTS de siempre, pero ahora el almacenamiento de datos utiliza el sistema de archivos ZFS en lugar de EXT4, con todo lo que ello conlleva para proteger la integridad de los datos.

El fabricante QNAP ha ido lanzando diferentes modelos compatibles con QTS o con QTS hero, pero no ambos a la vez. Sin embargo, equipos como el TS-473A permiten la instalación de un sistema operativo u otro en el asistente de instalación del sistema operativo, de esta forma, podremos elegir entre QTS o QuTS hero. Debemos tener en cuenta que el sistema operativo QuTS hero necesita más memoria RAM porque el sistema de archivos ZFS consume más RAM para proporcionar el mejor rendimiento posible, además, si no tienes 16GB de RAM o más, no podrás activar la característica de la deduplicación, por lo que deberás tenerlo en cuenta a la hora de comprar un NAS.

En la siguiente imagen podéis ver un servidor NAS QNAP TS-473A actualizado a la última versión de QTS, el cual nos permite cambiar el SO a QuTS hero:

Actualmente hay muy pocos servidores NAS compatibles con ambos sistemas operativos, debemos tener en cuenta que la memoria RAM del servidor debe ser ECC, y disponer de al menos 8GB o 16GB de RAM para que todo funcione correctamente, por lo que los servidores NAS de gama de entrada no tendrán disponible este sistema operativo.

Una vez que ya hemos conocido qué es el sistema operativo QuTS hero y todo lo que implica, vamos a realizar la configuración inicial.

Configuración inicial de QuTS hero

Lo primero que debemos hacer para instalar QuTS hero es pinchar en el botón de QuTS hero que tenemos en el menú anterior. El asistente de configuración nos indicará si estamos seguros de cambiar al otro sistema operativo, y que todos los datos de todos los discos se eliminarán, esto es algo completamente obligatorio si vamos a cambiar de un sistema operativo a otro. En el caso de que tengas datos en QTS, tendrás que realizar una copia de seguridad externa de los mismos.

El propio asistente de configuración de QNAP se encargará de descargar el nuevo sistema operativo e instalarlo internamente, para posteriormente empezar con la configuración básica del equipo.

Una vez que lo tengamos instalado, podremos ver el nuevo menú de QuTS hero en un color gris oscuro. En la parte superior izquierda podremos ver la versión exacta del sistema operativo que ha descargado e instalado automáticamente. Ahora nos dará la opción de cambiar de SO al QTS, por si queremos volver hacia atrás, pero recuerda que nuevamente se borrarán todos los datos de los discos duros.

El asistente de configuración es el mismo de siempre en los servidores NAS de QNAP. Podremos utilizar la versión actual del sistema operativo, cargar una versión nosotros manualmente y también podremos buscar una nueva actualización. En el siguiente menú podremos ponerle un nombre al servidor NAS y también definiremos la contraseña del usuario admin. A continuación, nos pedirá configurar la hora y fecha, ya sea a través de nuestro PC, un servidor NTP o fijar la hora manualmente.

En el siguiente paso tendremos la posibilidad de configurar la red local de forma básica, elegiremos obtener la dirección IP automáticamente o usar una IP estática. Dependiendo de lo que necesites, tendrás que elegir una opción u otra. En el siguiente menú deberemos indicar qué sistemas operativos vamos a utilizar como cliente, podremos seleccionar todos para disponer de todos los servicios de intercambio de archivos como SMB, FTP y NFS entre otros.

Por último, nos indicará un pequeño resumen de todas las configuraciones realizadas en el servidor NAS y nos lanzará una advertencia indicando que el proceso que acabamos de realizar va a borrar todos los datos de todos los discos duros que tengamos introducidos, y que si queremos inicializar el servidor NAS.

Una vez que pinchemos en «Inicializar» empezará el proceso, es posible que este proceso dure unos 5 minutos aproximadamente, ya que estará aplicando todos los cambios, levantando todos los servicios y muchos procesos internos. Una vez que haya terminado este proceso, nos indicará que todo ha salido correctamente y que ya estamos listos para acceder a la administración del servidor NAS QNAP.

Una vez que introduzcamos la dirección IP privada del servidor NAS, nos aparecerá el menú de inicio de sesión. Ponemos el usuario «admin» y la contraseña que hemos definido anteriormente en el asistente de configuración.

En estos instantes nos aparecerán diferentes pantallas emergentes para realizar diferentes tareas. En RedesZone os vamos a explicar paso a paso cómo crear los conjuntos de almacenamiento y también las carpetas compartidas (anteriormente conocidas como Volumen).

Configuración del conjunto de almacenamiento con ZFS

El fabricante QNAP dispone de un asistente de configuración paso a paso para el almacenamiento. En este asistente de configuración nos enseñará la arquitectura con respecto al almacenamiento, con los diferentes grupos RAID que podemos crear y las carpetas compartidas (anteriormente volúmenes). También nos explica qué son las instantáneas basadas en bloques de este nuevo sistema de archivos ZFS, gracias a este sistema de archivos podremos realizar Snapshots (Instantáneas) de forma casi ilimitada, ideal para proteger la integridad de nuestros archivos.

Por supuesto, estas instantáneas también las podremos ver fácilmente desde File Station, tal y como sucedía en el sistema operativo QTS. Finalmente, nos indica que podremos realizar una copia de seguridad en otro servidor NAS utilizando estas instantáneas, ideal para realizar backups y restauraciones de forma fácil y rápida. Una vez que hemos finalizado este asistente que nos informa sobre el almacenamiento, podremos finalizarlo pinchando en «Finalizado» o podemos pinchar en «Nuevo conjunto de almacenamiento«, nosotros hemos utilizado esta última opción para empezar a crear el conjunto de almacenamiento ZFS.

Mientras que en QTS teníamos que crear un conjunto de almacenamiento (en RAID o simple), posteriormente un volumen y a continuación una carpeta compartida, ahora con QuTS hero la parte de «volumen» desaparece. Ahora tendremos que crear un conjunto de almacenamiento en el RAIDZ que tú quieras, y posteriormente crear una carpeta compartida dentro de este conjunto de almacenamiento, sin volumen. Por supuesto, también podremos configurar las LUN directamente en el conjunto de almacenamiento.

Es muy importante elegir correctamente qué discos vamos a utilizar para el primer conjunto de almacenamiento, la razón es porque aquí se crearán las carpetas predeterminadas del sistema operativo QuTS hero, y también se almacenará el software que instalemos de forma predeterminada. En nuestro caso, vamos a coger dos SSD de 1TB de capacidad y los vamos a configurar en modo «ZFS Mirror», no obstante, QNAP ha querido heredar los nombres de RAID para facilitar a los usuarios la transición a ZFS. Por tanto, tendríamos lo siguiente:

  • RAID 0 es ZFS Stripe
  • RAID 1 es ZFS Mirror
  • RAID 5 es RAIDZ-1
  • RAID 6 es RAIDZ-2

En el caso de utilizar SSD tendremos disponible la posibilidad de configurar el QNAP SSD Antiwear Leveling (QSAL). Esta funcionalidad permite detectar periódicamente la vida útil y la durabilidad del RAID con SSD. Cuando la vida útil del SSD esté al 50% final, QSAL distribuirá dinámicamente el espacio de sobre aprovisionamiento para garantizar que cada SSD pueda reconstruirse antes del final de su vida útil. Esto puede prevenir fallos inesperados en varios SSD simultáneamente, mejorando la integridad de los datos. Un detalle importante es que QSAL se puede activar en cualquier momento, es recomendable habilitarlo antes de que la vida útil del SSD alcance el 50% para proteger los datos y de tiempo a la reconstrucción.

Otras opciones que tendremos disponibles en este asistente de configuración son:

  • Optimizar rendimiento: después de crear este primer conjunto de almacenamiento, el sistema operativo se encargará de optimizar el rendimiento del sistema. Solamente se permite optimizar un conjunto de almacenamiento simultáneamente. Un detalle importante es que este proceso requiere al menos 100GB de espacio libre en el conjunto de almacenamiento.
  • Sobre aprovisionamiento: podremos configurar un sobre aprovisionamiento para el grupo de ZFS. Lo normal es tener un 10% o un 15% que es lo mejor para el rendimiento y capacidad de los datos, no obstante, nuestra recomendación es que uséis la herramienta de creación de perfiles de conjunto ZFS para medir el rendimiento con cada valor.
  • Habilitar espacio garantizado para instantáneas: en este caso por defecto se pone un 20%, tal y como ocurre con QTS. Este espacio está garantizado para el almacenamiento de las instantáneas de ZFS.
  • Umbral de alerta: cuando se supere este umbral en el conjunto de almacenamiento nos avisará.

Una vez que hayamos configurado todo, pinchamos en «Crear» y nos avisará que este proceso eliminará todos los datos y que el proceso de optimización podría tardar unos minutos.

Una vez configurado, podremos ver en la sección de «Almacenamiento / Instantáneas» que el nuevo conjunto de almacenamiento es para el «Sistema» y se está optimizando. Este proceso nos ha tardado unos 15 minutos aproximadamente, el resto de conjunto de almacenamientos es mucho más rápido, tardando unos 3 minutos aproximadamente.

En el caso de querer crear otro conjunto de almacenamiento mientras se optimiza uno, nos saldrá un aviso indicando que no podremos optimizarlo simultáneamente, solamente se permite la optimización de un conjunto de almacenamiento.

Después de esperar a que todo se haya creado automáticamente, ya tendremos el conjunto de almacenamiento principal creado y configurado. Automáticamente creará dos «carpetas compartidas» llamadas «Public» y «homes». La configuración por defecto de estas carpetas compartidas es:

  • Carpeta compartida Thin
  • Compresión: habilitada
  • Deduplicación: deshabilitada
  • Instantáneas: deshabilitado

A continuación, podéis ver cómo aparece en el menú principal.

La compresión en ZFS nos permite ahorrar una gran cantidad de espacio de almacenamiento, normalmente el algoritmo de compresión de ZFS es LZ4, muy popular por proporcionar un muy buen ratio de compresión y rendimiento, por tanto, no notaremos una disminución en el rendimiento de lectura y escritura demasiado acusado. Esta compresión se realiza en tiempo real mientras estamos escribiendo en el almacenamiento.

La deduplicación en línea que está basada en bloques con ZFS, nos permite realizar esta deduplicación antes de que los datos se escriban en el conjunto de almacenamiento. Esta característica nos permite optimizar el uso del almacenamiento, sin embargo, esta funcionalidad consume una gran cantidad de memoria RAM. De hecho, QNAP no permite utilizar esta funcionalidad si no tienes 16GB de memoria RAM o más.

Si hacemos clic derecho sobre una carpeta compartida, podremos acceder a estas configuraciones:

  • Actualizar Public
  • Ampliar todos los nodos
  • Contraer todos los nodos
  • Tomar instantánea
  • Réplica de instantánea
  • Administrar

Si pinchamos en «Administrar» podremos ver todos los detalles de esta carpeta compartida. Podremos cambiar el tamaño de la carpeta compartida, habilitar o deshabilitar la compresión y deduplicación (si tienes más de 16GB de RAM). También podrás editar las propiedades de la carpeta, editar permisos, ver estadísticas, establecer un umbral de aviso, cambiar el nombre de la carpeta compartida y convertir a «Thick» en lugar de «Thin».

Si pinchamos en «Administrar» en el conjunto de almacenamiento, podremos ver una visión global de todas las carpetas compartidas de dentro. En la pestaña de «Reducción de datos» podremos ver el porcentaje de reducción de datos gracias a la compresión nativa de ZFS y a la deduplicación si la tenemos activada. También podremos configurar compresión y deduplicación directamente desde aquí. En el botón de estadísticas podremos ver las estadísticas de reducción de datos que tenemos, ideal para ver si realmente estamos ahorrando espacio en los discos duros o SSD.

En la pestaña de «Conjunto de almacenamiento» podremos eliminar el conjunto de almacenamiento, expandir el conjunto y otras acciones típicas.

Por defecto las carpetas compartidas «Public» y «homes» se configuran como «Carpeta compartida Thin«, pero podremos cofnigurarla fácilmente como «Carpeta compartida Thick». ¿Qué significa Thick y Thin? A continuación, os lo explicamos en detalle:

  • Carpeta compartida Thin: con el aprovisionamiento Thin, el espacio del grupo de asigna bajo demanda, ya que los datos se escriben en la carpeta compartida. Podremos realizar un sobre aprovisionamiento, no tendremos un tamaño máximo prefijado. Esto significa que no tendremos un máximo de espacio a ocupar, y es posible que no podamos llenar una carpeta si otra carpeta Thin ha ocupado todo el espacio de almacenamiento.
  • Carpeta compartida Thick: con este tipo de aprovisionamiento el espacio se asigna al crear la carpeta compartida, lo que garantiza que el espacio estará disponible siempre. Podremos definir que la carpeta «Public» tenga 10GB y «homes» tenga 50GB, y nunca superarán estos valores.

Otras posibilidades de las carpetas compartidas, además de poder activar la compresión y deduplicación, es la posibilidad de configurar la caché SSD si lo tenemos configurado en el sistema operativo. También podremos configurar el clonado rápido, esta característica nos permite copiar datos más rápidamente dentro de carpetas compartidas individuales y LUN, usando la función de copia de ZFS, y tiene un consumo de memoria RAM adicional.

Por último, tendremos la posibilidad de configurar la E/S sincronizada de ZIL, en este caso tendremos tres opciones dependiendo de tus necesidades:

  • Estándar (predeterminado): las transacciones E/S son síncronas o asíncronas dependiendo de la aplicación y el tipo de solicitud.
  • Siempre: todas las transacciones son síncronas, esto proporciona integridad máxima y protección frente a cortes eléctricos. La parte negativa es que reduce el rendimiento. Cuando se usa esta opción se debe activar el registro de escritura de aceleración de caché (que veremos próximamente), para que el rendimiento no sea demasiado bajo.
  • Ninguna: todas las transacciones son asíncronas. Esta opción es la que ofrece el mayor rendimiento, pero podríamos tener pérdida de datos en caso de apagón eléctrico.

Una vez que hemos visto cómo crear el primer conjunto de almacenamiento para el sistema operativo con las carpetas predeterminadas, vamos a ver cómo crear un segundo conjunto de almacenamiento.

Configuración del segundo conjunto de almacenamiento

El proceso para crear un segundo conjunto de almacenamiento es muy sencillo. Nos tenemos que ir a la sección de «Almacenamiento e instantáneas» y proceder a crear un «Nuevo conjunto de almacenamiento». Nos volverá a salir el mismo menú de configuración paso a paso, ahora elegiremos los dos discos duros y los configuraremos también en modo «Mirror» o «RAID 1».

Aunque estemos usando discos duros, también podremos configurar un sobre aprovisionamiento de ZFS, por ejemplo, del 10%. Además, también deberemos optimizar este conjunto de almacenamiento, configurar el espacio garantizado para instantáneas y el umbral de alerta por ocupación. A continuación, nos saldrá un resumen de todas las configuraciones realizadas, con su correspondiente sobre aprovisionamiento y espacio garantizado para instantáneas.

Por último, nos avisará que todos los datos de los discos serán borrados, y también que la optimización del conjunto de almacenamiento podría llevar mucho tiempo.

Una vez que lo hayamos creado, tendremos al conjunto de almacenamiento optimizándose.

Una vez que ya tengamos listo este segundo conjunto de almacenamiento, vamos a crear una nueva carpeta compartida. Hasta el momento hemos tenido dos carpetas compartidas, y se crearon de forma automática por el sistema operativo para el sistema.

Creación de carpetas compartidas en ZFS

Para crear una carpeta compartida, basta con irnos a la sección de «Almacenamiento e instantáneas» y pinchar en «Crear» y en «Nueva carpeta compartida«. Nos aparecerá un pequeño asistente que nos permitirá crear una carpeta compartida fácilmente en ZFS, además, nos recuerda que podremos habilitar las funciones de compresión y deduplicación para ahorrar una gran cantidad de espacio en el almacenamiento.

En el primer menú podremos introducir la siguiente información para crear una nueva carpeta:

  • Nombre de la carpeta
  • Comentarios de la carpeta creada
  • Conjunto de almacenamiento elegido para almacenar esta carpeta
  • Asignación de espacio: aprovisionamiento Thick o Thin.
  • Asignar una cuota a la carpeta como máximo
  • Espacio garantizado para instantáneas en esta carpeta compartida
  • Cifrado de carpetas: podremos cifrar el contenido de la carpeta con una contraseña de paso.

Debemos tener en cuenta que, si ciframos una carpeta compartida, el rendimiento será algo inferior, no obstante, con los procesadores de hoy en día que disponen de aceleración de cifrado por hardware AES-NI, este rendimiento no se ve demasiado afectado.

En la pestaña de configuración de almacenamiento, podremos ver más configuraciones que podremos realizar en esta carpeta compartida:

  • Reducción de datos: compresión y deduplicación (esto último solamente está disponible con NAS de 16GB de memoria o más).

  • Rendimiento: caché SSD y clonado rápido
  • Modo E/S sincronizada de ZIL: estándar, siempre, nunca
  • Perfil de rendimiento: seleccionamos el tamaño del bloque que nosotros queramos. Dependiendo de los datos que vayamos a almacenar, es recomendable un tamaño de bloque mayor o menor. Por ejemplo, para archivos de vídeo y archivos grandes, 128K es lo idóneo. Un tamaño de bloque bastante versátil sería el de 32K.
  • Configuración de WORM (Write Once Read Many): esta funcionalidad permite que los datos almacenados en la carpeta compartida no se pueden modificar ni eliminar. Además, no puede deshabilitarse una vez que se ha creado la carpeta.

Una vez configurada en detalle esta carpeta compartida, tendremos que configurar los privilegios de acceso para los diferentes usuarios y también configurar las propiedades de dicha carpeta con las típicas opciones de siempre:

  • Permisos de invitado
  • Ocultar unidad de red
  • Bloquear archivo
  • Activar papelera de reciclaje
  • Restringir acceso a la papelera solamente a lso administradores
  • Habilitar sincronización en esta carpeta
  • Otras opciones

Finalmente, QNAP nos proporcionará un resumen de todas las configuraciones realizadas en esta carpeta compartida. Si pinchamos en «Finalizado» se terminará de crear y estará disponible en un minuto.

Tal y como podéis ver, todas las configuraciones realizadas han sido un éxito, y tendremos la carpeta compartida «Multimedia» lista para su utilización.

Una vez que hemos visto cómo configurar una carpeta compartida con ZFS, os vamos a enseñar cómo activar el caché SSD en este servidor NAS haciendo uso de las dos unidades M.2 NVMe.

Configuración del Caché SSD en el NAS a través de M.2 NVMe

En la sección de «Almacenamiento e instantáneas / Almacenamiento / Aceleración de caché» podremos configurar el caché SSD para acelerar el rendimiento en lectura y escritura del sistema, esto nos permitirá exprimir al máximo la red local con el NAS. Lo primero que debemos hacer es un pinchar en el botón de «+» para crear un conjunto de almacenamiento para caché.

QNAP nos hace una introducción al caché SSD con QuTS hero, internamente cambia por completo con lo que se hacía en el sistema operativo QTS y EXT4 como sistema de archivos. En este caso, ZFS permite crear un registro de escritura en el SSD, que no es una caché de lectura, pero mejora la velocidad cuando realicemos escrituras aleatorias. Un detalle muy importante, es que en ZFS los archivos se escriben en la caché de forma secuencial, por tanto, no es necesario el sobre aprovisionamiento de SSD.

En el asistente de configuración podremos elegir las dos unidades M.2 SSD que tenemos en el equipo, elegiremos el tipo de caché:

  • Caché de lectura
  • Caché de lectura y registro de escritura E/S

Nosotros hemos elegido la segunda opción, caché SSD tanto en lectura como en escritura. El caché de lectura tendrá una capacidad de 807GB y la caché para el registro de ZIL es de 10GB, por tanto, internamente se está configurando un RAID 0 para tener el mejor rendimiento posible. Una vez configurado, podremos habilitar la caché SSD allí donde nosotros queramos, incluyendo también en las carpetas compartidas que están en un SSD. Respecto al modo de caché, podemos seleccionar entre E/S aleatoria o todas las operaciones de E/S, nosotros hemos elegido esta segunda opción para acelerar el rendimiento global del servidor NAS, tanto para compartir archivos, aplicaciones de virtualización etc.

En el último paso nos mostrará un resumen, en este resumen podremos ver la configuración realizada anteriormente, si pinchamos en «Crear» automáticamente empezará a funcionar. QNAP nos avisará que todos los datos de la caché SSD se van a borrar, y que si queremos quitar uno de estos SSD deberemos primero deshabilitar la función de caché SSD, para esperar a que estos datos de transfieran a los discos, de lo contrario podríamos tener pérdida de datos, incluso aunque el servidor NAS esté apagado.

En el menú principal de aceleración de caché podremos ver que está activada en todas las carpetas compartidas, y que está preparado y listo para exprimir al máximo el hardware del equipo.

Si pinchamos en la zona superior derecha donde pone «Administrar» podremos ver los discos que estamos usando, y si queremos habilitar o deshabilitar el caché SSD en las diferentes carpetas compartidas.

Una vez que hemos visto cómo configurar la aceleración de caché SSD en este servidor NAS, vamos a ver el resumen de configuración de ZFS y también por comandos.

Resumen de la configuración ZFS

La configuración de los diferentes conjuntos de almacenamiento y las carpetas compartidas en este sistema operativo QuTS hero constan de:

  • Conjunto de almacenamiento principal para el sistema basado en SSD en RAID 1.
    • Carpetas compartidas con cifrado de datos activado y sin cifrado activado.
    • Todas las carpetas compartidas están con aceleración caché SSD.
    • Compresión activada.
    • Deduplicación desactivada, no tenemos 16GB de RAM en el NAS.
  • Conjunto de almacenamiento 2 con RAID 1 para los datos.
    • Todas las carpetas están con sobre aprovisionamiento Thick, compresión habilitada, deduplicación deshabilitada.
    • Aceleración de caché SSD en todas las carpetas compartidas.

A continuación, podéis ver el resumen de todas las configuraciones realizadas:

Debemos recordar que al crear una «Carpeta compartida», automáticamente lo veremos en la sección de «Panel de control / Privilegio / Carpetas compartidas«, tal y como podéis ver a continuación:

Internamente, si entramos vía SSH al servidor NAS de QNAP y ejecutamos unas órdenes, podremos ver tanto los conjuntos de almacenamiento como también los dataset que se han creado automáticamente.

También podremos ver los diferentes puntos de montaje de los dataset, e incluso podremos ver los puntos de montaje de las instantáneas que podemos utilizar con ZFS. Todo ello se ha creado de forma completamente automática en base a la configuración realizada a través de los asistentes.

Hasta aquí hemos llegado con este completo tutorial de cómo configurar el sistema de archivos ZFS en un servidor NAS con el sistema operativo QuTS hero. Sin lugar a dudas, con este sistema operativo y sistema de archivos, conseguiremos la mejor integridad de datos posible, a la vez que conseguiremos un gran rendimiento en lectura y escritura, gracias al hardware del equipo y a la aceleración con caché SSD.

¡Sé el primero en comentar!