Implementación de código abierto del sistema de archivos ZFS
OpenZFS es una implementación de código abierto del sistema de archivos ZFS y el administrador de volúmenes desarrollado inicialmente por Sun Microsystems para el sistema operativo Solaris y que ahora es mantenido por el Proyecto OpenZFS. De manera similar al ZFS original, la 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 mientras está en uso, sin necesidad de un verificador de sistema de archivos dedicado. Esta característica lo hace adecuado para aplicaciones de misión crítica que requieren alta disponibilidad.
OpenZFS se utiliza principalmente en entornos empresariales y de centros de datos , así como en dispositivos de consumo como los dispositivos de almacenamiento conectados a la red (NAS), donde la fiabilidad y la seguridad de los datos son esenciales. Aunque inicialmente se diseñó para Solaris, el desarrollo se ha centrado desde entonces en Linux , aunque existen puertos para varias distribuciones BSD y macOS . A diferencia de Oracle ZFS , OpenZFS tiene licencia de la Licencia de desarrollo y distribución común (CDDL), lo que permite el uso comercial y de código abierto del sistema de archivos.
Entre los miembros fundadores de OpenZFS se encuentra Matt Ahrens, uno de los principales arquitectos de ZFS. [3] En 2020, las bases de código de OpenZFS y ZFS en Linux, un módulo del kernel que permite utilizar ZFS en Linux, se fusionaron y se lanzaron como OpenZFS 2.0, lo que permitió que otros sistemas operativos no 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 de Desarrollo y Distribución Común como parte del sistema operativo OpenSolaris y luego se adaptó a otros sistemas operativos y entornos. [6] [7]
La siguiente es 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 de Sun.
- 2005: Se publicó el código fuente de ZFS como parte del proyecto OpenSolaris.
- 2006: Comenzó el desarrollo de un puerto ZFS para FUSE para Linux.
- 2007: Apple inició un proyecto para portar ZFS a Mac OS X.
- 2008: Se lanzó un puerto para FreeBSD como parte de FreeBSD 7.0.
- 2008: Comenzó el desarrollo de un puerto ZFS nativo para Linux, conocido como ZFS en Linux.
- 2009: El proyecto ZFS de Apple cerró y el proyecto MacZFS se hizo cargo del desarrollo del controlador (desde entonces también se suspendió; estuvo vigente hasta Mac OS X 10.9 ).
- 2010: OpenSolaris se suspendió tras la adquisición de Sun Microsystems por parte de Oracle , lo que provocó que el desarrollo posterior de ZFS en Solaris ya no fuera de código abierto.
- 2010: tras la interrupción, se formó un proyecto llamado illumos y se bifurcó OpenSolaris para continuar con el desarrollo de código abierto, [9] [10] incluido ZFS. Los puertos de ZFS a otras plataformas continuaron incorporando cambios originales 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 de prototipos (conocida como OpenZFS en OS X u O3X) utiliza ZFS en Linux como la nueva base de código 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] Nuevas características y correcciones se incorporan regularmente a OpenZFS desde illumos y se incorporan a todos los puertos de otras plataformas, y viceversa. [6]
- 2016: Ubuntu 16.04 incluye la variante del sistema de archivos ZFS de código abierto de forma predeterminada.
- 2020: ZFS en Linux se fusionó con OpenZFS y se agregó soporte para FreeBSD, unificando la base de código para ambas plataformas. [16]
Puertos
Como la FSF (Free Software Foundation) afirmó que había una incompatibilidad legal entre la CDDL y la GPL en 2005, la implementación de Sun del sistema de archivos ZFS no se pudo utilizar como base para el desarrollo de un módulo en el núcleo Linux , no se pudo fusionar con el núcleo Linux principal y las distribuciones Linux generalmente no lo incluyeron como un módulo de núcleo precompilado. [17] [18] [19] Como solución alternativa, FUSE , un marco que permite que los sistemas de archivos se ejecuten en el espacio de usuario , se utilizó en Linux como una capa de separación para la que no se aplicaron los problemas de licencia, aunque con un conjunto 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 núcleo. [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, que carece 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 acceso de lectura y escritura y la creación de z-pools; [24] sin embargo, se ha informado que el instalador de "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 interrumpió el desarrollo del proyecto ZFS en Mac OS Forge sin ninguna explicación. Apple eliminó todo excepto la parte con licencia CDDL del código fuente para su compilación final del proyecto ZFS, cuyo nombre en código era "10a286". La compatibilidad completa con ZFS se anunció originalmente como una característica de Snow Leopard Server antes del lanzamiento, [28] pero 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 nuevos desarrollos [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, lanzadas con el lanzamiento de Solaris en octubre de 2008. Se puede encontrar información histórica adicional y comentarios en el sitio web de Mac ZFS y en las preguntas frecuentes . [33] Sin embargo, el proyecto cesó el desarrollo a mediados de 2013 con un mensaje que solicitaba a los usuarios que cambiaran a O3X. [34]
Implementaciones
OpenSolaris
- OpenSolaris 2008.05, 2008.11 y 2009.06 utilizan ZFS como su sistema de archivos predeterminado.
AbiertoIndiana
- OpenIndiana utiliza OpenZFS con indicadores de características tal como se implementó en Illumos . La versión 28 de ZFS se utilizó 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 y arrancar por separado Solaris 11 Express 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, al tiempo que mantiene 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 tiene todas las funciones y admite compresión LZ4, deduplicación, ARC, L2ARC y SLOG. [ cita requerida ]
- MacZFS es un software gratuito que brinda soporte para ZFS en macOS. La rama estable heredada proporciona hasta la versión 8 del grupo ZFS y la versión 2 del sistema de archivos ZFS. La rama de desarrollo, basada en ZFS en Linux y OpenZFS, proporciona funcionalidad ZFS actualizada, como hasta la versión 5000 del grupo ZFS y marcas de características. Esta implementación ya no es compatible y los desarrolladores han recomendado a los usuarios que cambien a O3X. [38] [39]
- Una implementación propietaria de ZFS (Zevo) estaba disponible sin costo de GreenBytes , Inc., implementando 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 características ZFS, pendiente de un mayor desarrollo comercial; se vendió a Oracle en 2014, con planes futuros desconocidos. [ cita requerida ]
BSD
Libélula BSD
- Edward O'Callaghan inició el puerto inicial de ZFS a DragonFlyBSD . [41]
NetBSD
- El puerto NetBSD ZFS se inició como parte del Google Summer of Code de 2007 y en agosto de 2009, el código se fusionó con el árbol de fuentes de NetBSD . [42]
BSD libre
- Paweł Jakub Dawidek portó 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 ZFS de FreeBSD es completamente funcional; las únicas características faltantes son el servidor CIFS del kernel y iSCSI , pero este último se puede agregar usando paquetes disponibles externamente. [46] Samba se puede usar para proporcionar un servidor CIFS de 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, es compatible con la versión 6 del grupo de almacenamiento ZFS a partir de la versión 0.3-RELEASE. Esta versión se derivó del código incluido en FreeBSD 7.0-RELEASE. Se está realizando una actualización del grupo de almacenamiento 28 en la versión 0.4-CURRENT y se basa en las fuentes 9-STABLE del código de FreeBSD 9.1-RELEASE. [ cita requerida ]
- TrueOS (antes conocido como PC-BSD, ahora extinto [49] ) era una distribución de FreeBSD orientada al escritorio, que heredó su soporte ZFS. [ cita requerida ]
pfSense
- pfSense , un enrutador de código abierto basado en BSD , admite ZFS, incluida 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 red (NAS) de código abierto integrada basada en FreeBSD , tiene el mismo soporte ZFS que FreeBSD, la 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 núcleo FreeBSD, Debian GNU/kFreeBSD tiene soporte ZFS desde el núcleo. 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 requerida la realiza el instalador de Debian desde la versión Wheezy . [54]
- Al 31 de enero de 2013, la versión de ZPool disponible es 14 para la versión Squeeze y 28 para la versión Wheezy-9 . [55]
Linux
Aunque el sistema de archivos ZFS es compatible con los sistemas operativos basados en Linux , surgen dificultades para los mantenedores de distribuciones Linux que desean proporcionar soporte nativo para ZFS en sus productos debido a incompatibilidades legales entre la licencia CDDL de ZFS y la licencia GPL utilizada por el núcleo Linux. Para habilitar el soporte de ZFS dentro de Linux, se debe compilar y cargar en el núcleo un módulo de núcleo 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 un trabajo derivado , [56] [57] aunque este punto de vista ha causado cierta controversia. [58] [59]
ZFS en FUSE
En 2006 se probó una posible solución alternativa a la incompatibilidad de licencias, con un puerto 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 y, por lo tanto, no se consideraba un trabajo derivado del núcleo. Este enfoque era funcional, pero sufría importantes penalizaciones de rendimiento en comparación con la integración del sistema de archivos como un módulo de núcleo nativo que se ejecutaba en el espacio del núcleo . [60] A partir de 2016, el proyecto ZFS en FUSE parece estar extinto, ya que el controlador del núcleo ZFS en Linux ha prevalecido sobre el del espacio de usuario.
ZFS nativo en Linux
En marzo de 2013, el Laboratorio Nacional Lawrence Livermore (LLNL) publicó un puerto nativo de ZFS para Linux , [61] [62] después de estos eventos clave: [63]
- 2008: prototipo para determinar viabilidad
- 2009: soporte inicial de ZVOL y Lustre
- 2010: el desarrollo se trasladó a GitHub
- 2011: Se agregó la capa POSIX
- 2011: comunidad de primeros usuarios
- 2012: uso de producción de ZFS
- 2013: versión GA estable
A partir de agosto de 2014 [actualizar], ZFS en Linux utiliza el número de versión 5000 del grupo OpenZFS, lo que indica que las características que admite se definen mediante indicadores de características. Esta versión del grupo es un número invariable que se espera que nunca entre en conflicto con los números de versión proporcionados por Oracle. [64]
Tecnología de información KQ
KQ InfoTech desarrolló otro puerto nativo para Linux en 2010. [65] [66] Este puerto utilizó la implementación 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 el puerto nativo de ZFS para Linux de LLNL. [68]
Distribución del código fuente
Aunque pueden surgir incompatibilidades de licencia con la distribución de binarios compilados que contienen código ZFS, en general 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 Linux Ubuntu anunció que tenía la intención de poner a disposición de los usuarios finales módulos binarios del núcleo OpenZFS precompilados directamente desde los repositorios de paquetes oficiales de la distribución. [73] En 2016, Ubuntu anunció que una revisión legal dio como resultado la conclusión de que proporcionar soporte para ZFS a través de un módulo binario del núcleo no violaba 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 puntos de vista opuestos. [76]
Ubuntu 16.04 LTS (" Xenial Xerus "), lanzado el 21 de abril de 2016, permite al usuario instalar los paquetes binarios OpenZFS directamente desde los repositorios de software de Ubuntu. [21] [77] Hasta 2023 [actualizar], no se ha presentado ningún desafío legal contra Canonical con respecto a la distribución de estos paquetes.
A partir de 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]
Escala TrueNAS
Una versión de TrueNAS de iXsystems , basada en Debian Linux . Al igual que TrueNAS Core (basada en FreeBSD), utiliza OpenZFS para el almacenamiento y añade una variedad de características adicionales. Estas incluyen soporte ampliado para controladores de dispositivos, máquinas virtuales KVM, transferencia PCIe y soporte para contenedores a través de Kubernetes y Docker. Además, permite Docker en clúster y ZFS a través de gluster . Se puede encontrar información sobre la versión actual en la página de estado del software de iXsystems. [80]
Microsoft Windows
En 2010 se intentó un puerto de código abierto de ZFS, pero después de una pausa de más de un año, el desarrollo cesó en 2012. [81] En octubre de 2017, Jörgen Lundman anunció un nuevo puerto de OpenZFS en la Cumbre de desarrolladores de OpenZFS. [82] [83]
También se puede encontrar en GitHub un nuevo puerto de código abierto de ZFS, que se considera una versión BETA. [84]
Historial de versiones
Versiones de piscina y banderas destacadas
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 control de versiones todavía se utiliza con ZFS en Oracle Solaris . [85] [86]
En un modelo de desarrollo más distribuido , tener un único número de versión está lejos de ser ideal, ya que todas las implementaciones de OpenZFS tendrían que estar de acuerdo con todos los cambios en el formato del sistema de archivos en disco. La solución seleccionada por OpenZFS fue introducir indicadores de características como un nuevo sistema de control de versiones 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 entre sí. Un grupo se puede mover y utilizar entre implementaciones de OpenZFS siempre que todos los indicadores de características en uso por el grupo sean compatibles con ambas implementaciones. [8] : 20, 26–27 [87] : 2–3 [88]
En OpenZFS, la versión del pool se establece permanentemente en 5000, lo que significa que el pool indica nuevas funciones configurando o desconfigurando indicadores de funciones de ZFS en lugar de incrementando la versión del pool. [38] Se eligió el número 5000 porque se espera que nunca entre en conflicto con los números de versión proporcionados por Oracle . Todavía existen números de versión heredados para las versiones del pool 1 a 28. [89] [90] [91] Los futuros cambios de formato en disco se habilitan o deshabilitan de forma independiente a través de estos indicadores de funciones.
Todavía existen números de versión heredados para las versiones de pool 1 a 28, y están implícitos en la versión de pool 5000; [92] la propuesta inicial fue usar 1000 como la versión de pool. [87] : 4 Los futuros cambios de formato en disco se habilitan y deshabilitan de forma independiente a través de indicadores de características.
Las características de las banderas se exponen como propiedades de grupo, siguiendo estas reglas de esquema de nombres: [87] : 4
- El formato del nombre de la propiedad es feature@<org-name>:<feature-name>
- <org-name> es el nombre DNS inverso de la organización que desarrolló la función, lo que garantiza nombres de propiedad únicos.
- Los nombres de propiedades se pueden abreviar a feature@<feature-name> cuando permanecen inequívocos.
Por ejemplo, [email protected]:async_destroy es un nombre de propiedad válido y podría abreviarse como feature@async_destroy . [87] : 4
Cada característica del pool puede estar en estado deshabilitado , habilitado o activo . Las características deshabilitadas son aquellas que no se utilizarán y no se realizarán cambios en el formato del disco; como resultado, dichas características son compatibles con versiones anteriores . Las características habilitadas son aquellas que se utilizarán, aún no se han realizado cambios en el formato del disco, pero el software puede realizar los cambios en cualquier momento; dichas características siguen siendo compatibles con versiones anteriores. Las características activas son aquellas que han realizado cambios en el formato del disco incompatibles con versiones anteriores en el pool. [87] : 5
Cuando se habilita cualquier característica del pool, la versión heredada del pool se actualiza automáticamente a 5000 y también se habilitan otras características necesarias. De manera predeterminada, los nuevos pools se crean con todas las características compatibles habilitadas. En general, el estado de una característica se puede cambiar de activo a habilitado , deshaciendo así los cambios de formato en disco realizados y haciendo que el pool sea compatible nuevamente con una implementación anterior de OpenZFS; sin embargo, para algunas características esto podría no ser posible. [87] : 5, 9 [92]
Los cambios de formato en disco pueden estar asociados con funciones de escritura o de lectura . Las primeras son las funciones que una implementación de OpenZFS debe admitir para poder escribir en el pool, mientras que admitir dichas funciones no es obligatorio para abrir el pool en modo de solo lectura. Las últimas son las funciones que una implementación de OpenZFS debe admitir para poder leer desde el pool o simplemente abrirlo, porque abrir un pool no es posible sin leer realmente desde él. [87] : 7
Por ejemplo, la función async_destroy agrega una nueva estructura de datos en el disco para realizar un seguimiento de los conjuntos de datos liberados, pero una implementación de OpenZFS no necesita saber acerca de esta estructura de datos para acceder al grupo en modo de solo lectura. Además, escribir en un grupo que tiene algunas características en estado activo no es posible con una implementación de OpenZFS que no admita las mismas características. [87] : 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 [93] (aquí el antiguo sitio web Open-ZFS.org [94] )
OpenZFS 2.0
Históricamente, OpenZFS se ha implementado como código ZFS central, y cada equipo de sistema operativo lo ha adaptado para que encaje en sus proyectos. Esto ha provocado en algunos casos un estancamiento de las características y divergencias de las características y líneas de comandos, ya que los diferentes sistemas operativos han desarrollado características y correcciones de errores divergentes, a menudo para una única plataforma en lugar de para todas las plataformas. Con el tiempo, el desarrollo de nuevas características pasó de Illumos a Linux . [95] Estas nuevas características y correcciones tuvieron que ser trasladadas a Illumos antes de que pudieran ser reportadas nuevamente para FreeBSD . [95] Pero esto era difícil porque la versión Linux también incluía muchos cambios menores, que eran difíciles de desentrañar. [95]
En 2018, se acordó que el desarrollo de OpenZFS se revisaría para remediar estos problemas. [95] En lugar de intentar importar todos los cambios de Linux a otras plataformas poco a poco, todo el código ZFS de Linux se "pivotaría" como un todo, y las otras plataformas se basarían en la versión de Linux desarrollada de manera más activa. [95] También se implementaría o trasladaría a todas las plataformas una amplia gama de características portadas y nuevas, incluidas muchas mejoras deseadas desde hace mucho tiempo, y los cambios futuros se discutirían en todas las plataformas antes de implementarse. [95] Los planes incluían capas de portabilidad adecuadas para evitar que el código shim de Linux, GPL o Linux-KPI se introdujera en otros núcleos de plataforma . [95]
Las características en progreso o portadas para OpenZFS 2.0 son extensas e incluyen:
- Implementación más rápida de mejoras y nuevas funciones en todas las plataformas [95]
- Estandarización de la línea de comandos [95]
- Portabilidad de grupos mejorada (los grupos ZFS creados en un sistema pueden ser utilizados igualmente por otro) [96]
- Paridad de funciones multiplataforma más amplia e independencia de la plataforma [96]
- Se aceptan montajes de superposición (unión) de forma predeterminada [96]
- Corrección de errores y mejoras [96]
- ZTS y otras características que funcionan en FreeBSD [96]
- Mejoras en el modo TRIM y ACL [96] [95]
- ZFS contiene (de FreeBSD) [96]
- ACL NFSv4 nativas mejoradas (FreeBSD) [96]
- Rendimiento mejorado de AES-GCM para grupos cifrados [96]
- Envío/recepción redactado [96]
- Mapa espacial de registros y otras mejoras en la gestión de metaslabs: un proyecto para volver a implementar la gestión de espacio libre y "metaslabs" de ZFS para lograr una eficiencia mucho mayor [96]
- Eliminación rápida de clones [96]
- La compresión de datos Zstd como una nueva opción [96]
- Herencia de propiedades del programa de canal [96]
- RAID-Z de AltiVec [96]
- Soporte y copia de marcadores [96]
- Soporte de E/S directa [96]
- L2ARC persistente (L2ARC retenido después de reinicios) [96]
- Fregado y replateado secuencial (de alta velocidad) [95]
- Pausa/reanudación de fregado [95]
- Reinicio de Resilver [95]
- Eliminación del dispositivo (VDEV) [95]
- Inicialización y punto de control de Zpool [95]
- Programas del canal [95]
- Gran Dnode [95]
- Clases de asignación (que permiten designar almacenamiento específico de alta velocidad para metadatos y tablas de deduplicación) [95]
- Montaje de piscinas en paralelo [95]
- Propiedades por vdev [95]
- Las mejoras en la deduplicación (dedup-log, deduplicación de alta velocidad), los límites de tamaño de la tabla de deduplicación y la precarga de la tabla de deduplicación (carga completa de una sola vez en lugar de hacerlo de forma fragmentada según sea necesario), que se enumeraron como "agradables de tener" en 2018, se declararon en abril de 2020 como "muy buenas" o prácticamente completas [97].
Véase también
Referencias
- ^ "zfs-2.2.6". 4 de septiembre de 2024. Consultado el 4 de septiembre de 2024 .
- ^ ab Lanzamientos · openzfs/zfs en GitHub
- ^ "OpenZFS – Comunidades que cooperan en código y características de ZFS". freebsdnews.net . 23 de septiembre de 2013. Archivado desde el original el 14 de octubre de 2013 . Consultado el 14 de marzo de 2014 .
- ^ "FreeNAS y TrueNAS se unifican". 5 de marzo de 2020. Archivado desde el original el 4 de junio de 2020. Consultado el 7 de junio de 2020 .
- ^ "OpenZFS 2.0 · openzfs/ZFS". GitHub . Archivado desde el original el 17 de abril de 2020 . Consultado el 7 de junio de 2020 .
- ^ abc «Historial de OpenZFS». open-zfs.org . Archivado desde el original el 24 de diciembre de 2013. Consultado el 24 de septiembre de 2013 .
- ^ ab Koutoupis, Petros (1 de junio de 2016). "ZFS: ¿Buscando un Linux cerca de ti?". Linux Journal . Archivado desde el original el 27 de junio de 2016. Consultado el 4 de julio de 2016 .
- ^ ab 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. Consultado el 13 de noviembre de 2013 .
- ^ Cantrill, Bryan (8 de diciembre de 2011). "Fork Yeah! The Rise and Development of illumos". SlideShare . Archivado desde el original el 27 de septiembre de 2013. Consultado el 24 de septiembre de 2013 .
- ^ "Preguntas frecuentes sobre illumos". illumos.org . Archivado desde el original el 24 de diciembre de 2013. Consultado el 24 de septiembre de 2013 .
- ^ "MacZFS: Sitio oficial de ZFS gratuito para Mac OS". code.google.com . Archivado desde el original el 11 de febrero de 2014. Consultado el 2 de marzo de 2014 .
- ^ "OpenZFS en OS X". openzfsonosx.org . 15 de noviembre de 2014. Archivado desde el original el 29 de noviembre de 2014 . Consultado el 23 de noviembre de 2014 .
- ^ Corbet, Jonathan (29 de marzo de 2013). «ZFS en Linux 0.6.1». LWN.net . Archivado desde el original el 30 de julio de 2016. Consultado el 4 de julio de 2016 .
- ^ "Se lanza el proyecto OpenZFS". LWN.net . 17 de septiembre de 2013. Archivado desde el original el 11 de octubre de 2016 . Consultado el 1 de octubre de 2013 .
- ^ "Anuncio de OpenZFS". open-zfs.org . 17 de septiembre de 2013. Archivado desde el original el 2 de abril de 2018 . Consultado el 19 de septiembre de 2013 .
- ^ "Lanzamiento de OpenZFS 2.0.0 · openzfs/zfs". GitHub . Consultado el 11 de marzo de 2024 .
- ^ Moglen, Eben; Choudharyl, Mishi (26 de febrero de 2016). "El núcleo de Linux, CDDL y cuestiones relacionadas". softwarefreedom.org . Archivado desde el original el 1 de abril de 2016. Consultado el 30 de marzo de 2016 .
- ^ 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 desde el original el 3 de abril de 2016. Consultado el 30 de marzo de 2016 .
- ^ Bottomley, James (23 de febrero de 2016). «¿Son incompatibles la GPLv2 y la CDDL?». hansenpartnership.com . Archivado desde el original el 1 de marzo de 2016. Consultado el 3 de julio de 2016 .
- ^ Paul, Ryan (9 de junio de 2010). "La adopción del puerto ZFS nativo de Linux se vio obstaculizada por un conflicto de licencias". Ars Technica . Archivado desde el original el 14 de julio de 2014 . Consultado el 1 de julio de 2014 .
- ^ ab Sharwood, Simon (21 de abril de 2016). «Ubuntu 16.04 LTS llega hoy con ZFS prohibido». The Register . Archivado desde el original el 8 de julio de 2016. Consultado el 3 de julio de 2016 .
- ^ Larabel, Michael (6 de octubre de 2015). «Ubuntu está planeando convertir el sistema de archivos ZFS en una oferta «estándar»». Phoronix . Archivado desde el original el 30 de junio de 2016. Consultado el 3 de julio de 2016 .
- ^ "Apple: Leopard ofrece un sistema ZFS de sólo lectura limitado". MacNN . 12 de junio de 2007. Archivado desde el original el 19 de junio de 2007 . Consultado el 23 de junio de 2007 .
- ^ "Apple presenta ZFS Read/Write Developer Preview 1.1 para Leopard". Ars Technica . 7 de octubre de 2007. Archivado desde el original el 10 de octubre de 2007 . Consultado el 7 de octubre de 2007 .
- ^ Kristo, Ché (18 de noviembre de 2007). «ZFS Beta Seed v1.1 no se instalará en Leopard.1 (10.5.1) «Las ideas son gratis». Archivado desde el original el 24 de diciembre de 2007. Consultado el 30 de diciembre de 2007 .
- ^ "ZFS". 2 de noviembre de 2009. Archivado desde el original el 2 de noviembre de 2009. Consultado el 19 de septiembre de 2024 .
- ^ http://alblue.blogspot.com/2008/11/zfs-119-on-mac-os-x.html Archivado el 20 de febrero de 2012 en Wayback Machine |título=Alblue.blogspot.com
- ^ "Snow Leopard (caché de archive.org)". 21 de julio de 2008. Archivado desde el original el 21 de julio de 2008.
- ^ "Leopardo de las Nieves". 9 de junio de 2009. Archivado desde el original el 21 de julio de 2008. Consultado el 10 de junio de 2008 .
- ^ "zfs-macos | Grupos de Google". Archivado desde el original el 8 de noviembre de 2012 . Consultado el 4 de noviembre de 2011 .
- ^ "maczfs – Sitio oficial de ZFS gratuito para Mac OS – Alojamiento de proyectos de Google". Archivado desde el original el 29 de julio de 2016 . Consultado el 30 de julio de 2012 .
- ^ Sallings, Dustin (31 de mayo de 2024), Dustin/mac-zfs , consultado el 19 de septiembre de 2024
- ^ Página de preguntas frecuentes Archivado el 19 de marzo de 2015 en Wayback Machine en code.google.com/p/maczfs
- ^ "Archivo de código de Google: almacenamiento a largo plazo para el alojamiento de proyectos de código de Google". code.google.com . Consultado el 19 de septiembre de 2024 .
- ^ "Notas de la versión de oi_151a_prestable5". Archivado desde el original el 17 de mayo de 2016 . Consultado el 23 de mayo de 2016 .
- ^ "Actualización desde OpenSolaris". Archivado desde el original el 26 de septiembre de 2011 . Consultado el 24 de septiembre de 2011 .
- ^ "OpenZFS en OS X". openzfsonosx.org . 29 de septiembre de 2014. Archivado desde el original el 29 de noviembre de 2014 . Consultado el 23 de noviembre de 2014 .
- ^ ab «Características – OpenZFS – Indicadores de características». OpenZFS. Archivado desde el original el 22 de septiembre de 2013. Consultado el 22 de septiembre de 2013 .
- ^ "MacZFS: Sitio oficial de ZFS gratuito para Mac OS". code.google.com . MacZFS . Archivado desde el original el 19 de marzo de 2015 . Consultado el 2 de marzo de 2014 .
- ^ "Sitio Wiki de ZEVO/Versiones de ZFS Pool y del sistema de archivos". GreenBytes, Inc. 15 de septiembre de 2012. Archivado desde el original el 10 de agosto de 2014. Consultado el 22 de septiembre de 2013 .
- ^ "Rama zfs-port de Github". GitHub . 23 de septiembre de 2014. Archivado desde el original el 9 de enero de 2016 . Consultado el 5 de octubre de 2014 .
- ^ "Proyectos de Google Summer of Code para NetBSD: ZFS". Archivado desde el original el 11 de octubre de 2007. Consultado el 5 de septiembre de 2007 .
- ^ Dawidek, Paweł (6 de abril de 2007). «ZFS se compromete con la base de FreeBSD». Archivado desde el original el 22 de junio de 2012. Consultado el 6 de abril de 2007 .
- ^ "Revisión 192498". 20 de mayo de 2009. Consultado el 22 de mayo de 2009 .
- ^ "ZFS v13 en 7-STABLE". 21 de mayo de 2009. Archivado desde el original el 27 de mayo de 2009. Consultado el 22 de mayo de 2009 .
- ^ "Objetivo iSCSI para FreeBSD". Archivado desde el original el 14 de julio de 2011 . Consultado el 6 de agosto de 2011 .
- ^ "Notas de la versión de FreeBSD 13.0-RELEASE". FreeBSD . El proyecto FreeBSD . Consultado el 10 de julio de 2021 .
- ^ Macy, Matt (25 de agosto de 2020). "commit 9e5787d2284e187abb5b654d924394a65772e004 Merge OpenZFS support in to HEAD". src - Árbol de fuentes de FreeBSD . Consultado el 10 de julio de 2021 .
- ^ "Descontinuación de TrueOS". trueos.com . 19 de agosto de 2020. Archivado desde el original el 24 de enero de 2021 . Consultado el 9 de abril de 2021 .
- ^ "¡Se lanzó TrueNAS 12.0!". 21 de octubre de 2020. Consultado el 9 de abril de 2021 .
- ^ "NAS4Free: Características". Archivado desde el original el 6 de febrero de 2015 . Consultado el 13 de enero de 2015 .
- ^ "Preguntas frecuentes sobre Debian GNU/kFreeBSD". ¿Existe soporte para ZFS? Archivado desde el original el 27 de septiembre de 2013 . Consultado el 24 de septiembre de 2013 .
- ^ "Preguntas frecuentes sobre Debian GNU/kFreeBSD". ¿Puedo usar ZFS como sistema de archivos raíz o /boot? Archivado desde el original el 18 de enero de 2019 . Consultado el 24 de septiembre de 2013 .
- ^ "Preguntas frecuentes sobre Debian GNU/kFreeBSD". ¿Qué comandos de grub son necesarios para arrancar Debian/kFreeBSD desde una raíz zfs? Archivado desde el original el 18 de enero de 2019 . Consultado el 24 de septiembre de 2013 .
- ^ Larabel, Michael (10 de septiembre de 2010). «Debian GNU/kFreeBSD se vuelve más interesante». Phoronix . Archivado desde el original el 29 de noviembre de 2016. Consultado el 24 de septiembre de 2013 .
- ^ Moglen, Eben; Choudharyl, Mishi (26 de febrero de 2016). "El núcleo de Linux, CDDL y cuestiones relacionadas". softwarefreedom.org . Archivado desde el original el 1 de abril de 2016. Consultado el 30 de marzo de 2016 .
- ^ 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 desde el original el 3 de abril de 2016. Consultado el 30 de marzo de 2016 .
- ^ "Linus sobre GPLv3 y ZFS". Lwn.net. 12 de junio de 2007. Archivado desde el original el 23 de julio de 2011. Consultado el 4 de noviembre de 2011 .
- ^ Paul, Ryan (9 de junio de 2010). "La adopción de un puerto ZFS nativo de Linux se ha visto obstaculizada por un conflicto de licencias". Ars Technica. Archivado desde el original el 14 de julio de 2014. Consultado el 1 de julio de 2014 .
- ^ Rajgarhia, Aditya y Gehani, Ashish (23 de noviembre de 2012). "Rendimiento y extensión de los sistemas de archivos de espacio de usuario" (PDF) . Archivado (PDF) desde el original el 7 de septiembre de 2014. Consultado el 23 de noviembre de 2012 .
- ^ Behlendorf, Brian (28 de mayo de 2013). «spl/zfs-0.6.1 released» (publicado spl/zfs-0.6.1). Lista de correo zfs-announce . Archivado desde el original el 8 de junio de 2013. Consultado el 9 de octubre de 2013 .
- ^ "ZFS en Linux". Archivado desde el original el 22 de mayo de 2019. Consultado el 29 de agosto de 2013 .
- ^ 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 . Consultado el 13 de noviembre de 2013 .
- ^ "ZFS en Linux". zfsonlinux.org . Archivado desde el original el 22 de mayo de 2019 . Consultado el 13 de agosto de 2014 .
- ^ Darshin (24 de agosto de 2010). «ZFS Port to Linux (all versions)». Archivado desde el original el 11 de marzo de 2012. Consultado el 31 de agosto de 2010 .
- ^ "¿Dónde puedo obtener el código fuente de ZFS para Linux?". Archivado desde el original el 8 de octubre de 2011. Consultado el 29 de agosto de 2013 .
- ^ Phoronix (22 de noviembre de 2010). «Running The Native ZFS Linux Kernel Module, Plus Benchmarks». Archivado desde el original el 11 de diciembre de 2010. Consultado el 7 de diciembre de 2010 .
- ^ ab "Ya no se trabaja activamente en KQ ZFS Linux". 10 de junio de 2011. Archivado desde el original el 29 de noviembre de 2016. Consultado el 14 de septiembre de 2016 .
- ^ "zfs-linux/zfs". GitHub . Archivado desde el original el 16 de mayo de 2011. Consultado el 15 de septiembre de 2011 .
- ^ "ZFS – Documentación de Gentoo". gentoo.org . Archivado desde el original el 3 de octubre de 2013. Consultado el 9 de octubre de 2013 .
- ^ "ZFS root". Raíz ZFS de Slackware . SlackWiki.com. Archivado desde el original el 14 de agosto de 2014. Consultado el 13 de agosto de 2014 .
- ^ "ZFS root (builtin)". Slackware ZFS root (builtin) . SlackWiki.com. Archivado desde el original el 14 de agosto de 2014 . Consultado el 13 de agosto de 2014 .
- ^ Michael Larabel (6 de octubre de 2015). «Ubuntu planea convertir el sistema de archivos ZFS en una oferta «estándar»». Phoronix . Archivado desde el original el 30 de junio de 2016. Consultado el 30 de junio de 2016 .
- ^ Dustin Kirkland (18 de febrero de 2016). «Licencias ZFS y Linux». Ubuntu Insights . Canonical. Archivado desde el original el 29 de julio de 2016. Consultado el 30 de junio de 2016 .
- ^ Moglen, Eben ; Choudhary, Mishi (26 de febrero de 2016). "El núcleo de Linux, CDDL y cuestiones relacionadas". Archivado desde el original el 14 de julio de 2016 . Consultado el 30 de junio de 2016 .
- ^ "Violaciones de la GPL relacionadas con la combinación de ZFS y Linux". Software Freedom Conservancy . Consultado el 19 de septiembre de 2024 .
- ^ Larabel, Michael. "Prueba de manejo de ZFS en Ubuntu 16.04 LTS". phoronix . Phoronix Media. Archivado desde el original el 19 de septiembre de 2016 . Consultado el 25 de abril de 2016 .
- ^ "Compatibilidad con ZFS en Ubuntu 19.10: Introducción". 6 de agosto de 2019. Archivado desde el original el 23 de octubre de 2019 . Consultado el 23 de octubre de 2019 .
- ^ Salter, Jim (10 de octubre de 2019). «Una mirada detallada al nuevo instalador experimental ZFS de Ubuntu». Ars Technica . Archivado desde el original el 31 de diciembre de 2019. Consultado el 14 de enero de 2020 .
- ^ "Estado del software". www.truenas.com . 8 de agosto de 2022 . Consultado el 7 de enero de 2024 .
- ^ "zfs-win". Búsqueda de Google . Archivo de código de Google. Archivado desde el original el 30 de diciembre de 2016 . Consultado el 11 de diciembre de 2017 .
- ^ "Sistema de archivos ZFS abierto que se ejecuta en Windows". Phoronix . Archivado desde el original el 11 de diciembre de 2017 . Consultado el 11 de diciembre de 2017 .
- ^ "OpenZFS en Windows". GitHub . Archivado desde el original el 20 de noviembre de 2017 . Consultado el 11 de diciembre de 2017 .
- ^ openzfsonwindows/openzfs, openzfsonwindows, 13 de octubre de 2024 , consultado el 15 de octubre de 2024
- ^ "Guía de administración de Solaris ZFS, Apéndice A Descripciones de versiones de ZFS". Oracle Corporation . 2010. Archivado desde el original el 6 de abril de 2011 . Consultado el 11 de febrero de 2011 .
- ^ "Descripciones de versiones de Oracle Solaris ZFS". Oracle Corporation . Archivado desde el original el 7 de octubre de 2013. Consultado el 23 de septiembre de 2013 .
- ^ abcdefgh Siden, Christopher (11 de enero de 2012). «ZFS Feature Flags (Illumos Meetup)» (PDF) . delphix.com . Archivado desde el original (PDF) el 3 de abril de 2013 . Consultado el 4 de julio de 2016 .
- ^ "Características de OpenZFS: indicadores de características". open-zfs.org . Archivado desde el original el 22 de septiembre de 2013 . Consultado el 23 de septiembre de 2013 .
- ^ Siden, Christopher (enero de 2012). «ZFS Feature Flags» (PDF) . Illumos Meetup. Delphix. pág. 4. Archivado desde el original (PDF) el 3 de abril de 2013. Consultado el 22 de septiembre de 2013 .
- ^ "/usr/src/uts/common/sys/fs/zfs.h (línea 338)". illumos (GitHub). Archivado desde el original el 11 de febrero de 2016 . Consultado el 16 de noviembre de 2013 .
- ^ "/usr/src/uts/common/fs/zfs/zfeature.c (línea 89)". illumos (GitHub). Archivado desde el original el 11 de febrero de 2016 . Consultado el 16 de noviembre de 2013 .
- ^ ab "Preguntas frecuentes sobre OpenZFS: ¿Los grupos de almacenamiento creados por OpenZFS son portables entre sistemas operativos?". open-zfs.org . 26 de septiembre de 2013. Archivado desde el original el 3 de enero de 2016 . Consultado el 30 de octubre de 2015 .
- ^ "Indicadores de características: documentación de OpenZFS". openzfs.github.io . Consultado el 4 de enero de 2024 .
- ^ "Indicadores de características – OpenZFS". open-zfs.org . Archivado desde el original el 29 de agosto de 2017 . Consultado el 28 de agosto de 2017 .
- ^ abcdefghijklmnopqrst «Copia archivada» (PDF) . Archivado (PDF) del original el 6 de agosto de 2020. Consultado el 7 de junio de 2020 .
{{cite web}}
: CS1 maint: copia archivada como título ( enlace ) - ^ abcdefghijklmnopqr «OpenZFS 2.0 · openzfs/ZFS». GitHub . Archivado desde el original el 17 de abril de 2020 . Consultado el 7 de junio de 2020 .
- ^ "Equipo de liderazgo de OpenZFS: agenda y notas de la reunión". Archivado desde el original el 7 de junio de 2020 . Consultado el 7 de junio de 2020 .
Enlaces externos
Wikimedia Commons tiene medios relacionados con OpenZFS .
- El proyecto OpenZFS: sitio web y lista de distribuciones de OpenZFS
- FreeBSD: página web wiki de GitHub
- illumos: Página web de GitHub
- Linux: Página web de GitHub
- macOS: Página web GitHub Google
- Windows: Página web de GitHub
- Horario de atención de OpenZFS en YouTube , 11 de octubre de 2013, por Matt Ahrens
- Eliminación de dispositivos OpenZFS Archivado el 12 de mayo de 2015 en Wayback Machine , 15 de enero de 2015, por Alex Reece