¿Qué es ZFS? ¿Qué ventajas tiene sobre otros sistemas de archivos?

Rubén Castro, 13 noviembre 2023

Comienzan los Días Naranjas en PcComponentes. Hay un montón de artículos con descuentos impresionantes!!!

Ver mejores ofertas

¿Qué es ZFS?

ZFS (Zettabyte File System) es un sistema de archivos escalable y de alto rendimiento desarrollado por Sun Microsystems. Además, ofrece características como integridad de datos, instantáneas, agrupación y separación dinámica de datos, etc. Se utiliza habitualmente en entornos empresariales y es popular en sistemas que requieren una sólida protección de datos y una gestión eficaz del almacenamiento.

Historia de ZFS

Z File System (ZFS) fue creado por Matthew Ahrens y Jeff Bonwick en 2001. ZFS fue diseñado para ser un sistema de archivos de nueva generación para OpenSolaris de Sun Microsystems. En 2008, ZFS fue portado a FreeBSD. Ese mismo año se inició un proyecto para portar ZFS a Linux.

Sin embargo, como ZFS está licenciado bajo la Common Development and Distribution License, que es incompatible con la GNU General Public License, no puede incluirse en el núcleo de Linux. Para sortear este problema, la mayoría de las distribuciones Linux ofrecen métodos para instalar ZFS.

Poco después de que Oracle comprara Sun Microsystems, OpenSolaris pasó a ser de código cerrado. Todo el desarrollo posterior de ZFS también se convirtió en código cerrado. Muchos de los desarrolladores de ZFS no estaban contentos con este giro de los acontecimientos. Dos tercios de los principales desarrolladores de ZFS, incluidos Ahrens y Bonwick, abandonaron Oracle debido a esta decisión. Se unieron a otras empresas y crearon el proyecto OpenZFS en septiembre de 2013. El proyecto ha encabezado el desarrollo de código abierto de ZFS.

Respecto a la licencia, dado que el proyecto OpenZFS está separado de Oracle, algunos probablemente se preguntan por qué no cambian la licencia a algo que sea compatible con la GPL para que pueda incluirse en el núcleo de Linux. Sin embargo, cambiar la licencia implicaría contactar a cualquiera que haya contribuido con código a la implementación actual de OpenZFS (incluyendo el código ZFS inicial y común hasta OpenSolaris) y obtener su permiso para cambiar la licencia. Dado que este trabajo es casi imposible (porque algunos contribuyentes pueden estar muertos o ser difíciles de encontrar), han decidido mantener la licencia que tienen.

Ventajas

Como tal, tiene muchas características interesantes:

  • Almacenamiento agrupado: a diferencia de la mayoría de los sistemas de archivos, ZFS combina las características de un sistema de archivos y un gestor de volúmenes. Esto significa que, a diferencia de otros sistemas de archivos, ZFS puede crear un sistema de archivos que abarque una serie de unidades o un pool. No sólo eso, sino que puedes añadir almacenamiento a un pool añadiendo otra unidad. ZFS se encargará de las particiones y el formateo.
  • Copia en escritura: en la mayoría de los sistemas de archivos, cuando los datos se sobrescriben, se pierden para siempre. En ZFS, la nueva información se escribe en un bloque diferente. Una vez completada la escritura, los metadatos del sistema de archivos se actualizan para apuntar a la nueva información. Esto garantiza que si el sistema se bloquea (o sucede cualquier otra cosa) mientras se realiza la escritura, se conservarán los datos antiguos. También significa que el sistema no necesita ejecutar fsck después de un fallo del sistema.
  • Instantáneas o snapshots: ZFS utiliza instantáneas para realizar un seguimiento de los cambios en el sistema de archivos. “La instantánea contiene la versión original del sistema de archivos, y el sistema de archivos en vivo contiene cualquier cambio realizado desde que se tomó la instantánea. No se utiliza espacio adicional. A medida que se escriben nuevos datos en el sistema de ficheros activo, se asignan nuevos bloques para almacenar estos datos”. Si se elimina un archivo, también se elimina la referencia de la instantánea. Por lo tanto, las instantáneas están diseñadas principalmente para realizar un seguimiento de los cambios en los archivos, pero no de la adición y creación de archivos. Las instantáneas pueden montarse como sólo lectura para recuperar una versión pasada de un archivo. También es posible revertir el sistema activo a una instantánea anterior. Todos los cambios realizados desde la instantánea se perderán.
  • Verificación de la integridad de los datos y reparación automática: cada vez que se escriben nuevos datos en ZFS, se crea una suma de comprobación para esos datos. Cuando se leen esos datos, se verifica la suma de comprobación. Si la suma de comprobación no coincide, ZFS sabe que se ha detectado un error. ZFS intentará corregir el error automáticamente.
  • RAID-Z: ZFS puede gestionar RAID sin necesidad de software o hardware adicional. Como era de esperar, ZFS tiene su propia implementación de RAID: RAID-Z. RAID-Z es en realidad una variación de RAID-5. Sin embargo, está diseñado para superar el error de agujero de escritura de RAID-5, “en el que los datos y la información de paridad se vuelven inconsistentes tras un reinicio inesperado”. Para utilizar el nivel básico de RAID-Z (RAID-Z1) se necesitan al menos dos discos para almacenamiento y uno para paridad. RAID-Z2 requiere al menos dos discos para almacenamiento y dos para paridad. RAID-Z3 requiere al menos dos unidades de almacenamiento y tres unidades para la paridad. Cuando se añaden unidades a los pools RAID-Z, tienen que añadirse en múltiplos de dos.
  • Tamaño máximo de archivo de 16 Exabytes: en una época en la que la mayoría de los sistemas de archivos eran de 64 bits, los creadores de ZFS decidieron saltar directamente a los 128 bits para garantizar su futuro. Esto significa que ZFS un almacenamiento máximo de 256 Cuatrillones de Zettabytes unos 16 billones de billones de veces la capacidad de los sistemas de 32 o 64 bits.

¿Cómo instalar ZFS?

Si quieres usar ZFS desde el principio, tendrás que instalar FreeBSD o un sistema operativo que use el kernel illumos (un fork o bifurcación del kernel OpenSolaris). De hecho, el soporte para ZFS es una de las principales razones por las que algunos usuarios experimentados de Linux optan por BSD.

Aun así, algunas distribuciones como Ubuntu ya permiten instalarlo bastante facilidad.

Rubén Castro

Redactor

Apasionado de explorar y diseccionar lo último en tecnología. Tengo mucha experiencia en el mundo de los ordenadores y el gaming, aunque también me gustan todos los tipos de gadgets.

Consentimiento