¿Por qué todos están locos por ZFS?
Demos un vistazo a OpenZFS, que es un poderoso sistema de archivos. No lo confundan con ZFS (desarrollado por Oracle).
OpenZFS (Z File System) fue creado por Matthew Ahrens y Jeff Bonwick en 2001.
Fue diseñado para ser un sistema de archivos de última generación para OpenSolaris de Sun Microsystems. En 2008, ZFS fue portada a FreeBSD.
En el mismo año, se inició un proyecto para portar ZFS a Linux. Sin embargo, como ZFS está licenciado bajo la Licencia de Desarrollo y Distribución Común, que es incompatible con la Licencia Pública General de GNU, no puede ser incluido en el kernel de Linux.
Para sortear este problema, la mayoría de las distribuciones Linux ofrecen métodos para instalar ZFS.
Shortly después de que Oracle comprara Sun Microsystems, el desarrollo adicional de ZFS se volvió cerrado.
Muchos de los desarrolladores de ZFS quedaron insatisfechos con ese rumbo de los acontecimientos y dos tercios de los desarrolladores principales de ZFS, incluyendo Ahrens y Bonwick, dejaron Oracle y se unieron a otras empresas para crear el proyecto OpenZFS en septiembre de 2013.
¿Qué es ZFS? ¿Cuáles son sus características?
Las principales características de ZFS son:
- Almacenamiento agrupado
- Copy-on-write
- Instantáneas (snapshots)
- Verificación de integridad de datos y reparación automática
- RAID-Z
- Tamaño máximo del archivo de 16 exabytes
- Almacenamiento máximo de 256 billones de zettabytes
En un primer momento, estas características parecen griego. Vamos a explicar:
Almacenamiento agrupado
A diferencia de la mayoría de los sistemas de archivos, ZFS combina las capacidades de un sistema de archivos y un administrador 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 solo eso, sino que puede agregar almacenamiento a un pool, añadiendo otra unidad.
ZFS manejará el particionamiento y el formateo. Esto significa que hace una gestión de volúmenes integrada.
No necesita LVM ni usar herramientas complicadas para reducir o expandir un disco lógico.

Copy-on-write
En la mayoría de los sistemas de archivos, cuando los datos son sobrescritos, se pierden para siempre.
En ZFS, la nueva información se graba en un bloque diferente. Cuando la grabación esté completada, los metadatos del sistema de archivos se actualizarán para apuntar a la nueva información.
Esto garantiza que, si el sistema se bloquea (o corte de luz) mientras la grabación está ocurriendo, los datos antiguos serán preservados. Esto también significa que el sistema no necesita ejecutar fsck después de una falla en el sistema.
Instantáneas (snapshots)
La copia en escritura lleva a otro recurso de ZFS: instantáneas. ZFS usa instantáneas para controlar 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 los cambios realizados desde que se tomó la instantânea. No se usa espacio adicional. A medida que se graban nuevos datos en el sistema de archivos en vivo, se asignan nuevos bloques para almacenar esos datos."
Cuando un archivo es eliminado, la referencia de la instantânea también es eliminada. Por lo tanto, las instantáneas están diseñadas principalmente para rastrear cambios en archivos, pero no la adición y creación de archivos.
Las instantáneas pueden montarse como solo lectura para recuperar una versión pasada de un archivo. También es posible revertir el sistema en vivo a una instantânea anterior.
Verificación de integridad de datos y reparación automática
Siempre que nuevos datos son grabados en ZFS, se crea una suma de verificación para esos datos.
Cuando esos datos son leídos, la suma de verificación es verificada. Si la suma de verificación no coincide, ZFS sabe que se detectó un error. ZFS intentará corregir automáticamente el error.
RAID-Z
ZFS puede manejar RAID sin necesidad de ningún software o hardware adicional.
No es novedad que ZFS tiene su propia implementación de RAID: RAID-Z. RAID-Z es en realidad una variación del RAID-5.
Sin embargo, fue diseñado para superar el error del agujero de escritura de RAID-5, "en el cual los datos e información de paridad se vuelven inconsistentes después de un reinicio inesperado".
Para usar el nivel básico de RAID-Z (RAID-Z1) necesita al menos dos discos para almacenamiento y uno para paridad.
RAID-Z2 requería al menos dos unidades de almacenamiento y dos unidades para paridad. RAID-Z3 requiere al menos dos unidades de almacenamiento y tres unidades para paridad.
Cuando las unidades son añadidas a los conjuntos RAID-Z, necesitan ser añadidas en múltiplos de dos.
Potencial enorme de almacenamiento
Cuando ZFS fue creado, fue diseñado para ser la última palabra en sistemas de archivos.
En el momento en que la mayoría de los sistemas de archivos eran de 64 bits, los creadores de ZFS decidieron ir directo a la prueba de 128 bits para hacerlo más seguro.
Esto significa que ZFS "ofrece 16 mil millones de mil millones de veces la capacidad de sistemas de 32 o 64 bits".
De hecho, Jeff Bonwick (uno de los creadores) dijo que alimentar un "llenado total de un pool de almacenamiento de 128 bits requeriría, literalmente, más energía que hervir los océanos".
Cómo instalar ZFS
FreeBSD tiene soporte nativo a ZFS. Y es una de las principales razones por las cuales algunos usuarios experimentados de Linux optan por BSD.
Si quiere experimentar ZFS en Linux, Linux permite su uso, pero no como el sistema raíz (/).
Si está interesado en experimentar ZFS en Linux, el proyecto ZFS en Linux posee varios tutoriales sobre cómo hacerlo.
Aprenda mucho más sobre Linux en nuestro curso en línea. Puede hacer la matrícula aquí con trial de 7 días gratis. Si ya tiene una cuenta, puede acceder aquí.
¿Le gustó? ¡Comparta :-)
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.