OpenZFS 2.4.0, unha implementación de ZFS para Linux e FreeBSD

Tras 11 meses de desenvolvemento, lanzouse o proxecto OpenZFS 2.4.0, que desenvolve a implementación do sistema de ficheiros ZFS para Linux e FreeBSD. O proxecto pasou a coñecerse como "ZFS en Linux" e anteriormente limitábase a desenvolver un módulo para o núcleo Linux, pero despois de fusionala con código de FreeBSD, foi recoñecida como a principal implementación de OpenZFS e renomeada.

Verificouse o funcionamento de OpenZFS con núcleos Linux 4.18 até a 6.18 e todas as ramas de FreeBSD que comezan pola 13.3. O código distribúese baixo a licenza CDDL libre. OpenZFS xa se usa en FreeBSD e está incluído nas distribucións. Debian, Ubuntu, Gentoo, NixOS e ALT LinuxOs paquetes coa nova versión estarán preparados para as distribucións principais en breve. Linuxincluíndo Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS ofrece unha implementación de compoñentes ZFS relacionados tanto co sistema de ficheiros como co xestor de volumes. Compoñentes implementados: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) e ZPL (ZFS POSIX Layer). O proxecto tamén permite que ZFS se use como backend para o sistema de ficheiros agrupados Luster. O traballo de OpenZFS baséase no código ZFS orixinal, importado do proxecto OpenSolaris e ampliado con melloras e correccións da comunidade Illumos. O proxecto estase a desenvolver coa participación de empregados do Laboratorio Nacional de Livermore baixo un contrato co Departamento de Enerxía dos Estados Unidos.

O código distribúese baixo a licenza libre CDDL, que é incompatible coa GPLv2, o que impide que OpenZFS se integre no kernel principal. Linux, xa que mesturar código baixo as licenzas GPLv2 e CDDL é inaceptable. Para evitar a incompatibilidade de licenzas, decidiuse distribuír o produto para Linux Licenciado integramente baixo a CDDL como un módulo cargable por separado, distribuído separadamente do kernel. A estabilidade da base de código OpenZFS considérase comparable á doutros sistemas de ficheiros para Linux.

Principais cambios:

  • Implementouse a capacidade de establecer cotas predeterminadas para usuarios, grupos e proxectos. Nas versións anteriores, as cotas só se podían establecer individualmente para cada ID de usuario. A nova versión agora permite establecer un valor predeterminado que se aplicará se non se estableceu ningunha cota para un usuario específico.
  • Engadiuse a capacidade de retroceder desde o modo de E/S directa (O_DIRECT, Direct I/O) ao mecanismo lixeiro de E/S sen caché para solicitudes non aliñadas cun límite de páxina de memoria, que non son compatibles con Direct I/O.
  • Proponse un novo algoritmo unificado para limitar a velocidade das operacións de escritura e a colocación de bloques, que reduce a fragmentación de vdev (dispositivos virtuais) agregando múltiples operacións de escritura e usando áreas libres contiguas máis grandes para elas en lugar de colocar os resultados de operacións de escritura individuais en áreas libres pequenas.
  • O rendemento do cifrado mellorou mediante o uso de instrucións AVX2 na implementación do algoritmo AES-GCM. Nas nosas probas, a aceleración alcanzou o 80 %.
  • Os bloques ZIL (ZFS Intent Log) agora pódense colocar non só en vdevs normais ou nun dispositivo SLOG separado, senón tamén en vdevs dedicados. Se un vdev normal está asociado a un disco duro e un vdev dedicado a un SSD, este cambio evita situacións nas que os datos se escriben no SSD e os bloques ZIL asociados se escriben no disco duro, o que provoca unha latencia innecesaria.
  • A propiedade special_small_blocks agora pódese configurar para particións (ZVOL) en lugar de só para sistemas de ficheiros, o que permite asignar bloques pequenos a un vdev dedicado separado, como un SSD.
  • Engadiuse o modo de reescritura "zfs rewrite -P", que deixa o tempo de creación lóxica sen cambios sempre que sexa posible, o que permite distinguir os bloques que simplemente se moveron ao grupo dos bloques que realmente foron modificados polo usuario.
  • Os comandos "zpool trim", "zpool scrub" e "zpool initialize" agora teñen a opción "-a" (--all), que permite executar estes comandos en todos os grupos importados á vez.
  • Engadiuse o comando "zpool scrub -S -E" para realizar unha comprobación da suma de comprobación dos datos que se atopan dentro dun intervalo de tempo especificado.
  • Engadíronse novas optimizacións ao proceso de deduplicación.

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster