Lanzamiento de OpenZFS 2.2, implementación de ZFS para Linux y FreeBSD

Después de más de dos años de desarrollo, se ha publicado la versión del proyecto OpenZFS 2.2, que desarrolla la implementación del sistema de archivos ZFS para Linux y FreeBSD. El proyecto ganó notoriedad como "ZFS on Linux" y anteriormente se limitaba al desarrollo de un módulo para el núcleo de Linux, pero tras trasladar el soporte a FreeBSD se reconoció como la implementación principal de OpenZFS y se renombró.

La funcionalidad de OpenZFS ha sido comprobada con núcleos de Linux desde la versión 3.10 hasta la 6.5 y con todas las ramas de FreeBSD, comenzando desde 12.2-RELEASE. El código se distribuye bajo la licencia libre CDDL. OpenZFS ya se utiliza en FreeBSD y forma parte de las distribuciones de Debian, Ubuntu, Gentoo, Sabayon Linux y ALT Linux. Los paquetes de la nueva versión estarán disponibles en breve para las principales distribuciones de Linux, incluyendo Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS proporciona una implementación de los componentes de ZFS, relacionados tanto con el funcionamiento del sistema de archivos como con el funcionamiento del gestor de volúmenes. En particular, se han implementado componentes como: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) y ZPL (ZFS POSIX Layer). Además, el proyecto garantiza la posibilidad de usar ZFS como backend para el sistema de archivos en clúster Lustre. Los avances del proyecto se basan en el código original de ZFS, importado del proyecto OpenSolaris y ampliado con mejoras y correcciones de la comunidad Illumos. El proyecto se desarrolla con la participación de empleados del Laboratorio Nacional de Livermore bajo contrato con el Departamento de Energía de EE. UU.

El código se distribuye bajo la licencia libre CDDL, que no es compatible con GPLv2, lo que impide la integración de OpenZFS en la rama principal del núcleo de Linux, ya que la mezcla de código bajo licencias GPLv2 y CDDL es inadmisible. Para eludir esta incompatibilidad de licencias, se decidió distribuir el producto completamente bajo la licencia CDDL como un módulo descargable por separado, que se proporciona independientemente del núcleo. La estabilidad de la base de código de OpenZFS se considera comparable a otros sistemas de archivos para Linux.

Principales cambios:

  • Se ha añadido un mecanismo de clonación de bloques que permite crear una copia de un archivo o parte de él sin duplicar datos, utilizando en la segunda copia enlaces a bloques de datos ya existentes del archivo original sin su copia real. Si se realizan cambios en el archivo original o en su copia, se copia los bloques y se realizan los cambios en las copias creadas (modo copy-on-write a nivel de archivos). Sobre la base del mecanismo de clonación se ha implementado la operación reflink, que puede ser utilizada para crear clones automáticamente en diversas utilidades de copia, por ejemplo, en las nuevas versiones de /bin/cp en Linux.
  • Se ha añadido soporte para tecnologías utilizadas para la aislamiento de contenedores en Linux, tales como la llamada al sistema renameat, el sistema de archivos overlayfs, el mapeo de identificadores de usuario al montar y la delegación de espacios de nombres para contenedores.
  • Se ha implementado un registro de errores detectados al realizar operaciones de verificación de sumas de comprobación (scrub). Al ejecutar el comando "zpool status" se mostrarán detalles sobre todos los sistemas de archivos, instantáneas y clones que están afectados por un bloque dañado. Para intentar restaurar rápidamente bloques dañados conocidos, se puede usar el comando "zpool scrub -e".
  • Se ha añadido la posibilidad de usar la función hash criptográfica BLAKE3 para sumas de comprobación, que se destaca por su altísimo rendimiento en el cálculo de hash (tres veces más rápido que Edon-R y significativamente más rápido que sha256 y sha512) mientras asegura fiabilidad a nivel SHA-3.
  • Se ha implementado la operación "zfs receive -c", que se puede utilizar para restaurar datos dañados (no metadatos) en sistemas de archivos, instantáneas y clones, en casos donde se cuenta con una copia de seguridad replicada, previamente guardada con el comando "zfs send".
  • Se ha añadido soporte para la lectura y escritura de propiedades de forma programática para discos virtuales vdev individuales.
  • Se ha añadido la posibilidad de vincular propiedades personalizadas arbitrarias a vdev y zpool, de manera similar a las propiedades personalizadas para zfs dataset.
  • Se ha mejorado la implementación de la caché adaptativa ARC (Adaptive Replacement Cache), que aumenta el rendimiento de las operaciones de lectura. ARC ahora se adapta mejor a altas cargas y minimiza la necesidad de optimización manual de la configuración.
  • Se ha añadido soporte para mecanismos de aceleración de hardware en el cálculo de sumas de comprobación SHA2.
  • Se ha reescrito y optimizado la implementación de los checksums Edon-R.
  • Al utilizar el algoritmo de compresión zstd, se ha acelerado la identificación de situaciones en las que la compresión es innecesaria (los datos no son susceptibles a la compresión).
  • Se han realizado mejoras en el mecanismo de precarga (Prefetch), que aceleran el rendimiento durante operaciones intensivas de entrada/salida.
  • Se han aplicado una serie de optimizaciones generales que mejoran el rendimiento.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster