Articulo de referencia

OpenZFS

{{GitHub |openzfs/zfs/releases |Releases · openzfs/zfs}} "},"latest preview date":{"wt":"{{Start date and age|2025|12|11}} "},"operating system":{"wt":"[[OpenSolaris]], [[illumo...

OpenZFS es una implementación de código abierto del sistema de archivos y gestor de volúmenes ZFS , desarrollado inicialmente por Sun Microsystems para el sistema operativo Solaris y mantenido actualmente por el Proyecto OpenZFS. Al igual que el ZFS original, esta implementación admite funciones como compresión de datos , deduplicación de datos , clones de copia en escritura , instantáneas , RAID-Z y dispositivos virtuales que pueden crear sistemas de archivos que abarcan varios discos.

Una de las principales capacidades de OpenZFS es la autorreparación. El sistema de archivos puede detectar y corregir errores durante su uso, sin necesidad de un verificador de sistema de archivos dedicado. Esta característica lo hace idóneo para aplicaciones críticas que requieren alta disponibilidad.

OpenZFS se utiliza principalmente en entornos empresariales y centros de datos , así como en dispositivos de consumo como los sistemas de almacenamiento en red (NAS), donde la fiabilidad y la seguridad de los datos son esenciales. Aunque inicialmente se diseñó para Solaris, su desarrollo se ha centrado posteriormente en Linux , si bien existen versiones para diversas distribuciones BSD y macOS . A diferencia de Oracle ZFS , OpenZFS se rige por la Licencia Común de Desarrollo y Distribución (CDDL), lo que permite tanto el uso de código abierto como el comercial del sistema de archivos.

Entre los miembros fundadores de OpenZFS se encuentra Matt Ahrens, uno de los principales arquitectos de ZFS. [ 3 ] En 2020, los códigos fuente de OpenZFS y ZFS en Linux, un módulo del kernel que permite usar ZFS en Linux, se fusionaron y se lanzaron como OpenZFS 2.0, lo que permitió que otros sistemas operativos distintos de Linux recibieran las diversas mejoras que el controlador de Linux había incorporado con el tiempo. [ 4 ] [ 5 ]

Historia

El sistema de archivos ZFS fue desarrollado originalmente por Sun Microsystems para el sistema operativo Solaris . El código fuente de ZFS se publicó en 2005 bajo la Licencia Común de Desarrollo y Distribución como parte del sistema operativo OpenSolaris , y posteriormente se adaptó a otros sistemas operativos y entornos. [ 6 ] [ 7 ]

A continuación se muestra una lista de eventos clave en el desarrollo de ZFS y sus diversas implementaciones: [ 6 ] [ 8 ]

  • 2001: El desarrollo de código cerrado de ZFS comenzó con dos ingenieros en Sun.
  • 2005: El código fuente de ZFS se publicó como parte del proyecto OpenSolaris.
  • 2006: Se inició el desarrollo de una adaptación de ZFS a FUSE para Linux.
  • 2007: Apple inició un proyecto para adaptar ZFS a Mac OS X.
  • 2008: Se lanzó una versión para FreeBSD como parte de FreeBSD 7.0.
  • 2008: Se inició el desarrollo de una versión nativa de ZFS para Linux, conocida como ZFS en Linux.
  • 2009: El proyecto ZFS de Apple se cerró y el proyecto MacZFS se hizo cargo del desarrollo del controlador. (Desde entonces también se ha descontinuado; estuvo vigente hasta Mac OS X 10.9 ).
  • 2010: OpenSolaris se interrumpió tras la adquisición de Sun Microsystems por parte de Oracle , lo que provocó que el desarrollo posterior de ZFS en Solaris dejara de ser de código abierto.
  • 2010: Tras la interrupción, se formó un proyecto llamado illumos que bifurcó OpenSolaris para continuar el desarrollo de código abierto, [ 9 ] [ 10 ] incluyendo ZFS. Las adaptaciones de ZFS a otras plataformas continuaron incorporando cambios ascendentes de illumos .
  • 2012: Se introdujeron indicadores de características para reemplazar los números de versión en disco heredados, lo que permitió un desarrollo más sencillo del formato en disco ZFS para admitir nuevas características.
  • 2013: Coexistiendo con la versión estable de MacZFS, su generación prototipo (conocida como OpenZFS en OS X u O3X) utiliza ZFS en Linux como nuevo código base ascendente. [ 11 ] [ 12 ]
  • 2013: La primera versión estable de ZFS en Linux. [ 13 ]
  • 2013: Anuncio oficial del Proyecto OpenZFS como organización para el mantenimiento de OpenZFS. [ 14 ] [ 15 ] Regularmente se incorporan nuevas características y correcciones a OpenZFS desde illumos y se distribuyen a todos los puertos para otras plataformas, y viceversa. [ 6 ]
  • 2016: Ubuntu 16.04 incluye de forma predeterminada la variante de sistema de archivos de código abierto ZFS.
  • 2020: ZFS en Linux se fusionó con OpenZFS y se agregó soporte para FreeBSD, unificando así el código base para ambas plataformas. [ 16 ]

Puertos

Como la FSF (Free Software Foundation) afirmó en 2005 que existía una incompatibilidad legal entre la CDDL y la GPL , la implementación del sistema de archivos ZFS de Sun no podía utilizarse como base para el desarrollo de un módulo en el kernel de Linux , no podía integrarse en el kernel principal de Linux y las distribuciones de Linux generalmente no lo incluían como un módulo de kernel precompilado. [ 17 ] [ 18 ] [ 19 ] Como solución alternativa, se utilizó FUSE , un marco que permite que los sistemas de archivos se ejecuten en el espacio de usuario , en Linux como una capa de separación para la cual no se aplicaban los problemas de licencia, aunque con una serie de problemas propios que incluyen una penalización de rendimiento. [ 7 ] [ 20 ] Sin embargo, la versión de abril de 2016 de Ubuntu 16.04 LTS incluye ZFS como un módulo de kernel. [ 21 ] [ 22 ] 

Apple y OS X

En la versión de lanzamiento de Mac OS X 10.5 , ZFS estaba disponible en modo de solo lectura desde la línea de comandos, lo que carecía de la posibilidad de crear z-pools o escribir en ellos. [ 23 ] Antes del lanzamiento de 10.5, Apple lanzó "ZFS Beta Seed v1.1", que permitía el acceso de lectura y escritura y la creación de z-pools; [ 24 ] sin embargo, se ha informado que el instalador para "ZFS Beta Seed v1.1" solo funciona en la versión 10.5.0 y no se ha actualizado para la versión 10.5.1 y posteriores. [ 25 ] En agosto de 2007, Apple abrió un proyecto ZFS en su sitio web Mac OS Forge. En ese sitio, Apple proporcionó el código fuente y los binarios de su puerto de ZFS que incluye acceso de lectura y escritura, [ 26 ] pero sin un instalador. [ 27 ] En octubre de 2009, Apple descontinuó el desarrollo del proyecto ZFS en Mac OS Forge sin ninguna explicación. Apple eliminó todo excepto la parte del código fuente con licencia CDDL para su compilación final del proyecto ZFS, con nombre en clave "10a286". La compatibilidad completa con ZFS se anunció originalmente como una característica de Snow Leopard Server antes de su lanzamiento, [ 28 ] pero para cuando se lanzó el sistema operativo, todas las referencias a esta característica se habían eliminado de su página de características. [ 29 ]

El código fuente "10a286" de Apple, y las versiones del código fuente y los binarios publicados anteriormente, se han conservado y el proyecto MacZFS ha adoptado un nuevo desarrollo [ 30 ] [ 31 ] [ 32 ] para continuar el desarrollo fuera de Apple. A partir de julio de 2012, Mac ZFS implementa la versión 8 de z-pool y la versión 2 de ZFS, publicada con el lanzamiento de Solaris en octubre de 2008. Se puede encontrar información histórica adicional y comentarios en el sitio web y las preguntas frecuentes de Mac ZFS . [ 33 ] Sin embargo, el proyecto cesó su desarrollo a mediados de 2013 con un mensaje que pedía a los usuarios que cambiaran a Open ZFS en OSX (abreviado como O3X ). [ 34 ]

Implementaciones

OpenSolaris

  • OpenSolaris 2008.05, 2008.11 y 2009.06 utilizan ZFS como sistema de archivos predeterminado.

OpenIndiana

  • OpenIndiana utiliza OpenZFS con indicadores de características tal como se implementa en Illumos . Se utilizó la versión 28 de ZFS hasta la versión 151a3. [ 35 ]
  • Al actualizar de OpenSolaris snv_134 a OpenIndiana y Solaris 11 Express, también se tiene la posibilidad de actualizar e iniciar Solaris 11 Express por separado en el mismo grupo ZFS. [ 36 ]

macOS

  • Open ZFS en OSX (abreviado como O3X ) es una implementación de ZFS para macOS . [ 37 ] O3X se encuentra en desarrollo activo, con una estrecha relación con ZFS en Linux y la implementación de ZFS de illumos, manteniendo la compatibilidad de indicadores de características con ZFS en Linux. O3X implementa la versión 5000 de z-pool e incluye la capa de portabilidad de Solaris (SPL) escrita originalmente para Mac ZFS, que se ha mejorado aún más para incluir una capa de administración de memoria basada en los asignadores kmem y vmem de illumos. O3X es una herramienta completa, compatible con compresión LZ4, deduplicación, ARC, L2ARC y SLOG.
  • MacZFS es un software libre que proporciona soporte para ZFS en macOS. La rama estable heredada ofrece hasta la versión 8 del grupo de almacenamiento ZFS y la versión 2 del sistema de archivos ZFS. La rama de desarrollo, basada en ZFS en Linux y OpenZFS, proporciona funcionalidades ZFS actualizadas, como hasta la versión 5000 del grupo de almacenamiento ZFS y banderas de características. Esta implementación ya no cuenta con soporte, y los desarrolladores han recomendado a los usuarios que migren a O3X. [ 38 ] [ 39 ]
  • GreenBytes , Inc. ofreció sin costo alguno una implementación propietaria de ZFS (Zevo) , compatible hasta la versión 5 del sistema de archivos ZFS y la versión 28 del grupo ZFS. [ 40 ] Zevo ofrecía un conjunto limitado de funciones ZFS, a la espera de un mayor desarrollo comercial; fue vendido a Oracle en 2014, con planes futuros desconocidos.

BSD

DragonFlyBSD

NetBSD

FreeBSD

  • Paweł Jakub Dawidek adaptó ZFS a FreeBSD , y ha sido parte de FreeBSD desde la versión 7.0. [ 43 ] Esto incluye zfsboot, que permite arrancar FreeBSD directamente desde un conjunto de datos ZFS. [ 44 ] [ 45 ]
  • La implementación de ZFS de FreeBSD es completamente funcional; las únicas características faltantes son el servidor CIFS del kernel e iSCSI , pero este último se puede agregar usando paquetes disponibles externamente. [ 46 ] Samba se puede usar para proporcionar un servidor CIFS en el espacio de usuario.
  • FreeBSD 13.0-RELEASE cambia la implementación de ZFS de la base de código basada en illumos a la base de código unificada OpenZFS 2. [ 47 ] Este cambio permite que FreeBSD reciba las mejoras de OpenZFS mucho más rápido. [ 48 ]

MedianocheBSD

  • MidnightBSD , un sistema operativo de escritorio derivado de FreeBSD, admite la versión 6 del grupo de almacenamiento ZFS a partir de la versión 0.3-RELEASE. Esta compatibilidad se deriva del código incluido en FreeBSD 7.0-RELEASE. Se está desarrollando una actualización al grupo de almacenamiento 28 en la versión 0.4-CURRENT, basada en el código fuente de la versión 9-STABLE de FreeBSD 9.1-RELEASE.

TrueOS (anteriormente PC-BSD)

  • TrueOS (anteriormente conocido como PC-BSD, ahora desaparecido [ 49 ] ) era una distribución de FreeBSD orientada al escritorio, que heredó su soporte para ZFS.

TrueNAS Core (anteriormente FreeNAS)

pfSense

  • pfSense , un enrutador de código abierto basado en BSD , es compatible con ZFS, incluyendo la instalación y el arranque en grupos ZFS, a partir de la versión 2.4.

OPNsense

XigmaNAS

  • XigmaNAS (anteriormente NAS4Free), una distribución de almacenamiento conectado a la red (NAS) de código abierto integrada basada en FreeBSD , tiene el mismo soporte para ZFS que FreeBSD, versión 5000 del grupo de almacenamiento ZFS. Este proyecto es una continuación del proyecto de la serie FreeNAS 7. [ 51 ]

Debian GNU/kFreeBSD

  • Al estar basado en el kernel de FreeBSD, Debian GNU/kFreeBSD tiene soporte para ZFS desde el kernel. Sin embargo, se requieren herramientas adicionales de espacio de usuario, [ 52 ] mientras que es posible tener ZFS como sistema de archivos raíz o /boot [ 53 ] en cuyo caso la configuración de GRUB necesaria la realiza el instalador de Debian desde la versión Wheezy . [ 54 ]
  • A fecha de 31 de enero de 2013, la versión de ZPool disponible es la 14 para la versión Squeeze y la 28 para la versión Wheezy-9 . [ 55 ]

Linux

Aunque el sistema de archivos ZFS es compatible con sistemas operativos basados ​​en Linux , los mantenedores de distribuciones de Linux que desean brindar soporte nativo para ZFS en sus productos se enfrentan a dificultades debido a incompatibilidades legales entre la licencia CDDL de ZFS y la licencia GPL utilizada por el kernel de Linux. Para habilitar el soporte de ZFS en Linux, se debe compilar y cargar en el kernel un módulo del kernel cargable que contenga el código ZFS con licencia CDDL. Según la Free Software Foundation , la redacción de la licencia GPL prohíbe legalmente la redistribución del producto resultante como obra derivada , [ 56 ] [ 57 ] aunque este punto de vista ha generado cierta controversia. [ 58 ] [ 59 ]

ZFS en FUSE

Una posible solución a la incompatibilidad de licencias se probó en 2006 con una adaptación experimental del código ZFS al sistema FUSE de Linux . El sistema de archivos se ejecutaba completamente en el espacio de usuario en lugar de estar integrado en el núcleo de Linux, por lo que no se consideraba una obra derivada del núcleo. Este enfoque era funcional, pero sufría penalizaciones de rendimiento significativas en comparación con la integración del sistema de archivos como un módulo nativo del núcleo que se ejecutaba en el espacio del núcleo . [ 60 ] A partir de 2016, el proyecto ZFS en FUSE parece estar obsoleto, ya que el controlador del núcleo ZFS en Linux ha prevalecido sobre el del espacio de usuario.

ZFS nativo en Linux

Una versión nativa de ZFS para Linux producida por el Laboratorio Nacional Lawrence Livermore (LLNL) fue lanzada en marzo de 2013, [ 61 ] [ 62 ] después de estos eventos clave: [ 63 ]

  • 2008: prototipo para determinar la viabilidad
  • 2009: soporte inicial para ZVOL y Lustre
  • 2010: el desarrollo se trasladó a GitHub.
  • 2011: Se agregó la capa POSIX
  • 2011: comunidad de primeros adoptadores
  • 2012: uso en producción de ZFS
  • 2013: lanzamiento estable de disponibilidad general

A fecha de agosto de 2014 ZFS en Linux utiliza el número de versión 5000 del pool de OpenZFS, lo que indica que las características que admite se definen mediante indicadores de características . Esta versión del pool es un número inmutable que se espera que nunca entre en conflicto con los números de versión proporcionados por Oracle. [ 64 ]

KQ InfoTech

Otro puerto nativo para Linux fue desarrollado por KQ InfoTech en 2010. [ 65 ] [ 66 ] Este puerto utilizó la implementación de zvol del Laboratorio Nacional Lawrence Livermore como punto de partida. En enero de 2011 se anunció una versión compatible con zpool v28. [ 67 ] En abril de 2011, KQ Infotech fue adquirida por sTec, Inc. , y su trabajo en ZFS cesó. [ 68 ] El código fuente de este puerto se puede encontrar en GitHub . [ 69 ]

El trabajo de KQ InfoTech se integró finalmente en la versión nativa de ZFS para Linux del LLNL. [ 68 ]

Distribución del código fuente

Si bien pueden surgir incompatibilidades de licencia con la distribución de binarios compilados que contienen código ZFS, generalmente se acepta que la distribución del código fuente en sí no se ve afectada por esto. En Gentoo Linux , la configuración de un sistema de archivos raíz ZFS está bien documentada y los paquetes necesarios se pueden instalar desde su repositorio de paquetes. [ 70 ] Slackware también proporciona documentación sobre la compatibilidad con ZFS, tanto como módulo del kernel como integrado en el kernel . [ 71 ] [ 72 ]

Integración con Ubuntu

La cuestión de la compatibilidad de la licencia CDDL con la licencia GPL resurgió en 2015, cuando la distribución de Linux Ubuntu anunció su intención de poner a disposición de los usuarios finales módulos binarios precompilados del kernel de OpenZFS directamente desde los repositorios de paquetes oficiales de la distribución. [ 73 ] En 2016, Ubuntu anunció que una revisión legal concluyó que proporcionar soporte para ZFS a través de un módulo binario del kernel no infringía las disposiciones de la licencia GPL. [ 74 ] Otras organizaciones, como el Software Freedom Law Center, siguieron la conclusión de Ubuntu, [ 75 ] mientras que la FSF y la SFC reiteraron sus posturas opuestas. [ 76 ]

Ubuntu 16.04 LTS (" Xenial Xerus "), lanzado el 21 de abril de 2016, permite al usuario instalar los paquetes binarios de OpenZFS directamente desde los repositorios de software de Ubuntu. [ 21 ] [ 77 ] A partir de 2024No se ha presentado ninguna demanda legal contra Canonical en relación con la distribución de estos paquetes.

Desde 2019, Ubuntu admite la instalación experimental de ZFS como sistema de archivos raíz, a partir de la versión 19.10 ("Eoan Ermine"), para admitir la coexistencia de un sistema operativo ZFS casi puro con GRUB y otros sistemas operativos en el mismo disco. [ 78 ] [ 79 ]

TrueNAS (anteriormente TrueNAS Scale)

Una versión de TrueNAS de iXsystems , basada en Debian Linux . Al igual que TrueNAS Core (basado en FreeBSD), utiliza OpenZFS para el almacenamiento y añade diversas características adicionales. Estas incluyen compatibilidad ampliada con controladores de dispositivos, máquinas virtuales KVM, paso directo de PCIe y compatibilidad con contenedores a través de Kubernetes y Docker. Además, permite Docker y ZFS en clúster a través de gluster . Puede encontrar información sobre la versión actual en la página de estado del software de iXsystems . [ 80 ] La marca "Scale" se eliminó oficialmente del nombre con el lanzamiento de TrueNAS 25.04, Fangtooth, que solo tiene una versión para Linux. [ 81 ]

Microsoft Windows

En 2010 se intentó realizar una adaptación de ZFS de código abierto, pero tras una pausa de más de un año, el desarrollo cesó en 2012. [ 82 ] En octubre de 2017, Jörgen Lundman anunció una nueva adaptación de OpenZFS en la Cumbre de Desarrolladores de OpenZFS. [ 83 ] [ 84 ]

También se puede encontrar en GitHub una versión más reciente de código abierto de ZFS, considerada una versión BETA. [ 85 ]

Historial de versiones

Versiones de pool y banderas de características

Originalmente, los números de versión del pool y del sistema de archivos se incrementaban a medida que se introducían nuevas características, con el fin de designar el formato del sistema de archivos en disco y las características disponibles. Esto funcionó bien cuando una sola entidad controlaba el desarrollo de ZFS, y este esquema de versionado todavía se utiliza con ZFS en Oracle Solaris . [ 86 ] [ 87 ]

En un modelo de desarrollo más distribuido , tener un único número de versión dista mucho de ser ideal, ya que todas las implementaciones de OpenZFS tendrían que ponerse de acuerdo en todos los cambios en el formato del sistema de archivos en disco. La solución elegida por OpenZFS fue introducir indicadores de características como un nuevo sistema de versionado que etiqueta los cambios de formato en disco con nombres únicos y admite tanto cambios de formato completamente independientes como cambios de formato que dependen unos de otros. Un grupo puede moverse y utilizarse entre implementaciones de OpenZFS siempre que todos los indicadores de características utilizados por el grupo sean compatibles con ambas implementaciones. [ 8 ] : 20, 26–27 [ 88 ] : 2–3 [ 89 ]

En OpenZFS, la versión del pool se establece permanentemente en 5000, lo que significa que el pool indica nuevas características estableciendo o desestableciendo indicadores de características de ZFS en lugar de incrementar la versión del pool. [ 38 ] El número 5000 se eligió porque se espera que nunca entre en conflicto con los números de versión proporcionados por Oracle . Los números de versión heredados aún existen para las versiones de pool 1 a 28. [ 90 ] [ 91 ] [ 92 ] Los futuros cambios de formato en disco se habilitan/deshabilitan de forma independiente a través de estos indicadores de características.

Los números de versión heredados aún existen para las versiones de grupo 1 a 28, y están implícitos en la versión de grupo 5000; [ 93 ] la propuesta inicial era usar 1000 como la versión de grupo. [ 88 ] : 4 Los cambios de formato futuros en disco se habilitan y deshabilitan de forma independiente a través de indicadores de características.

Las banderas de características se exponen como propiedades de grupo, siguiendo estas reglas de esquema de nomenclatura: [ 88 ] : 4

  • El formato del nombre de la propiedad es feature@<nombre-de-la-organización>:<nombre-de-la-característica>
  • <org-name> es el nombre DNS inverso de la organización que desarrolló la función, lo que garantiza nombres de propiedades únicos.
  • Los nombres de las propiedades se pueden abreviar a feature@<feature-name> cuando no dejan lugar a ambigüedades.

Por ejemplo, feature@com.foocompany:async_destroy es un nombre de propiedad válido y podría abreviarse a feature@async_destroy . [ 88 ] : 4

Cada función del grupo puede estar en estado deshabilitado , habilitado o activo . Las funciones deshabilitadas son aquellas que no se utilizarán y no se realizarán cambios de formato en el disco; por lo tanto, son compatibles con versiones anteriores . Las funciones habilitadas son aquellas que se utilizarán, aún no se han realizado cambios de formato en el disco, pero el software puede realizarlos en cualquier momento; estas funciones siguen siendo compatibles con versiones anteriores. Las funciones activas son aquellas que han realizado cambios de formato en el disco incompatibles con versiones anteriores en el grupo. [ 88 ] : 5

Cuando se habilita cualquier función del pool, la versión anterior del pool se actualiza automáticamente a la versión 5000 y también se habilitan las demás funciones prerrequisito. Por defecto, los nuevos pools se crean con todas las funciones compatibles habilitadas. En general, el estado de una función se puede cambiar de activa a habilitada , deshaciendo así los cambios de formato en disco realizados y haciendo que el pool vuelva a ser compatible con una implementación anterior de OpenZFS; sin embargo, para algunas funciones esto podría no ser posible. [ 88 ] : 5, 9 [ 93 ]

Los cambios de formato en disco pueden estar asociados con características de escritura o de lectura . Las primeras son las características que una implementación de OpenZFS debe admitir para poder escribir en el pool, mientras que admitir dichas características no es obligatorio para abrir el pool en modo de solo lectura. Las segundas son las características que una implementación de OpenZFS debe admitir para poder leer del pool o simplemente abrirlo, ya que abrir un pool no es posible sin leerlo previamente. [ 88 ] : 7

Por ejemplo, la función async_destroy agrega una nueva estructura de datos en disco para realizar un seguimiento de los conjuntos de datos liberados, pero una implementación de OpenZFS no necesita conocer esta estructura de datos para acceder al pool en modo de solo lectura. Además, escribir en un pool que tiene algunas características en estado activo no es posible para una implementación de OpenZFS que no admita las mismas características. [ 88 ] : 7–8

Una lista de indicadores de características y los sistemas operativos que los admiten está disponible en el sitio web de documentación de OpenZFS [ 94 ] (aquí el antiguo sitio web Open-ZFS.org [ 95 ] ).

OpenZFS 2.0

Históricamente, OpenZFS se ha implementado como un código ZFS central, y cada equipo de sistema operativo lo ha adaptado para que se ajuste a sus proyectos. Esto llevó en algunos casos al estancamiento de las características y a la divergencia de las mismas y de las líneas de comandos, ya que los distintos sistemas operativos desarrollaron características y correcciones de errores divergentes, a menudo para una sola plataforma en lugar de para todas. Con el tiempo, el desarrollo de nuevas características se trasladó de Illumos a Linux . [ 96 ] Estas nuevas características y correcciones tuvieron que ser retroportadas a Illumos antes de poder ser reportadas para FreeBSD . [ 96 ] Pero esto fue difícil porque la versión de Linux también incluía muchos cambios menores, que eran difíciles de separar. [ 96 ]

En 2018, se acordó que el desarrollo de OpenZFS se revisaría para solucionar estos problemas. [ 96 ] En lugar de intentar importar todos los cambios de Linux a otras plataformas de forma fragmentada, todo el código ZFS de Linux se "adaptaría" como un todo, y otras plataformas se basarían en la versión de Linux con mayor desarrollo. [ 96 ] Una amplia gama de características portadas y nuevas, incluidas muchas mejoras largamente deseadas, también se implementarían o portarían a través de las plataformas, y los cambios futuros se discutirían en todas las plataformas antes de su implementación. [ 96 ] Los planes incluían capas de portabilidad adecuadas para evitar que el código de compatibilidad de Linux, GPL o Linux-KPI se introdujera en otros núcleos de plataforma . [ 96 ]

La lista de características en desarrollo o adaptadas para OpenZFS 2.0 es extensa e incluye:

  • Implementación más rápida de mejoras y nuevas funciones en todas las plataformas [ 96 ]
  • Estandarización de la línea de comandos [ 96 ]
  • Mayor portabilidad de los grupos (los grupos ZFS creados en un sistema pueden ser utilizados igualmente por otro) [ 97 ]
  • Mayor paridad de características entre plataformas e independencia de la plataforma [ 97 ]
  • Montajes de superposición (unión) aceptados por defecto [ 97 ]
  • Corrección de errores y mejoras [ 97 ]
  • ZTS y otras características que funcionan en FreeBSD [ 97 ]
  • Mejoras de TRIM y MODO ACL [ 97 ] [ 96 ]
  • ZFS contiene (de FreeBSD) [ 97 ]
  • ACL nativas mejoradas de NFSv4 (FreeBSD) [ 97 ]
  • Rendimiento mejorado de AES-GCM para grupos cifrados [ 97 ]
  • Enviar/recibir censurado [ 97 ]
  • Mapa de espacio de registro y otras mejoras en la gestión de metaslabs: un proyecto para reimplementar la gestión de espacio libre y "metaslabs" de ZFS para una mayor eficiencia [ 97 ]
  • Eliminación rápida de clones [ 97 ]
  • Compresión de datos Zstd como nueva opción [ 97 ]
  • Herencia de propiedades del programa de canal [ 97 ]
  • AltiVec RAID-Z [ 97 ]
  • Compatibilidad con marcadores y copia [ 97 ]
  • Soporte de E/S directa [ 97 ]
  • L2ARC persistente (L2ARC retenido entre reinicios) [ 97 ]
  • Limpieza y replateado secuencial (de alta velocidad) [ 96 ]
  • Pausa/reanudación de limpieza [ 96 ]
  • Reinicio de Resilver [ 96 ]
  • Extracción del dispositivo (VDEV) [ 96 ]
  • Inicializar y crear punto de control de Zpool [ 96 ]
  • Programas del canal [ 96 ]
  • Dnodo grande [ 96 ]
  • Clases de asignación (que permiten designar almacenamiento específico de alta velocidad para tablas de metadatos y deduplicación) [ 96 ]
  • Montaje de piscinas paralelas [ 96 ]
  • Propiedades por vdev [ 96 ]
  • Las mejoras en la deduplicación ( deduplicación de alta velocidad, límites de tamaño de la tabla de deduplicación y precarga de la tabla de deduplicación (carga completa de una vez en lugar de por partes según sea necesario)), que en 2018 se consideraban "deseables", en abril de 2020 se afirmaba que estaban "avanzando satisfactoriamente" o prácticamente completadas [ 98 ].

Véase también

Referencias

  1. "Versión 2.4.3" . 12 de junio de 2026. Consultado el 13 de junio de 2026 .
  2. 1 2 Versiones · openzfs/zfs en GitHub
  3. "OpenZFS: comunidades que cooperan en el código y las características de ZFS" . freebsdnews.net . 23 de septiembre de 2013. Archivado del original el 14 de octubre de 2013. Consultado el 14 de marzo de 2014 .
  4. "FreeNAS y TrueNAS se unifican" . 5 de marzo de 2020. Archivado del original el 4 de junio de 2020. Consultado el 7 de junio de 2020 .
  5. "OpenZFS 2.0 · openzfs/ZFS" . GitHub . Archivado del original el 17 de abril de 2020 . Consultado el 7 de junio de 2020 .
  6. 1 2 3 "Historia de OpenZFS" . open-zfs.org . Archivado del original el 24 de diciembre de 2013. Recuperado el 24 de septiembre de 2013 .
  7. 1 2 Koutoupis, Petros (1 de junio de 2016). "ZFS: ¿Encontrando su camino hacia un Linux cerca de ti?" . Linux Journal . Archivado del original el 27 de junio de 2016 . Recuperado el 4 de julio de 2016 .
  8. 1 2 Ahrens, Matt; Behlendorf, Brian (17 de septiembre de 2013). "LinuxCon 2013: OpenZFS" (PDF) . Linux Foundation . Archivado (PDF) del original el 13 de noviembre de 2013. Recuperado el 13 de noviembre de 2013 .
  9. Cantrill, Bryan (8 de diciembre de 2011). "¡Fork Yeah! El auge y desarrollo de illumos" . SlideShare . Archivado del original el 27 de septiembre de 2013. Recuperado el 24 de septiembre de 2013 .
  10. "Preguntas frecuentes de illumos" . illumos.org . Archivado del original el 24 de diciembre de 2013. Consultado el 24 de septiembre de 2013 .
  11. "MacZFS: Sitio oficial del ZFS gratuito para Mac OS" . code.google.com . Archivado del original el 11 de febrero de 2014. Consultado el 2 de marzo de 2014 .
  12. "OpenZFS en OS X" . openzfsonosx.org . 15 de noviembre de 2014. Archivado del original el 29 de noviembre de 2014. Consultado el 23 de noviembre de 2014 . 
  13. Corbet, Jonathan (29 de marzo de 2013). "ZFS en Linux 0.6.1" . LWN.net . Archivado del original el 30 de julio de 2016. Recuperado el 4 de julio de 2016 .
  14. Corbet, Jonathan (17 de septiembre de 2013). "Se lanza el proyecto OpenZFS" . LWN.net . Archivado del original el 11 de octubre de 2016. Recuperado el 1 de octubre de 2013 .
  15. "Anuncio de OpenZFS" . open-zfs.org . 17 de septiembre de 2013. Archivado del original el 2 de abril de 2018. Consultado el 19 de septiembre de 2013 .
  16. "Lanzamiento de OpenZFS 2.0.0 · openzfs/zfs" . GitHub . Consultado el 11 de marzo de 2024 .
  17. Moglen, Eben; Choudharyl, Mishi (26 de febrero de 2016). "El núcleo de Linux, CDDL y cuestiones relacionadas" . softwarefreedom.org . Archivado del original el 1 de abril de 2016. Consultado el 30 de marzo de 2016 .
  18. Kuhn, Bradley M.; Sandler, Karen M. (25 de febrero de 2016). "Violaciones de la GPL relacionadas con la combinación de ZFS y Linux" . sfconservancy.org . Archivado del original el 3 de abril de 2016. Recuperado el 30 de marzo de 2016 .
  19. Bottomley, James (23 de febrero de 2016). "¿Son incompatibles GPLv2 y CDDL?" . hansenpartnership.com . Archivado del original el 1 de marzo de 2016 . Recuperado el 3 de julio de 2016 .
  20. Paul, Ryan (9 de junio de 2010). "La adopción de la versión nativa de Linux para ZFS se ve obstaculizada por un conflicto de licencias" . Ars Technica . Archivado del original el 14 de julio de 2014. Consultado el 1 de julio de 2014 .
  21. 1 2 Sharwood, Simon (21 de abril de 2016). "Ubuntu 16.04 LTS llega hoy completo con ZFS prohibido" . The Register . Archivado del original el 8 de julio de 2016. Recuperado el 3 de julio de 2016 . 
  22. Larabel, Michael (6 de octubre de 2015). "Ubuntu planea convertir el sistema de archivos ZFS en una oferta "estándar" . Phoronix . Archivado del original el 30 de junio de 2016. Recuperado el 3 de julio de 2016 .
  23. "Apple: Leopard ofrece ZFS de solo lectura limitado" . MacNN . 12 de junio de 2007. Archivado del original el 19 de junio de 2007. Consultado el 23 de junio de 2007 .
  24. "Apple lanza la versión preliminar para desarrolladores ZFS Read/Write 1.1 para Leopard" . Ars Technica . 7 de octubre de 2007. Archivado del original el 10 de octubre de 2007. Consultado el 7 de octubre de 2007 .
  25. Kristo, Ché (18 de noviembre de 2007). "ZFS Beta Seed v1.1 no se instalará en Leopard.1 (10.5.1) " ideas are free" . Archivado del original el 24 de diciembre de 2007. Recuperado el 30 de diciembre de 2007 .
  26. "ZFS" . 2 de noviembre de 2009. Archivado del original el 2 de noviembre de 2009. Consultado el 19 de septiembre de 2024 .
  27. http://alblue.blogspot.com/2008/11/zfs-119-on-mac-os-x.html Archivado el 20 de febrero de 2012 en Wayback Machine |title=Alblue.blogspot.com
  28. "Leopardo de las nieves (archivo en caché de archive.org)" . 21 de julio de 2008. Archivado del original el 21 de julio de 2008.
  29. "Leopardo de las nieves" . 9 de junio de 2009. Archivado del original el 21 de julio de 2008. Consultado el 10 de junio de 2008 .
  30. "zfs-macos | Grupos de Google" . Archivado del original el 8 de noviembre de 2012. Consultado el 4 de noviembre de 2011 .
  31. "maczfs – Sitio oficial del ZFS gratuito para Mac OS – Alojamiento del proyecto de Google" . Archivado del original el 29 de julio de 2016. Recuperado el 30 de julio de 2012 .
  32. ^ Sallings, Dustin (31 de mayo de 2024), Dustin/mac-zfs , consultado el 19 de septiembre de 2024
  33. Página de preguntas frecuentes archivada el 19 de marzo de 2015 en Wayback Machine en code.google.com/p/maczfs
  34. "Archivo de Google Code: almacenamiento a largo plazo para el alojamiento de proyectos de Google Code" . code.google.com . Consultado el 19 de septiembre de 2024 .
  35. "Notas de la versión oi_151a_prestable5" . Archivado del original el 17 de mayo de 2016. Consultado el 23 de mayo de 2016 .
  36. "Actualización desde OpenSolaris" . Archivado del original el 26 de septiembre de 2011. Consultado el 24 de septiembre de 2011 .
  37. "OpenZFS en OS X" . openzfsonosx.org . 29 de septiembre de 2014. Archivado del original el 29 de noviembre de 2014. Consultado el 23 de noviembre de 2014 .
  38. 1 2 "Características – OpenZFS – Indicadores de características" . OpenZFS. Archivado del original el 22 de septiembre de 2013. Recuperado el 22 de septiembre de 2013 .
  39. "MacZFS: Sitio oficial del ZFS gratuito para Mac OS" . code.google.com . MacZFS . Archivado del original el 19 de marzo de 2015. Consultado el 2 de marzo de 2014 .
  40. "Sitio Wiki de ZEVO/Versiones del grupo y sistema de archivos ZFS" . GreenBytes, Inc. 15 de septiembre de 2012. Archivado del original el 10 de agosto de 2014. Consultado el 22 de septiembre de 2013 .
  41. "Rama zfs-port de Github" . GitHub . 23 de septiembre de 2014. Archivado del original el 9 de enero de 2016. Consultado el 5 de octubre de 2014 .
  42. "Proyectos de NetBSD Google Summer of Code: ZFS" . Archivado del original el 11 de octubre de 2007. Consultado el 5 de septiembre de 2007 .
  43. Dawidek, Paweł (6 de abril de 2007). "ZFS se incorpora a la base de FreeBSD" . Archivado del original el 22 de junio de 2012. Recuperado el 6 de abril de 2007 .
  44. "Revisión 192498" . 20 de mayo de 2009. Consultado el 22 de mayo de 2009 .
  45. "ZFS v13 en 7-STABLE" . 21 de mayo de 2009. Archivado del original el 27 de mayo de 2009. Consultado el 22 de mayo de 2009 .
  46. "Objetivo iSCSI para FreeBSD" . Archivado del original el 14 de julio de 2011. Recuperado el 6 de agosto de 2011 .
  47. "Notas de la versión FreeBSD 13.0-RELEASE" . FreeBSD . El proyecto FreeBSD . Consultado el 10 de julio de 2021 .
  48. Macy, Matt (25 de agosto de 2020). "commit 9e5787d2284e187abb5b654d924394a65772e004 Fusionar el soporte de OpenZFS en HEAD" . src - Árbol de código fuente de FreeBSD . Recuperado el 10 de julio de 2021 .
  49. "Descontinuación de TrueOS" . trueos.com . 19 de agosto de 2020. Archivado del original el 24 de enero de 2021. Consultado el 9 de abril de 2021 .
  50. "¡TrueNAS 12.0 ha sido lanzado!" . 21 de octubre de 2020 . Consultado el 9 de abril de 2021 .
  51. "NAS4Free: Características" . Archivado del original el 6 de febrero de 2015. Consultado el 13 de enero de 2015 .
  52. "Preguntas frecuentes sobre Debian GNU/kFreeBSD" . ¿Hay soporte para ZFS? Archivado del original el 27 de septiembre de 2013. Consultado el 24 de septiembre de 2013 .
  53. "Preguntas frecuentes sobre Debian GNU/kFreeBSD" . ¿Puedo usar ZFS como sistema de archivos raíz o /boot? Archivado del original el 18 de enero de 2019. Consultado el 24 de septiembre de 2013 .
  54. "Preguntas frecuentes sobre Debian GNU/kFreeBSD" . ¿Qué comandos de grub son necesarios para arrancar Debian/kFreeBSD desde una raíz zfs? Archivado del original el 18 de enero de 2019. Recuperado el 24 de septiembre de 2013 .
  55. Larabel, Michael (10 de septiembre de 2010). "Debian GNU/kFreeBSD se vuelve más interesante" . Phoronix . Archivado del original el 29 de noviembre de 2016. Recuperado el 24 de septiembre de 2013 .
  56. Moglen, Eben; Choudharyl, Mishi (26 de febrero de 2016). "El núcleo de Linux, CDDL y cuestiones relacionadas" . softwarefreedom.org . Archivado del original el 1 de abril de 2016. Consultado el 30 de marzo de 2016 .
  57. Kuhn, Bradley M.; Sandler, Karen M. (25 de febrero de 2016). "Violaciones de la GPL relacionadas con la combinación de ZFS y Linux" . sfconservancy.org . Archivado del original el 3 de abril de 2016. Recuperado el 30 de marzo de 2016 .
  58. Corbet, Jonathan (12 de junio de 2007). "Linus sobre GPLv3 y ZFS" . Lwn.net. Archivado del original el 23 de julio de 2011. Recuperado el 4 de noviembre de 2011 .
  59. Paul, Ryan (9 de junio de 2010). "La adopción de la versión nativa de Linux para ZFS se ve obstaculizada por un conflicto de licencias" . Ars Technica. Archivado del original el 14 de julio de 2014. Consultado el 1 de julio de 2014 .
  60. Rajgarhia, Aditya y Gehani, Ashish (23 de noviembre de 2012). "Rendimiento y extensión de los sistemas de archivos del espacio de usuario" (PDF) . Archivado (PDF) del original el 7 de septiembre de 2014. Recuperado el 23 de noviembre de 2012 .
  61. Behlendorf, Brian (28 de mayo de 2013). "spl/zfs-0.6.1 lanzado" . Lista de correo zfs-announce . Archivado del original el 8 de junio de 2013. Recuperado el 9 de octubre de 2013 .
  62. "ZFS en Linux" . Archivado del original el 22 de mayo de 2019. Consultado el 29 de agosto de 2013 .
  63. Ahrens, Matt; Behlendorf, Brian (17 de septiembre de 2013). "LinuxCon 2013: OpenZFS" (PDF) . linuxfoundation.org . Archivado (PDF) del original el 7 de junio de 2020. Recuperado el 13 de noviembre de 2013 .
  64. "ZFS en Linux" . zfsonlinux.org . Archivado del original el 22 de mayo de 2019. Consultado el 13 de agosto de 2014 .
  65. Darshin (24 de agosto de 2010). "Portada de ZFS a Linux (todas las versiones)" . Archivado del original el 11 de marzo de 2012. Recuperado el 31 de agosto de 2010 .
  66. "¿Dónde puedo obtener el código fuente de ZFS para Linux?" . Archivado del original el 8 de octubre de 2011. Recuperado el 29 de agosto de 2013 .
  67. Phoronix (22 de noviembre de 2010). "Ejecutando el módulo nativo del kernel de Linux ZFS, además de pruebas de rendimiento" . Archivado del original el 11 de diciembre de 2010. Recuperado el 7 de diciembre de 2010 .
  68. 1 2 "KQ ZFS Linux ya no se está desarrollando activamente" . 10 de junio de 2011. Archivado del original el 29 de noviembre de 2016. Recuperado el 14 de septiembre de 2016 .
  69. "zfs-linux / zfs" . GitHub . Archivado del original el 16 de mayo de 2011. Consultado el 15 de septiembre de 2011 .
  70. "ZFS – Documentación de Gentoo" . gentoo.org . Archivado del original el 3 de octubre de 2013. Consultado el 9 de octubre de 2013 .
  71. "Raíz ZFS" . Raíz ZFS de Slackware . SlackWiki.com. Archivado del original el 14 de agosto de 2014. Recuperado el 13 de agosto de 2014 .
  72. "ZFS root (builtin)" . Slackware ZFS root (builtin) . SlackWiki.com. Archivado del original el 14 de agosto de 2014. Recuperado el 13 de agosto de 2014 .
  73. Michael Larabel (6 de octubre de 2015). "Ubuntu planea convertir el sistema de archivos ZFS en una opción "estándar" . Phoronix . Archivado del original el 30 de junio de 2016. Consultado el 30 de junio de 2016 .
  74. Dustin Kirkland (18 de febrero de 2016). "Licencias ZFS y Linux" . Ubuntu Insights . Canonical. Archivado del original el 29 de julio de 2016. Consultado el 30 de junio de 2016 .
  75. Moglen, Eben ; Choudhary, Mishi (26 de febrero de 2016). "El núcleo de Linux, CDDL y cuestiones relacionadas" . Archivado del original el 14 de julio de 2016. Recuperado el 30 de junio de 2016 .
  76. "Violaciones de la GPL relacionadas con la combinación de ZFS y Linux" . Software Freedom Conservancy . Consultado el 19 de septiembre de 2024 .
  77. Larabel, Michael. "Poniendo a prueba ZFS en Ubuntu 16.04 LTS" . Phoronix . Phoronix Media. Archivado del original el 19 de septiembre de 2016. Recuperado el 25 de abril de 2016 .
  78. "Soporte de Ubuntu ZFS en 19.10: Introducción" . 6 de agosto de 2019. Archivado del original el 23 de octubre de 2019. Recuperado el 23 de octubre de 2019 .
  79. Salter, Jim (10 de octubre de 2019). "Un análisis detallado del nuevo instalador experimental ZFS de Ubuntu" . Ars Technica . Archivado del original el 31 de diciembre de 2019. Consultado el 14 de enero de 2020 .
  80. "Estado del software" . www.truenas.com . 8 de agosto de 2022. Consultado el 7 de enero de 2024 .
  81. "Notas de la versión 25.04 (Fangtooth)" . www.truenas.com . 31 de mayo de 2025. Consultado el 31 de mayo de 2025 .
  82. "zfs-win" . Búsqueda de Google . Archivo de código de Google. Archivado del original el 30 de diciembre de 2016. Recuperado el 11 de diciembre de 2017 .
  83. "Sistema de archivos ZFS abierto que se ejecuta en Windows" . Phoronix . Archivado del original el 11 de diciembre de 2017. Consultado el 11 de diciembre de 2017 .
  84. "OpenZFS en Windows" . GitHub . Archivado del original el 20 de noviembre de 2017. Consultado el 11 de diciembre de 2017 .
  85. openzfsonwindows/openzfs , openzfsonwindows, 13 de octubre de 2024 , consultado el 15 de octubre de 2024
  86. "Guía de administración de Solaris ZFS, Apéndice A Descripciones de versiones de ZFS" . Oracle Corporation . 2010. Archivado del original el 6 de abril de 2011. Recuperado el 11 de febrero de 2011 .
  87. "Descripciones de versiones de Oracle Solaris ZFS" . Oracle Corporation . Archivado del original el 7 de octubre de 2013. Consultado el 23 de septiembre de 2013 .
  88. 1 2 3 4 5 6 7 8 Siden, Christopher (11 de enero de 2012). "ZFS Feature Flags (Illumos Meetup)" (PDF) . delphix.com . Archivado del original (PDF) el 3 de abril de 2013. Recuperado el 4 de julio de 2016 .
  89. "Características de OpenZFS – Indicadores de características" . open-zfs.org . Archivado del original el 22 de septiembre de 2013. Consultado el 23 de septiembre de 2013 .
  90. Siden, Christopher (enero de 2012). "ZFS Feature Flags" (PDF) . Illumos Meetup. Delphix. pág. 4. Archivado del original (PDF) el 3 de abril de 2013. Recuperado el 22 de septiembre de 2013 . 
  91. "/usr/src/uts/common/sys/fs/zfs.h (línea 338)" . illumos (GitHub). Archivado del original el 11 de febrero de 2016. Recuperado el 16 de noviembre de 2013 .
  92. "/usr/src/uts/common/fs/zfs/zfeature.c (línea 89)" . illumos (GitHub). Archivado del original el 11 de febrero de 2016. Recuperado el 16 de noviembre de 2013 .
  93. 1 2 "Preguntas frecuentes de OpenZFS: ¿Son portátiles entre sistemas operativos los grupos de almacenamiento creados por OpenZFS?" . open-zfs.org . 26 de septiembre de 2013. Archivado del original el 3 de enero de 2016. Recuperado el 30 de octubre de 2015 .
  94. "Feature Flags — Documentación de OpenZFS" . openzfs.github.io . Consultado el 4 de enero de 2024 .
  95. "Feature Flags – OpenZFS" . open-zfs.org . Archivado del original el 29 de agosto de 2017. Consultado el 28 de agosto de 2017 .
  96. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 " Copia archivada " ( PDF ) . Archivado ( PDF ) del original el 6 de agosto de 2020. Recuperado el 7 de junio de 2020 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  97. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 "OpenZFS 2.0 · openzfs/ZFS" . GitHub . Archivado del original el 17 de abril de 2020. Recuperado el 7 de junio de 2020 .
  98. "Equipo de liderazgo de OpenZFS - Agenda y notas de la reunión" . Archivado del original el 7 de junio de 2020. Consultado el 7 de junio de 2020 .
  • El proyecto OpenZFS : sitio web y lista de distribuciones de OpenZFS
  • FreeBSD: Página web wiki de GitHub
  • illumos: Página web GitHub
  • Linux: Página web GitHub
  • macOS: Página web GitHub Google
  • Windows: Página web GitHub
  • Sesión informativa sobre OpenZFS en YouTube , 11 de octubre de 2013, por Matt Ahrens
  • Eliminación del dispositivo OpenZFS Archivado el 12 de mayo de 2015 en Wayback Machine , 15 de enero de 2015, por Alex Reece