La semana pasada, uno de los desarrolladores de FreeBSD, Matt Macy, presentó una propuesta para usar la implementación de ZFS del proyecto ZFSonLinux. Por lo tanto, todos los cambios necesarios para FreeBSD se integrarán inmediatamente en la base de código ZFSonLinux. Esta propuesta no terminó, ya se ha creado una bifurcación en la que se realizan las mejoras requeridas, y se ha obtenido la aprobación de los desarrolladores principales de ZFSonLinux para incluir mejoras para FreeBSD en una sola base de código.

¿Estas son buenas noticias? Por supuesto que si! La conclusión es la concentración de todos los desarrolladores involucrados en el proyecto OpenZFS en un solo lugar, en una base de código.
Hasta ahora, OpenZFS ha ofrecido el repositorio del proyecto Illumos como un punto de referencia, a través del cual se suponía que tenía lugar el intercambio de código entre todos los participantes de la colaboración (ZFSonLinux, FreeBSD, Illumos, ZFSonOSX). Vale la pena señalar que la compatibilidad entre las implementaciones se mantuvo en el nivel adecuado. Pero, desafortunadamente, portar cambios bajo la condición de que el código no sea 100% idéntico es una operación que consume mucho tiempo.
La principal motivación es la transición completa de facto de los desarrolladores clave al proyecto ZFSonLinux. Anteriormente, Delphix era la organización principal que apoyaba la base de código Illumos. Sin embargo, a principios de este año decidieron migrar a Linux .
La vida principal tiene lugar (por extraño que parezca) en el proyecto ZFSonLinux. Durante varios años, han aparecido muchas funciones nuevas, las principales:
- Cifrado incorporado (¡con la capacidad de verificar la integridad sin una clave!)
- "Scrub" secuencial: ahora la verificación de integridad de datos se lleva a cabo de manera óptima
- Clase de asignación de metadatos: se puede asignar a medios separados (SSD / NVME):
- Metadatos
- Datos de deduplicación
- Bloques más pequeños que el tamaño especificado (por ejemplo, archivos de hasta 4KB de tamaño)
- Grandes nodos: optimizaciones para sistemas que generan una gran cantidad de metadatos (diseñados específicamente para Lustre)
- Mecanismo de almacenamiento en caché ARC rediseñado para minimizar la fragmentación (se utiliza el mecanismo de dispersión / recolección)
- Vectorización de código RAIDZ, vectorización de sumas de verificación
Vale la pena señalar que, junto con la nueva funcionalidad, los desarrolladores de FreeBSD notaron la inclusión de muchas ediciones de estabilización y punto muerto en ZFSonLinux, que tampoco se transfirieron a otros proyectos.
Esperemos que este paso nos permita mejorar aún más el producto, así como concentrar todos los recursos en una sola base de código.
¡Hurra, camaradas!
PD: ¿Por qué podría estar interesado en ZFS?