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

Después de 11 meses de desarrollo, se ha publicado la versión del proyecto OpenZFS 2.4.0, que desarrolla la implementación del sistema de archivos ZFS para Linux y FreeBSD. El proyecto ha ganado notoriedad como "ZFS en Linux" y anteriormente se limitaba al desarrollo de un módulo para el núcleo de Linux, pero después de fusionarse con el código de FreeBSD fue reconocido como la implementación principal de OpenZFS y renombrado.

El funcionamiento de OpenZFS ha sido comprobado con núcleos de Linux desde la versión 4.18 hasta la 6.18 y todas las ramas de FreeBSD, comenzando desde la 13.3. El código se distribuye bajo la licencia libre CDDL. OpenZFS ya se utiliza en FreeBSD y está incluido en las distribuciones de Debian, Ubuntu, Gentoo, NixOS y ALT Linux. Pronto se prepararán paquetes con la nueva versión para las principales distribuciones de Linux, incluidas Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS proporciona una implementación de componentes ZFS, relacionados tanto con el funcionamiento del sistema de archivos como con el funcionamiento del gestor de volúmenes. Se han implementado los componentes: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) y ZPL (ZFS POSIX Layer). El proyecto también permite utilizar ZFS como backend para el sistema de archivos en clúster Lustre. Los desarrollos de OpenZFS 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 un 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 mezclar código bajo las licencias GPLv2 y CDDL no es permitido. Para evitar la incompatibilidad de licencias, se decidió distribuir el producto para Linux completamente bajo la licencia CDDL en forma de un módulo descargable por separado, entregado aparte del núcleo. La estabilidad de la base de código de OpenZFS se evalúa como comparable a otros sistemas de archivos para Linux.

Principales cambios:

  • Se ha implementado la posibilidad de establecer cuotas por defecto para usuarios, grupos y proyectos. En versiones anteriores, las cuotas solo podían ser establecidas por separado para cada identificador de usuario. En la nueva versión, se ha añadido la opción de establecer un valor por defecto que se aplicará si no se ha configurado una cuota para un usuario específico.
  • Se ha añadido la posibilidad de revertir el modo de entrada/salida directa (O_DIRECT, Direct I/O) para utilizar un mecanismo liviano de entrada/salida no en caché (Uncached I/O) para solicitudes que no están alineadas con el límite de página de memoria, que no son compatibles con Direct I/O.
  • Se propone un nuevo algoritmo unificado para limitar la velocidad de las operaciones de escritura y colocación de bloques, que reduce la fragmentación del vdev (Dispositivo Virtual) mediante la agregación de varias operaciones de escritura y el uso de áreas libres continuas más grandes en lugar de colocar los resultados de operaciones de escritura individuales en pequeñas áreas libres.
  • Se ha mejorado el rendimiento de cifrado mediante el uso de instrucciones AVX2 en la implementación del algoritmo AES-GCM. En las pruebas realizadas, la aceleración alcanza el 80%.
  • Se permite la colocación de bloques ZIL (Registro de Intención ZFS) no solo en vdev normales o en un dispositivo SLOG separado, sino también en vdev especiales. Si un vdev normal está vinculado a un disco duro y el vdev especial a un SSD, este cambio permite evitar situaciones en las que los datos se escriben en el SSD y los bloques ZIL relacionados en el disco duro, lo que genera retrasos innecesarios.
  • Se permite establecer la propiedad special_small_blocks para volúmenes (ZVOL), y no solo para sistemas de archivos, lo que permite organizar la colocación de bloques pequeños en un vdev especial separado, por ejemplo, en un SSD.
  • Se ha añadido el modo de reescritura "zfs rewrite -P", que mantiene inalterada la fecha de creación lógica siempre que sea posible, lo que permite distinguir entre bloques que se han movido simplemente al pool y bloques que realmente han sido modificados por el usuario.
  • Para los comandos "zpool trim", "zpool scrub" y "zpool initialize" se ha implementado la opción "-a" (—all), que permite ejecutar estos comandos de inmediato para todos los pools importados.
  • Se ha añadido el comando "zpool scrub -S -E" para realizar la verificación de las sumas de verificación de los datos que caen dentro de los intervalos de tiempo especificados.
  • Se han añadido nuevas optimizaciones al proceso de deduplicación.

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