OpenZFS 2.3.4 llega con compatibilidad ampliada y zfs rewrite al detalle
OpenZFS 2.3.4 ha llegado dos meses después de 2.3.3 como una actualización de mantenimiento que, pese a su carácter conservador, trae cambios útiles para administradores exigentes: mayor compatibilidad con kernels recientes, un nuevo subcomando para reescritura de datos y varias correcciones. Además, en paralelo, se ha anunciado OpenZFS 2.4.0 RC1 con un buen puñado de mejoras que sirven de anticipo de hacia dónde evoluciona el proyecto.
En este artículo reunimos y explicamos de forma práctica todas las novedades citadas en las fuentes disponibles: qué cambia en la versión 2.3.4, cuáles son sus plataformas soportadas, en qué consiste exactamente el nuevo zfs rewrite, y cómo encaja todo dentro de la serie 2.3 (incluyendo lo que introdujo 2.3.0).
Qué trae OpenZFS 2.3.4
La nueva versión estable puntual amplía la compatibilidad de kernel Linux hasta 6.16, cuando la 2.3.3 se quedaba en 6.15. Mantiene soporte hacia atrás hasta Linux 4.18 y cubre FreeBSD desde 13.3, incluyendo la próxima 15.0. Este ensanchamiento de compatibilidad aporta tranquilidad a quienes actualizan sus sistemas base sin querer renunciar a funciones avanzadas de ZFS.
La estrella de 2.3.4 es la incorporación del subcomando zfs rewrite. Junto con él, llegan arreglos para FreeBSD, mejoras de empaquetado y un conjunto de correcciones menores que pulen el comportamiento general. Es una entrega pensada para robustez y mantenimiento, no para romper la mesa con cambios disruptivos.
zfs rewrite: reubicar datos sin tocarlos (y más rápido)
Durante años muchos usuarios han pedido poder re-equilibrar un pool tras añadir vdevs, desfragmentar archivos escritos de forma aleatoria o aplicar nuevas propiedades a datos ya existentes. Hasta ahora, las alternativas pasaban por copiar/renombrar o por enviar/recibir y renombrar datasets, soluciones con inconvenientes obvios (coste de I/O, tiempos de ventana, impacto en cachés y metadatos).
El nuevo subcomando permite reescribir el contenido de ficheros “tal cual” pero ubicándolos en otra zona y con distintas propiedades: puede cambiar el emplazamiento, el algoritmo de compresión, el checksum, si se aplica deduplicación, el número de copias y otros parámetros, manteniendo los datos intactos desde el punto de vista lógico.
La gracia está en que es más rápido que leer y volver a escribir, ya que evita la copia de datos a espacio de usuario. En datasets con sync=always
resulta además más veloz porque, al no haber modificación de datos, no fuerza escrituras en el ZIL. El proceso se protege con range locks normales, por lo que se puede ejecutar bajo cualquier carga, sin bloquear el sistema más de lo necesario. Y, muy importante, no toca el mtime ni otras propiedades del archivo.
Un flujo típico podría ser tan sencillo como ejecutar zfs rewrite sobre uno o varios ficheros objetivo para recolocarlos con nuevas propiedades internas. En esta 2.3.4 llega la función base; más adelante veremos opciones adicionales que se estrenan como parte de 2.4 RC1.
Compatibilidad y plataformas
OpenZFS 2.3.4 valida oficialmente Linux 4.18 a 6.16 y FreeBSD 13.3 en adelante, incluida la futura 15.0. Esta horquilla amplia facilita tanto despliegues en servidores de larga duración como entornos que van a la última con kernels recientes.
En el ciclo previo, el equipo lanzó un RC de la serie 2.3 con soporte para Linux 6.12 LTS, una versión importante por su uso en distribuciones como CentOS Stream 10 y otras. Ese trabajo se ha consolidado, y en 2.3.4 se refleja la continuidad de la compatibilidad extendida con kernels modernos, manteniendo a la vez la estabilidad.
Correcciones y mantenimiento
Además del nuevo subcomando, esta versión entrega ajustes en FreeBSD, cambios de empaquetado y varias soluciones de bugs de menor entidad. No es un changelog kilométrico, pero sí una colección de retoques que suman estabilidad para adopciones en producción.
Cómo descargar, probar o actualizar a OpenZFS 2.3.4
Si quieres ir al grano, las descargas de OpenZFS 2.3.4 están disponibles en GitHub junto a las notas de este lanzamiento, y muchas distribuciones proporcionarán los paquetes en sus repositorios estables. Quienes prefieran, pueden compilar desde fuentes y validar en entornos de staging antes de desplegar en producción.
Para quienes deseen testear el futuro inmediato, el equipo anima a probar OpenZFS 2.4.0 RC1 y remitir feedback. El propio proyecto facilita un comando para listar los cambios del RC frente a la rama de referencia: git cherry -v zfs-2.3-release master | sed '/^-/d; s/+ //g'
. Es una forma ágil de ver qué parches se han integrado.