ZFS (anteriormente Zettabyte File System, ahora un acrónimo huérfano ) es un sistema de archivos con capacidades de gestión de volúmenes . Comenzó como parte del sistema operativo Solaris de Sun Microsystems en 2001. Gran parte de Solaris, incluyendo ZFS, se publicó bajo una licencia de código abierto como OpenSolaris en 2005. Entre 2005 y 2010, la versión de código abierto de ZFS se adaptó a Linux , macOS y FreeBSD . Después de que Oracle Corporation adquiriera Sun entre 2009 y 2010, cancelaron el proyecto OpenSolaris y dejaron de publicar el código fuente. En respuesta, el proyecto illumos bifurcó OpenSolaris, incluyendo ZFS, para continuar su desarrollo como un proyecto de código abierto. En 2013, se fundó OpenZFS para coordinar el desarrollo de ZFS de código abierto. [ 3 ] [ 4 ] [ 5 ] OpenZFS mantiene y gestiona el código central de ZFS, mientras que las organizaciones que utilizan ZFS mantienen el código específico y los procesos de validación necesarios para que ZFS se integre en sus sistemas. OpenZFS se utiliza ampliamente en sistemas tipo Unix . [ 6 ] [ 7 ] [ 8 ]
Descripción general
La gestión de datos almacenados generalmente implica dos aspectos: la gestión del volumen físico de uno o más dispositivos de almacenamiento en bloques (como discos duros y tarjetas SD ), incluida su organización en dispositivos de bloques lógicos como VDEV (ZFS Virtual Device) [ 9 ] tal como los ve el sistema operativo (a menudo involucrando un administrador de volúmenes , un controlador RAID , un administrador de matrices o un controlador de dispositivo adecuado ); y la gestión de los datos y archivos que se almacenan en estos dispositivos de bloques lógicos (un sistema de archivos u otro almacenamiento de datos).
- Ejemplo: Una matriz RAID compuesta por dos discos duros y una unidad SSD de caché está controlada por el sistema RST de Intel , que forma parte del chipset y el firmware integrados en un ordenador de sobremesa. El usuario de Windows la percibe como un único volumen que contiene una unidad formateada en NTFS con sus datos, y NTFS no necesariamente tiene conocimiento de las manipulaciones que puedan ser necesarias (como leer o escribir en la unidad de caché o reconstruir la matriz RAID si falla un disco). La gestión de los dispositivos individuales y su presentación como un único dispositivo es independiente de la gestión de los archivos almacenados en dicho dispositivo.
ZFS es inusual porque, a diferencia de la mayoría de los demás sistemas de almacenamiento, unifica ambas funciones y actúa como gestor de volúmenes y sistema de archivos . Por lo tanto, tiene un conocimiento completo tanto de los discos físicos como de los volúmenes (incluido su estado, condición y organización lógica en volúmenes), así como de todos los archivos almacenados en ellos. ZFS está diseñado para garantizar (con suficiente redundancia de datos ) que los datos almacenados en los discos no se pierdan debido a errores físicos, procesamiento incorrecto por parte del hardware o del sistema operativo , o eventos de degradación de bits y corrupción de datos que puedan ocurrir con el tiempo. Su control total del sistema de almacenamiento se utiliza para garantizar que cada paso, ya sea relacionado con la gestión de archivos o de discos , se verifique, confirme, corrija si es necesario y optimice, de una manera que las tarjetas controladoras de almacenamiento y los sistemas de archivos y volúmenes independientes no pueden lograr.
ZFS también incluye un mecanismo para instantáneas y replicación a nivel de conjunto de datos y grupo , incluyendo la clonación de instantáneas, que la documentación de FreeBSD describe como una de sus "características más potentes" con una funcionalidad que "incluso otros sistemas de archivos con funcionalidad de instantáneas no poseen". [ 10 ] Se pueden tomar un gran número de instantáneas sin degradar el rendimiento, lo que permite utilizarlas antes de operaciones de sistema y cambios de software riesgosos, o realizar instantáneas completas de todo un sistema de archivos de producción ("en vivo") varias veces por hora para mitigar la pérdida de datos debido a errores del usuario o actividad maliciosa. Las instantáneas se pueden revertir "en vivo" o se pueden ver estados anteriores del sistema de archivos, incluso en sistemas de archivos muy grandes, lo que genera ahorros en comparación con los procesos formales de copia de seguridad y restauración. [ 10 ] Las instantáneas también se pueden clonar para formar nuevos sistemas de archivos independientes. ZFS también tiene la capacidad de tomar una instantánea a nivel de grupo (conocida como "punto de control"), que permite revertir operaciones que pueden afectar a toda la estructura del grupo o que añaden o eliminan conjuntos de datos completos.
Historia
2004–2010: Desarrollo en Sun Microsystems
En 1987, AT&T Corporation y Sun anunciaron que estaban colaborando en un proyecto para fusionar las variantes de Unix más populares del mercado en ese momento: Berkeley Software Distribution , UNIX System V y Xenix . Esto se convirtió en Unix System V Release 4 (SVR4). [ 11 ] El proyecto se lanzó bajo el nombre de Solaris , que se convirtió en el sucesor de SunOS 4 (aunque las microversiones de SunOS 4.1.x se denominaron retroactivamente Solaris 1 ). [ 12 ]
ZFS fue diseñado e implementado por un equipo de Sun liderado por Jeff Bonwick , Bill Moore, [ 13 ] y Matthew Ahrens. Fue anunciado el 14 de septiembre de 2004, [ 14 ] pero el desarrollo comenzó en 2001. [ 15 ] El código fuente de ZFS se integró en la rama principal del desarrollo de Solaris el 31 de octubre de 2005 [ 16 ] y se lanzó para desarrolladores como parte de la compilación 27 de OpenSolaris el 16 de noviembre de 2005. En junio de 2006, Sun anunció que ZFS se incluyó en la actualización principal 6/06 de Solaris 10. [ 17 ]
Solaris se desarrolló originalmente como software propietario , pero Sun Microsystems fue uno de los primeros defensores comerciales del software de código abierto y en junio de 2005 lanzó la mayor parte del código fuente de Solaris bajo la licencia CDDL y fundó el proyecto de código abierto OpenSolaris . [ 18 ] En Solaris 10 6/06 ("U2"), Sun agregó el sistema de archivos ZFS y lo actualizó frecuentemente con nuevas características durante los siguientes 5 años. ZFS se portó a Linux , Mac OS X (continuó como MacZFS ) y FreeBSD , bajo esta licencia de código abierto.
En un momento dado, se dijo que el nombre significaba "Sistema de Archivos Zettabyte" [ 19 ] , pero para 2006, el nombre ya no se consideraba una abreviatura [ 20 ] . Un sistema de archivos ZFS puede almacenar hasta 256 cuatrillones de zettabytes (ZB).
En septiembre de 2007, NetApp demandó a Sun, alegando que ZFS infringía algunas de sus patentes sobre Write Anywhere File Layout . Sun presentó una contrademanda en octubre del mismo año, alegando lo contrario. Los litigios concluyeron en 2010 con un acuerdo cuyos términos no se hicieron públicos. [ 21 ]
Desde 2010: Desarrollo en Oracle, OpenZFS
Las versiones adaptadas de ZFS comenzaron a aparecer en 2005. Tras la adquisición de Sun por parte de Oracle en 2010, la versión de ZFS de Oracle se convirtió en código cerrado, y el desarrollo de versiones de código abierto prosiguió de forma independiente, coordinado por OpenZFS a partir de 2013.
Características
Resumen
Algunos ejemplos de características específicas de ZFS son:
- Diseñado para el almacenamiento de datos a largo plazo, con tamaños de almacenamiento de datos escalables indefinidamente sin pérdida de datos y con alta capacidad de configuración.
- La verificación jerárquica de sumas de comprobación de todos los datos y metadatos garantiza que todo el sistema de almacenamiento pueda verificarse durante su uso y confirmarse que se ha almacenado correctamente, o bien, corregirse si está dañado. Las sumas de comprobación se almacenan con el bloque padre de un bloque , en lugar de con el bloque en sí. Esto contrasta con muchos sistemas de archivos donde las sumas de comprobación (si existen) se almacenan con los datos, de modo que si los datos se pierden o se corrompen, es probable que la suma de comprobación también se pierda o sea incorrecta.
- Permite almacenar un número determinado de copias de datos o metadatos, o de tipos de datos seleccionados, para mejorar la capacidad de recuperación ante la corrupción de datos en archivos y estructuras importantes.
- En determinadas circunstancias, en caso de error o inconsistencia, se realizará automáticamente la reversión de los cambios recientes en el sistema de archivos y los datos.
- Recuperación automática y (generalmente) silenciosa de inconsistencias de datos y fallos de escritura cuando se detectan, para todos los errores en los que los datos son reconstruibles. Los datos se pueden reconstruir utilizando lo siguiente: sumas de comprobación de detección y corrección de errores almacenadas en el bloque padre de cada bloque; múltiples copias de datos (incluidas las sumas de comprobación) almacenadas en el disco; intenciones de escritura registradas en el SLOG (ZIL) para escrituras que deberían haberse producido pero no se produjeron (después de un fallo de alimentación); datos de paridad de discos y volúmenes RAID/RAID-Z; copias de datos de discos y volúmenes duplicados.
- Manejo nativo de niveles RAID estándar y diseños RAID ZFS adicionales (" RAID-Z "). Los niveles RAID-Z distribuyen los datos solo en los discos necesarios, para mayor eficiencia (muchos sistemas RAID distribuyen indiscriminadamente en todos los dispositivos), y la suma de comprobación permite minimizar la reconstrucción de datos inconsistentes o corruptos a aquellos bloques con defectos;
- Manejo nativo de dispositivos de almacenamiento y caché por niveles, que generalmente es una tarea relacionada con el volumen. Debido a que ZFS también entiende el sistema de archivos, puede usar el conocimiento relacionado con los archivos para informar, integrar y optimizar su manejo de almacenamiento por niveles, algo que un dispositivo separado no puede hacer;
- Gestión nativa de instantáneas y copias de seguridad/ replicación , que puede optimizarse mediante la integración de la gestión de volúmenes y archivos. Las herramientas pertinentes se proporcionan a bajo nivel y requieren scripts y software externos para su uso.
- Compresión y deduplicación de datos nativas , aunque esta última se gestiona en gran medida en la RAM y consume mucha memoria.
- Reconstrucción eficiente de matrices RAID: un controlador RAID a menudo tiene que reconstruir un disco completo, pero ZFS puede combinar el conocimiento del disco y de los archivos para limitar cualquier reconstrucción a los datos que realmente faltan o están dañados, lo que acelera enormemente la reconstrucción;
- No se ve afectado por los cambios de hardware RAID que afectan a muchos otros sistemas. En muchos sistemas, si falla un hardware RAID autónomo, como una tarjeta RAID, o si los datos se transfieren a otro sistema RAID, el sistema de archivos perderá la información que contenía el hardware RAID original, necesaria para gestionar los datos en la matriz RAID. Esto puede provocar la pérdida total de datos, a menos que se pueda adquirir hardware casi idéntico y utilizarlo como punto de partida. Dado que ZFS gestiona RAID por sí mismo, se puede migrar un pool ZFS a otro hardware o reinstalar el sistema operativo, y las estructuras y los datos RAID-Z serán reconocidos y accesibles de inmediato por ZFS.
- Capacidad para identificar datos que se habrían encontrado en la caché pero que se han descartado recientemente; esto permite a ZFS reevaluar sus decisiones de almacenamiento en caché en función de su uso posterior y facilita niveles muy altos de aciertos de caché (las tasas de aciertos de caché de ZFS suelen superar el 80%);
- Se pueden utilizar estrategias de almacenamiento en caché alternativas para datos que, de otro modo, provocarían retrasos en su procesamiento. Por ejemplo, las escrituras síncronas, que pueden ralentizar el sistema de almacenamiento, se pueden convertir en escrituras asíncronas al escribirlas en un dispositivo de almacenamiento en caché independiente y rápido, conocido como SLOG (a veces llamado ZIL: Registro de intenciones de ZFS).
- Altamente configurable: muchos parámetros internos pueden ajustarse para lograr un funcionamiento óptimo.
- Puede utilizarse para clústeres y computación de alta disponibilidad , aunque no está totalmente diseñado para este uso.
Integridad de los datos
Una característica importante que distingue a ZFS de otros sistemas de archivos es que está diseñado con un enfoque en la integridad de los datos, protegiendo los datos del usuario en el disco contra la corrupción silenciosa de datos causada por la degradación de datos , sobretensiones ( picos de voltaje ), errores en el firmware del disco , escrituras fantasma (la escritura anterior no llegó al disco), lecturas/escrituras mal dirigidas (el disco accede al bloque incorrecto), errores de paridad DMA entre la matriz y la memoria del servidor o del controlador (ya que la suma de verificación valida los datos dentro de la matriz), errores del controlador (los datos terminan en el búfer incorrecto dentro del kernel), sobrescrituras accidentales (como el intercambio a un sistema de archivos en vivo), etc.
Un estudio de 1999 mostró que ninguno de los sistemas de archivos principales y extendidos de entonces (como UFS , Ext , [ 22 ] XFS , JFS o NTFS ), ni el RAID de hardware (que tiene algunos problemas con la integridad de los datos ) proporcionaban protección suficiente contra problemas de corrupción de datos. [ 23 ] [ 24 ] [ 25 ] [ 26 ] Las investigaciones iniciales indican que ZFS protege los datos mejor que los esfuerzos anteriores. [ 27 ] [ 28 ] También es más rápido que UFS [ 29 ] [ 30 ] y puede considerarse como su reemplazo.
En ZFS, la integridad de los datos se logra mediante el uso de una suma de verificación basada en Fletcher o un hash SHA-256 en todo el árbol del sistema de archivos. [ 31 ] Cada bloque de datos se verifica mediante una suma de verificación y el valor de la suma de verificación se guarda en el puntero a ese bloque, en lugar de en el bloque mismo. A continuación, se verifica el puntero del bloque, y el valor se guarda en su puntero. Esta verificación de suma de verificación continúa a lo largo de toda la jerarquía de datos del sistema de archivos hasta el nodo raíz, que también se verifica mediante una suma de verificación, creando así un árbol Merkle . [ 31 ] La corrupción de datos en tránsito o las lecturas/escrituras fantasma (los datos escritos/leídos tienen una suma de verificación correcta, pero en realidad son incorrectos) son indetectables para la mayoría de los sistemas de archivos, ya que almacenan la suma de verificación con los datos. ZFS almacena la suma de verificación de cada bloque en el puntero de su bloque padre para que todo el pool se autovalide. [ 31 ]
Cuando se accede a un bloque, independientemente de si se trata de datos o metadatos, se calcula su suma de verificación y se compara con el valor de suma de verificación almacenado de lo que "debería" ser. Si las sumas de verificación coinciden, los datos se pasan a través de la pila de programación al proceso que los solicitó; si los valores no coinciden, ZFS puede reparar los datos si el grupo de almacenamiento proporciona redundancia de datos (como con la replicación interna ), suponiendo que la copia de los datos no esté dañada y tenga sumas de verificación coincidentes. [ 32 ] Opcionalmente, es posible proporcionar redundancia adicional en el grupo especificando copies=2 (o copies=3 ), lo que significa que los datos se almacenarán dos (o tres) veces en el disco, reduciendo efectivamente a la mitad (o, para copies=3 , a un tercio) la capacidad de almacenamiento del disco. [ 33 ] Además, algunos tipos de datos utilizados por ZFS para administrar el grupo se almacenan varias veces de forma predeterminada por seguridad, incluso con la configuración predeterminada copies=1.
Si existen otras copias de los datos dañados o si se pueden reconstruir a partir de sumas de verificación y datos de paridad , ZFS utilizará una copia de los datos (o los recreará mediante un mecanismo de recuperación RAID) y recalculará la suma de verificación, lo que idealmente dará como resultado la reproducción del valor original esperado. Si los datos superan esta comprobación de integridad, el sistema podrá actualizar todas las copias defectuosas con datos válidos y se restablecerá la redundancia.
Si no hay copias de los datos dañados, ZFS pone el pool en un estado de fallo, [ 34 ] impidiendo su uso futuro y sin proporcionar formas documentadas de recuperar el contenido del pool.
La consistencia de los datos almacenados en memoria, como los datos en caché en el ARC, no se verifica de forma predeterminada, ya que se espera que ZFS se ejecute en hardware de calidad empresarial con RAM de corrección de errores . Sin embargo, existe la capacidad de verificar los datos en memoria y se puede habilitar mediante "indicadores de depuración". [ 35 ]
RAID
Para que ZFS pueda garantizar la integridad de los datos, necesita múltiples copias de los datos o información de paridad, generalmente distribuidas en varios discos. Esto se suele lograr mediante el uso de un controlador RAID o el llamado RAID "soft" (integrado en el sistema de archivos ).
Evitar el uso de controladores RAID por hardware.
Si bien ZFS puede funcionar con dispositivos RAID de hardware , ofrece un rendimiento más eficiente y una mayor protección de datos cuando tiene acceso directo a todos los dispositivos de almacenamiento. ZFS se basa en la comunicación directa con el disco para determinar el momento en que se confirma que los datos se han escrito de forma segura y cuenta con numerosos algoritmos diseñados para optimizar el uso del almacenamiento en caché , el vaciado de la caché y la gestión del disco.
Los discos conectados al sistema mediante hardware, firmware, otro RAID "software" o cualquier otro controlador que modifique la ruta de E/S de ZFS a disco afectarán el rendimiento y la integridad de los datos de ZFS. Si un dispositivo de terceros realiza el almacenamiento en caché o presenta las unidades a ZFS como un único sistema sin la vista de bajo nivel en la que se basa ZFS, existe una probabilidad mucho mayor de que el sistema funcione de forma menos óptima y de que ZFS tenga menos probabilidades de prevenir fallos, se recupere de ellos más lentamente o pierda datos debido a un fallo de escritura. Por ejemplo, si se utiliza una tarjeta RAID de hardware, es posible que ZFS no pueda determinar el estado de los discos, determinar si la matriz RAID está degradada o en reconstrucción, detectar toda la corrupción de datos, colocar los datos de forma óptima en los discos, realizar reparaciones selectivas, controlar cómo se equilibran las reparaciones con el uso continuo o realizar reparaciones que ZFS normalmente podría llevar a cabo. La tarjeta RAID de hardware interferirá con los algoritmos de ZFS. Los controladores RAID también suelen añadir datos dependientes del controlador a las unidades, lo que impide que el RAID por software acceda a los datos del usuario. En caso de fallo del controlador RAID de hardware, es posible que se puedan leer los datos con otro controlador compatible, pero esto no siempre es posible y puede que no haya un reemplazo disponible. Los controladores RAID de hardware alternativos podrían no ser compatibles con los datos personalizados del fabricante original necesarios para gestionar y restaurar la matriz.
A diferencia de la mayoría de los demás sistemas, donde las tarjetas RAID o hardware similar pueden descargar recursos y procesamiento para mejorar el rendimiento y la fiabilidad, con ZFS se recomienda encarecidamente no utilizar estos métodos, ya que suelen reducir el rendimiento y la fiabilidad del sistema.
Si los discos deben conectarse a través de un controlador RAID u otro, se recomienda minimizar la cantidad de procesamiento realizado en el controlador utilizando un HBA (adaptador de host) simple, una tarjeta de distribución simple o configurando la tarjeta en modo JBOD (es decir, desactivando las funciones RAID y de caché), para permitir que los dispositivos se conecten con cambios mínimos en la ruta de E/S de ZFS a disco. Una tarjeta RAID en modo JBOD aún puede interferir si tiene una caché o, dependiendo de su diseño, puede desconectar unidades que no responden a tiempo (como se ha visto con muchos discos duros de consumo de bajo consumo), y como tal, puede requerir unidades habilitadas para Recuperación de errores con límite de tiempo (TLER)/CCTL/ERC para evitar la desconexión de unidades, por lo que no todas las tarjetas son adecuadas incluso con las funciones RAID deshabilitadas. [ 36 ]
El enfoque de ZFS: RAID-Z y duplicación de datos
En lugar de RAID por hardware, ZFS emplea RAID por software, ofreciendo RAID-Z ( basado en paridad , como RAID 5 y similares) y duplicación de discos (similar a RAID 1 ). Estos esquemas son muy flexibles.
RAID-Z es un esquema de distribución de datos/paridad similar a RAID-5 , pero utiliza un ancho de banda dinámico: cada bloque es su propia banda RAID, independientemente del tamaño del bloque, lo que resulta en que cada escritura en RAID-Z sea una escritura de banda completa. Esto, combinado con la semántica transaccional de copia en escritura de ZFS, elimina el error de agujero de escritura . RAID-Z también es más rápido que el RAID 5 tradicional porque no necesita realizar la secuencia habitual de lectura-modificación-escritura . [ 37 ]
Dado que todas las franjas tienen tamaños diferentes, la reconstrucción de RAID-Z debe recorrer los metadatos del sistema de archivos para determinar la geometría real de RAID-Z. Esto sería imposible si el sistema de archivos y la matriz RAID fueran productos separados, mientras que se vuelve factible cuando existe una visión integrada de la estructura lógica y física de los datos. Recorrer los metadatos significa que ZFS puede validar cada bloque con su suma de verificación de 256 bits a medida que avanza, mientras que los productos RAID tradicionales generalmente no pueden hacer esto. [ 37 ]
Además de gestionar fallos de disco completos, RAID-Z también puede detectar y corregir la corrupción silenciosa de datos , ofreciendo "datos autorreparables": al leer un bloque RAID-Z, ZFS lo compara con su suma de comprobación y, si los discos de datos no devuelven la respuesta correcta, ZFS lee la paridad y determina qué disco devolvió datos erróneos. A continuación, repara los datos dañados y devuelve datos correctos al solicitante. Esto aumenta la fiabilidad del almacenamiento de datos. [ 37 ]
RAID-Z y la duplicación no requieren ningún hardware especial: no necesitan NVRAM para la fiabilidad, ni necesitan almacenamiento en búfer de escritura para un rendimiento de calidad o la protección de datos. [ 37 ]
Existen cinco modos RAID-Z diferentes: striping (similar a RAID 0, no ofrece redundancia), RAID-Z1 (similar a RAID 5, permite que falle un disco), RAID-Z2 (similar a RAID 6, permite que fallen dos discos), RAID-Z3 (una configuración RAID 7.3 [ a ] , permite que fallen tres discos) y mirroring (similar a RAID 1, permite que fallen todos los discos excepto uno). [ 39 ]
La necesidad de RAID-Z3 surgió a principios de la década de 2000, cuando las unidades de almacenamiento de varios terabytes se hicieron más comunes. Este aumento de capacidad, sin un aumento correspondiente en las velocidades de transferencia, significaba que reconstruir una matriz debido a una unidad defectuosa podía tardar semanas o meses en completarse. [ 38 ] Durante este tiempo, los discos más antiguos de la matriz se verían sometidos a una carga de trabajo adicional, lo que podría provocar corrupción de datos o fallos en las unidades. Al aumentar la paridad, RAID-Z3 reduce la probabilidad de pérdida de datos simplemente incrementando la redundancia. [ 40 ]
Reconstrucción y limpieza (sincronización de matrices y comprobación de integridad)
ZFS no tiene una herramienta equivalente a fsck (la herramienta estándar de Unix y Linux para la comprobación y reparación de datos en sistemas de archivos). [ 41 ] En cambio, ZFS tiene una función de limpieza integrada que examina periódicamente todos los datos y repara la corrupción silenciosa y otros problemas. Algunas diferencias son:
- fsck debe ejecutarse en un sistema de archivos sin conexión, lo que significa que el sistema de archivos debe desmontarse y no se puede utilizar mientras se repara, mientras que scrub está diseñado para usarse en un sistema de archivos montado y en funcionamiento, y no requiere que el sistema de archivos ZFS se desconecte.
- fsck normalmente solo comprueba los metadatos (como el registro de transacciones), pero nunca los datos en sí. Esto significa que, después de ejecutar fsck, es posible que los datos no coincidan con los datos originales almacenados.
- fsck no siempre puede validar y reparar los datos cuando las sumas de verificación se almacenan junto con ellos (lo cual suele ocurrir en muchos sistemas de archivos), ya que estas sumas también pueden estar dañadas o ilegibles. ZFS siempre almacena las sumas de verificación por separado de los datos que verifican, lo que mejora la fiabilidad y la capacidad de la herramienta de limpieza para reparar el volumen. Además, ZFS almacena varias copias de los datos; los metadatos, en particular, pueden tener hasta 4 o 6 copias (varias copias por disco y múltiples réplicas de disco por volumen), lo que mejora considerablemente la capacidad de la herramienta de limpieza para detectar y reparar daños extensos en el volumen, en comparación con fsck.
- El comando scrub revisa todo, incluyendo los metadatos y los datos. El efecto se puede observar comparando los tiempos de fsck y scrub: a veces, un fsck en un RAID grande se completa en pocos minutos, lo que significa que solo se revisaron los metadatos. Recorrer todos los metadatos y datos en un RAID grande lleva muchas horas, que es precisamente lo que hace scrub.
- Mientras que fsck detecta y trata de corregir errores utilizando los datos disponibles del sistema de archivos, scrub se basa en la redundancia para recuperarse de los problemas. Mientras que fsck ofrece reparar el sistema de archivos con una pérdida parcial de datos, scrub lo deja en estado de fallo si no hay redundancia. [ 34 ]
La recomendación oficial de Sun/Oracle es limpiar los discos de nivel empresarial una vez al mes y los discos estándar más económicos una vez a la semana. [ 42 ] [ 43 ]
Capacidad
ZFS es un sistema de archivos de 128 bits , [ 44 ] [ 16 ] por lo que puede direccionar 1,84 × 10 19 veces más datos que los sistemas de 64 bits como Btrfs . Los límites máximos de ZFS están diseñados para ser tan grandes que nunca deberían alcanzarse en la práctica. Por ejemplo, llenar completamente un único zpool con 2 128 bits de datos requeriría 3 × 10 discos duros de 24 TB. [ 45 ]
Algunos límites teóricos en ZFS son:
- 16 exbibytes ( 2⁶⁴ bytes): tamaño máximo de un solo archivo.
- 2 48 : número de entradas en cualquier directorio individual [ 46 ]
- 16 exbibytes: tamaño máximo de cualquier atributo
- 2 56 : número de atributos de un archivo (en realidad limitado a 2 48 para el número de archivos en un directorio)
- 256 cuatrillones de zebibytes ( 2¹²⁸ bytes): tamaño máximo de cualquier zpool
- 2 64 : número de dispositivos en cualquier zpool
- 2 64 : número de sistemas de archivos en un zpool
- 2 64 : número de zpools en un sistema
Cifrado
Con Oracle Solaris, la capacidad de cifrado en ZFS [ 47 ] está integrada en la canalización de E/S. Durante las escrituras, un bloque puede comprimirse, cifrarse, verificarse y luego deduplicarse, en ese orden. La política de cifrado se establece a nivel de conjunto de datos cuando se crean los conjuntos de datos (sistemas de archivos o ZVOL). Las claves de envoltura proporcionadas por el usuario/administrador se pueden cambiar en cualquier momento sin desconectar el sistema de archivos. El comportamiento predeterminado es que la clave de envoltura sea heredada por cualquier conjunto de datos secundario. Las claves de cifrado de datos se generan aleatoriamente en el momento de la creación del conjunto de datos. Solo los conjuntos de datos descendientes (instantáneas y clones) comparten las claves de cifrado de datos. [ 48 ] Se proporciona un comando para cambiar a una nueva clave de cifrado de datos para el clon o en cualquier momento; esto no vuelve a cifrar los datos ya existentes, sino que utiliza un mecanismo de clave maestra cifrada.
A partir de 2019La función de cifrado también está totalmente integrada en OpenZFS 0.8.0, disponible para las distribuciones Debian y Ubuntu Linux. [ 49 ]
Se han reportado casos aislados de fallos por parte de usuarios finales al utilizar el cifrado nativo de ZFS. No se ha determinado la causa exacta. [ 50 ] [ 51 ]
eficiencia de lectura/escritura
ZFS asignará automáticamente el almacenamiento de datos entre todos los vdevs de un pool (y todos los dispositivos de cada vdev) de forma que se maximice el rendimiento del pool. Además, ZFS actualizará su estrategia de escritura para tener en cuenta los nuevos discos que se añadan al pool.
Por regla general, ZFS distribuye las escrituras entre los vdevs en función del espacio libre en cada uno. Esto garantiza que los vdevs con menor cantidad de datos reciban más escrituras cuando se almacenen nuevos datos. De esta forma, a medida que el pool se usa más, se evita que algunos vdevs se llenen, lo que obligaría a que las escrituras se realicen en un número limitado de dispositivos. Además, permite que, al leer datos (y las lecturas son mucho más frecuentes que las escrituras en la mayoría de los casos), se puedan leer diferentes partes de los datos desde tantos discos como sea posible simultáneamente, lo que proporciona un rendimiento de lectura mucho mayor. Por lo tanto, como regla general, se recomienda gestionar los pools y los vdevs, y añadir nuevo almacenamiento, para evitar que algunos vdevs de un pool estén casi llenos y otros casi vacíos, ya que esto reduciría la eficiencia del pool.
El espacio libre en ZFS tiende a fragmentarse con el uso. ZFS no cuenta con un mecanismo para desfragmentar el espacio libre. Existen informes anecdóticos de usuarios finales sobre una disminución del rendimiento cuando la alta fragmentación del espacio libre se combina con una sobreutilización del espacio en disco. [ 52 ] [ 53 ]
Otras características
Dispositivos de almacenamiento, repuestos y cuotas
Los grupos de almacenamiento pueden contar con discos de reserva en caliente para compensar las fallas de los discos. Al configurar la replicación, los dispositivos de bloques se pueden agrupar según el chasis físico, de modo que el sistema de archivos pueda continuar funcionando en caso de falla de todo un chasis.
La composición del grupo de almacenamiento no se limita a dispositivos similares, sino que puede consistir en colecciones heterogéneas y ad hoc de dispositivos, que ZFS agrupa sin problemas, distribuyendo posteriormente espacio a los conjuntos de datos (instancias del sistema de archivos o ZVOL) según sea necesario. Se pueden agregar tipos de dispositivos de almacenamiento arbitrarios a los grupos existentes para ampliar su tamaño. [ 54 ]
La capacidad de almacenamiento de todos los vdevs está disponible para todas las instancias del sistema de archivos en el zpool. Se puede establecer una cuota para limitar la cantidad de espacio que puede ocupar una instancia del sistema de archivos, y se puede establecer una reserva para garantizar que haya espacio disponible para dicha instancia.
Mecanismos de almacenamiento en caché: ARC, L2ARC, grupos de transacciones, ZIL, SLOG, VDEV especial
ZFS utiliza diferentes capas de caché de disco para acelerar las operaciones de lectura y escritura. Idealmente, todos los datos deberían almacenarse en la RAM, pero esto suele ser demasiado costoso. Por lo tanto, los datos se almacenan automáticamente en caché en una jerarquía para optimizar el rendimiento frente al costo; [ 55 ] estos se denominan a menudo "grupos de almacenamiento híbrido". [ 56 ] Los datos a los que se accede con frecuencia se almacenarán en la RAM, y los datos a los que se accede con menos frecuencia pueden almacenarse en medios más lentos, como las unidades de estado sólido (SSD). Los datos a los que no se accede con frecuencia no se almacenan en caché y permanecen en los discos duros lentos. Si de repente se leen muchos datos antiguos, ZFS los moverá automáticamente a las SSD o a la RAM.
Los mecanismos de almacenamiento en caché de ZFS incluyen uno para lecturas y otro para escrituras, y en cada caso, pueden existir dos niveles de almacenamiento en caché: uno en la memoria del ordenador (RAM) y otro en un almacenamiento rápido (normalmente unidades de estado sólido (SSD)), para un total de cuatro cachés.
Dentro de ZFS también existen otras cachés, divisiones de caché y colas. Por ejemplo, cada VDEV tiene su propia caché de datos, y la caché ARC se divide entre los datos almacenados por el usuario y los metadatos utilizados por ZFS, con control sobre el equilibrio entre ambos.
Clase especial VDEV
En OpenZFS 0.8 y versiones posteriores, es posible configurar una clase VDEV especial para almacenar preferentemente los metadatos del sistema de archivos y, opcionalmente, la tabla de deduplicación de datos (DDT) y pequeños bloques del sistema de archivos. [ 58 ] Esto permite, por ejemplo, crear un VDEV especial en almacenamiento de estado sólido rápido para almacenar los metadatos, mientras que los datos de archivo regulares se almacenan en discos giratorios. Esto acelera las operaciones que requieren gran cantidad de metadatos, como el recorrido, la limpieza y la reconstrucción del sistema de archivos, sin el costo de almacenar todo el sistema de archivos en almacenamiento de estado sólido.
Modelo transaccional de copia en escritura
ZFS utiliza un modelo de objetos transaccionales de copia en escritura . Todos los punteros de bloque dentro del sistema de archivos contienen una suma de verificación de 256 bits o un hash de 256 bits (actualmente una opción entre Fletcher-2 , Fletcher-4 o SHA-256 ) [ 59 ] del bloque de destino, que se verifica cuando se lee el bloque. Los bloques que contienen datos activos nunca se sobrescriben en el mismo lugar; en su lugar, se asigna un nuevo bloque, se escriben los datos modificados en él, y luego cualquier bloque de metadatos que lo referencie se lee, se reasigna y se escribe de manera similar. Para reducir la sobrecarga de este proceso, las actualizaciones múltiples se agrupan en grupos de transacciones, y se utiliza la caché de escritura ZIL ( registro de intenciones ) cuando se requieren semánticas de escritura síncronas. Los bloques están organizados en un árbol, al igual que sus sumas de verificación (ver esquema de firma Merkle ).
Instantáneas y clones
Una ventaja de la copia en escritura es que, cuando ZFS escribe datos nuevos, los bloques que contienen los datos antiguos se conservan, lo que permite mantener una versión instantánea del sistema de archivos. Las instantáneas de ZFS son consistentes (reflejan todos los datos tal como existían en un momento dado) y se pueden crear con extrema rapidez, ya que todos los datos que componen la instantánea ya están almacenados, y a menudo se realiza una instantánea de todo el grupo de almacenamiento varias veces por hora. También son eficientes en cuanto al espacio, puesto que los datos que no se modifican se comparten entre el sistema de archivos y sus instantáneas. Las instantáneas son inherentemente de solo lectura, lo que garantiza que no se modificarán después de su creación, aunque no deben considerarse como el único método de copia de seguridad. Se pueden restaurar instantáneas completas, así como archivos y directorios dentro de ellas.
También se pueden crear instantáneas modificables ("clones"), lo que da como resultado dos sistemas de archivos independientes que comparten un conjunto de bloques. A medida que se realizan cambios en cualquiera de los sistemas de archivos clonados, se crean nuevos bloques de datos para reflejar dichos cambios, pero los bloques que no han sufrido cambios siguen compartiéndose, independientemente de la cantidad de clones que existan. Esta es una implementación del principio de copia en escritura.
Envío y recepción de instantáneas
Los sistemas de archivos ZFS se pueden mover a otros grupos, incluso en hosts remotos a través de la red, ya que el comando `send` crea una representación en flujo del estado del sistema de archivos. Este flujo puede describir el contenido completo del sistema de archivos en una instantánea determinada o bien, mostrar la diferencia entre instantáneas. El cálculo del flujo de diferencias es muy eficiente y su tamaño depende del número de bloques modificados entre las instantáneas. Esto proporciona una estrategia eficaz, por ejemplo, para sincronizar copias de seguridad externas o réplicas de alta disponibilidad de un grupo.
Franjas dinámicas
La distribución dinámica de datos en todos los dispositivos para maximizar el rendimiento significa que, a medida que se agregan dispositivos adicionales al zpool, el ancho de la franja se expande automáticamente para incluirlos; de esta manera, se utilizan todos los discos de un pool, lo que equilibra la carga de escritura entre ellos. [ 60 ]
Tamaños de bloque variables
ZFS utiliza bloques de tamaño variable, con 128 KB como tamaño predeterminado. Las funciones disponibles permiten al administrador ajustar el tamaño máximo del bloque utilizado, ya que ciertas cargas de trabajo no funcionan bien con bloques grandes. Si la compresión de datos está habilitada, se utilizan tamaños de bloque variables. Si un bloque se puede comprimir para que quepa en un tamaño de bloque menor, se utiliza este tamaño menor en el disco para usar menos almacenamiento y mejorar el rendimiento de E/S (aunque a costa de un mayor uso de la CPU para las operaciones de compresión y descompresión). [ 61 ]
Creación de sistemas de archivos ligeros
En ZFS, la manipulación del sistema de archivos dentro de un grupo de almacenamiento es más sencilla que la manipulación de volúmenes dentro de un sistema de archivos tradicional; el tiempo y el esfuerzo necesarios para crear o expandir un sistema de archivos ZFS se asemejan más a los de crear un nuevo directorio que a los de la manipulación de volúmenes en otros sistemas.
Endianness adaptativo
Los pools y sus sistemas de archivos ZFS asociados pueden transferirse entre distintas arquitecturas de plataforma, incluyendo sistemas que implementan diferentes órdenes de bytes. El formato de puntero de bloque ZFS almacena los metadatos del sistema de archivos de forma adaptativa al orden de bytes ; los bloques de metadatos individuales se escriben con el orden de bytes nativo del sistema que los escribe. Al leer, si el orden de bytes almacenado no coincide con el del sistema, los metadatos se intercambian en memoria.
Esto no afecta a los datos almacenados; como es habitual en los sistemas POSIX , los archivos aparecen para las aplicaciones como simples matrices de bytes, por lo que las aplicaciones que crean y leen datos siguen siendo responsables de hacerlo de una manera independiente del orden de bytes del sistema subyacente.
Eliminación de duplicados
Las capacidades de deduplicación de datos se agregaron al repositorio de código fuente de ZFS a finales de octubre de 2009, [ 62 ] y los paquetes de desarrollo relevantes de OpenSolaris ZFS han estado disponibles desde el 3 de diciembre de 2009 (compilación 128).
El uso efectivo de la deduplicación puede requerir una gran capacidad de RAM; las recomendaciones varían entre 1 y 5 GB de RAM por cada TB de almacenamiento. [ 63 ] [ 64 ] [ 65 ] Una evaluación precisa de la memoria requerida para la deduplicación se realiza consultando el número de bloques únicos en el pool y el número de bytes en disco y en RAM ("núcleo") necesarios para almacenar cada registro; estas cifras son reportadas por comandos integrados como zpooly zdb. La memoria física insuficiente o la falta de caché ZFS pueden provocar un thrashing de memoria virtual al usar la deduplicación, lo que puede hacer que el rendimiento caiga en picado o provocar una inanición total de memoria. Debido a que la deduplicación ocurre en el momento de la escritura, también es muy intensiva en CPU y esto también puede ralentizar significativamente un sistema.
Otros proveedores de almacenamiento utilizan versiones modificadas de ZFS para lograr índices de compresión de datos muy altos . Dos ejemplos en 2012 fueron GreenBytes [ 66 ] y Tegile. [ 67 ] En mayo de 2014, Oracle compró GreenBytes por su tecnología de deduplicación y replicación de ZFS. [ 68 ]
Como se ha descrito anteriormente, la deduplicación no suele recomendarse debido a sus elevados requisitos de recursos (especialmente RAM) y su impacto en el rendimiento (sobre todo al escribir), salvo en circunstancias específicas en las que el sistema y los datos se adapten bien a esta técnica de ahorro de espacio.
Capacidades adicionales
- Prioridad de E/S explícita con programación de plazos.
- Afirmaba ofrecer una clasificación y agregación de E/S óptima a nivel mundial.
- Múltiples flujos de precarga independientes con detección automática de longitud y paso.
- Operaciones de directorio paralelas y de tiempo constante.
- Verificación de extremo a extremo mediante un tipo de " Campo de Integridad de Datos ", que permite la detección de corrupción de datos (y su recuperación si se dispone de redundancia en el pool). Se puede elegir entre 3 funciones hash: optimizada para velocidad (Fletcher), estandarización y seguridad ( SHA256 ) y funciones hash con sal ( Skein ). [ 69 ]
- Compresión transparente del sistema de archivos. Admite LZJB , gzip , [ 70 ] LZ4 y Zstd .
- Limpieza y re -sincronización inteligentes . [ 71 ]
- Compartir la carga y el uso del espacio entre los discos del grupo. [ 72 ]
- Bloques Ditto: Replicación de datos configurable por sistema de archivos, con cero, una o dos copias adicionales solicitadas por escritura para los datos de usuario, y con ese mismo número base de copias más una o dos para los metadatos (según la importancia de los metadatos). [ 73 ] Si el pool tiene varios dispositivos, ZFS intenta replicar en diferentes dispositivos. Los bloques Ditto son principalmente una protección adicional contra sectores corruptos, no contra fallas totales del disco. [ 74 ]
- El diseño de ZFS (copia en escritura + superbloques) es seguro al usar discos con caché de escritura habilitada, siempre que respeten las barreras de escritura. Esta característica proporciona seguridad y una mejora del rendimiento en comparación con otros sistemas de archivos.
- En Solaris, cuando se agregan discos completos a un grupo ZFS, ZFS habilita automáticamente su caché de escritura. Esto no sucede cuando ZFS solo administra segmentos discretos del disco, ya que desconoce si otros segmentos son administrados por sistemas de archivos que no son seguros para la caché de escritura, como UFS . La implementación de FreeBSD puede gestionar el vaciado de discos para particiones gracias a su marco GEOM y, por lo tanto, no sufre esta limitación.
- Límites de cuota por usuario, por grupo, por proyecto y por conjunto de datos. [ 75 ]
- Cifrado del sistema de archivos desde Solaris 11 Express, [ 76 ] y OpenZFS (ZoL) 0.8. [ 58 ] (en algunos otros sistemas, ZFS puede utilizar discos cifrados para un efecto similar; GELI en FreeBSD se puede utilizar de esta manera para crear almacenamiento ZFS totalmente cifrado).
- Los grupos de almacenamiento se pueden importar en modo de solo lectura.
- Es posible recuperar datos revirtiendo transacciones completas en el momento de importar el zpool.
- Las instantáneas se pueden tomar de forma manual o automática. Las versiones anteriores de los datos almacenados que contienen se pueden exponer como sistemas de archivos de solo lectura completos. También se pueden exponer como versiones históricas de archivos y carpetas cuando se utilizan con CIFS (también conocido como SMB, Samba o recursos compartidos de archivos ); esto se conoce como "Versiones anteriores", "Copias de sombra VSS" o "Historial de archivos" en Windows , o AFP y "Apple Time Machine" en dispositivos Apple. [ 77 ]
- Los discos se pueden marcar como "de repuesto". Se puede configurar un grupo de datos para que gestione automáticamente y de forma transparente los fallos de disco, activando un disco de repuesto y comenzando a recuperar los datos que se encontraban en el disco defectuoso, cuando sea necesario.
Limitaciones
- A partir de Solaris 10 Update 11 y Solaris 11.2, no era posible reducir el número de vdevs de nivel superior en un pool excepto los hot spares, los dispositivos de caché y de registro, ni reducir la capacidad del pool de otra manera. [ 78 ] Se dijo que esta funcionalidad estaba en desarrollo en 2007. [ 79 ] Se están desarrollando mejoras para permitir la reducción de vdevs en OpenZFS. [ 80 ] La reducción en línea mediante la eliminación de vdevs de nivel superior no redundantes es compatible desde Solaris 11.4 lanzado en agosto de 2018 [ 81 ] y OpenZFS (ZoL) 0.8 lanzado en mayo de 2019. [ 58 ]
- A partir de 2008No fue posible agregar un disco como columna a un vdev RAID Z, RAID Z2 o RAID Z3. Sin embargo, se puede crear un nuevo vdev RAID Z y agregarlo al zpool. [ 82 ]
- Algunas configuraciones RAID anidadas tradicionales, como RAID 51 (un espejo de grupos RAID 5), no son configurables en ZFS sin algunas herramientas de terceros. [ 83 ] Los vdevs solo pueden estar compuestos de discos sin formato o archivos, no de otros vdevs, utilizando los comandos de administración predeterminados de ZFS. [ 84 ] Sin embargo, un pool ZFS crea efectivamente una franja (RAID 0) a través de sus vdevs, por lo que el equivalente a un RAID 50 o RAID 60 es común.
- Reconfigurar el número de dispositivos en un vdev de nivel superior requiere copiar los datos sin conexión, destruir el grupo y recrear el grupo con la nueva configuración del vdev de nivel superior, excepto para agregar redundancia adicional a un espejo existente, lo que se puede hacer en cualquier momento o si todos los vdev de nivel superior son espejos con redundancia suficiente, el comando zpool split [ 85 ] se puede usar para eliminar un vdev de cada vdev de nivel superior en el grupo, creando un segundo grupo con datos idénticos.
Recuperación de datos
ZFS no incluye herramientas como fsck , ya que el propio sistema de archivos fue diseñado para autorrepararse. Siempre que se hubiera creado un grupo de almacenamiento prestando suficiente atención al diseño del almacenamiento y a la redundancia de datos, nunca se requerían herramientas básicas como fsck . Sin embargo, si el grupo se veía comprometido debido a un hardware deficiente, un diseño o redundancia inadecuados, o un percance desafortunado, hasta el punto de que ZFS no podía montarlo , tradicionalmente no existían otras herramientas más avanzadas que permitieran al usuario final intentar recuperar parcialmente los datos almacenados en un grupo gravemente dañado.
La versión moderna de ZFS ha mejorado considerablemente esta situación con el tiempo, y continúa haciéndolo:
- La eliminación o el fallo repentino de los dispositivos de caché ya no provoca la pérdida de datos del pool. (En el peor de los casos, la pérdida de la caché ZIL podría provocar la pérdida de transacciones muy recientes, pero la ZIL normalmente no almacena más de unos pocos segundos de transacciones recientes. La pérdida de la caché L2ARC no afecta a los datos).
- Si el pool no se puede montar, las versiones modernas de ZFS intentarán identificar el punto consistente más reciente en el que se pueda recuperar, a costa de perder algunos de los cambios más recientes en el contenido. La copia en escritura implica que las versiones anteriores de los datos, incluidos los registros de nivel superior y los metadatos, pueden seguir existiendo aunque hayan sido reemplazadas, y en ese caso, el pool se puede restaurar a un estado consistente a partir de ellas. Cuanto más antiguos sean los datos, mayor será la probabilidad de que al menos algunos bloques se hayan sobrescrito y que algunos datos sean irrecuperables, por lo que existe un límite en la capacidad del pool para restaurarse.
- De manera informal, existen herramientas para investigar el motivo por el cual ZFS no puede montar un pool y guiar al usuario o desarrollador sobre los cambios manuales necesarios para forzar el montaje. Estas herramientas incluyen el uso de zdb (depuración de ZFS) para encontrar un punto de importación válido en el pool, el uso de dtrace o similar para identificar el problema que causa el fallo de montaje, o la omisión manual de las comprobaciones de estado que provocan la interrupción del proceso de montaje y permiten el montaje del pool dañado.
- A fecha de marzo de 2018, se están implementando gradualmente dentro de OpenZFS una serie de métodos significativamente mejorados. Estos incluyen: [ 86 ]
- Refactorización del código e información de diagnóstico y depuración más detallada sobre fallos de montaje, para simplificar el diagnóstico y la solución de problemas de grupos de memoria corruptos;
- La capacidad de confiar o desconfiar de la configuración del pool almacenada. Esto es particularmente útil, ya que permite montar un pool incluso cuando faltan o están defectuosos los vdevs de nivel superior, cuando los datos de nivel superior son sospechosos, y también revertir un cambio en la configuración del pool si dicho cambio estuvo relacionado con el problema. Una vez montado el pool dañado, se pueden copiar los archivos legibles por seguridad, y es posible que los datos se puedan reconstruir incluso para los vdevs faltantes, utilizando copias almacenadas en otras partes del pool.
- La capacidad de solucionar la situación en la que un disco necesario en un grupo se eliminó accidentalmente y se agregó a un grupo diferente, lo que provocó la pérdida de metadatos relacionados con el primer grupo, que se vuelven ilegibles.
OpenZFS y ZFS
Oracle Corporation cesó el desarrollo público de ZFS y OpenSolaris tras la adquisición de Sun en 2010. Algunos desarrolladores bifurcaron la última versión pública de OpenSolaris bajo el nombre de proyecto Illumos. Debido a las importantes ventajas de ZFS, este se ha adaptado a diversas plataformas con distintas funcionalidades y comandos. Para coordinar los esfuerzos de desarrollo y evitar la fragmentación, se fundó OpenZFS en 2013.
Según Matt Ahrens, uno de los principales arquitectos de ZFS, más del 50% del código original de OpenSolaris ZFS ha sido reemplazado en OpenZFS con contribuciones de la comunidad a partir de 2019, lo que hace que “Oracle ZFS” y “OpenZFS” sean política y tecnológicamente incompatibles. [ 87 ]
Productos comerciales y de código abierto
- 2008: Sun lanzó una línea de dispositivos de almacenamiento de la serie 7000 basados en ZFS. [ 88 ]
- 2013: Oracle lanzó la serie ZS3 de sistemas de archivos basados en ZFS y obtuvo el primer lugar en la prueba comparativa SPC-2 con uno de ellos. [ 89 ]
- 2013: iXsystems lanza dispositivos NAS basados en ZFS llamados FreeNAS (ahora llamados TrueNAS CORE) para SOHO y TrueNAS para empresas. [ 90 ] [ 91 ]
- 2014: Netgear lanza una línea de dispositivos NAS basados en ZFS llamada ReadyDATA , diseñada para ser utilizada en la empresa. [ 92 ]
- 2015: rsync.net anuncia una plataforma de almacenamiento en la nube que permite a los clientes aprovisionar su propio zpool e importar y exportar datos utilizando zfs send y zfs receive. [ 93 ] [ 94 ]
- 2020: iXsystems comienza el desarrollo de un software hiperconvergente basado en ZFS llamado TrueNAS SCALE, para SOHO y TrueNAS para la empresa. [ 91 ]
Oracle Corporation, código cerrado y bifurcación (desde 2010)
En enero de 2010, Oracle Corporation adquirió Sun Microsystems y rápidamente descontinuó la distribución OpenSolaris y el modelo de desarrollo de código abierto. [ 95 ] [ 96 ] En agosto de 2010, Oracle dejó de proporcionar actualizaciones públicas al código fuente del repositorio Solaris OS/Networking, convirtiendo efectivamente a Solaris 11 de nuevo en un sistema operativo propietario de código cerrado . [ 97 ]
En respuesta al panorama cambiante de Solaris y OpenSolaris, el proyecto illumos se lanzó a través de un seminario web [ 98 ] el jueves 3 de agosto de 2010, como un esfuerzo comunitario de algunos ingenieros centrales de Solaris para continuar desarrollando la versión de código abierto de Solaris y completar el código abierto de aquellas partes que aún no habían sido liberadas por Sun. [ 99 ] illumos se fundó como una Fundación, la Fundación Illumos, incorporada en el estado de California como una asociación comercial 501(c)6 . El plan original establecía explícitamente que illumos no sería una distribución ni una bifurcación. Sin embargo, después de que Oracle anunciara la descontinuación de OpenSolaris, se hicieron planes para bifurcar la versión final de Solaris ON, lo que permitió que illumos evolucionara hasta convertirse en un sistema operativo propio. [ 100 ] Como parte de OpenSolaris, una versión de código abierto de ZFS era, por lo tanto, integral dentro de illumos.
ZFS se utilizaba ampliamente en numerosas plataformas, incluyendo Solaris. Por ello, en 2013, la coordinación del desarrollo de la versión de código abierto de ZFS se transfirió a un proyecto paraguas: OpenZFS . El marco de OpenZFS permite a cualquier persona interesada desarrollar de forma colaborativa el código base de ZFS, manteniendo individualmente cualquier código adicional específico que ZFS requiera para funcionar e integrarse en sus propios sistemas.
Historial de versiones
Nota: La versión de Solaris en desarrollo por Sun desde el lanzamiento de Solaris 10 en 2005 tenía el nombre en clave 'Nevada' y se derivó de lo que era el código base de OpenSolaris . 'Solaris Nevada' es el nombre en clave del sistema operativo Solaris de próxima generación que eventualmente sucederá a Solaris 10 y este nuevo código se incorporó sucesivamente a nuevas compilaciones instantáneas de OpenSolaris 'Nevada'. [ 101 ] OpenSolaris ahora está descontinuado y OpenIndiana se bifurcó de él. [ 102 ] [ 103 ] Oracle publicó una compilación final (b134) de OpenSolaris (12 de noviembre de 2010) como una ruta de actualización a Solaris 11 Express .
Soporte del sistema operativo
Lista de sistemas operativos, distribuciones y complementos que admiten ZFS, la versión de zpool que admiten y la compilación de Solaris en la que se basan (si corresponde):
Véase también
- Comparación de sistemas de archivos
- Lista de sistemas de archivos
- Sistema de archivos de control de versiones : lista de sistemas de archivos de control de versiones
Notas
Referencias
- 1 2 "¿Qué es ZFS?" . Guía de administración de Oracle Solaris ZFS . Oracle. Archivado del original el 4 de marzo de 2016 . Recuperado el 29 de diciembre de 2015 .
- ↑ "Licencias de ZFS en Linux" . GitHub . Consultado el 17 de mayo de 2020 .
- ↑ Corbet, Jonathan (17 de septiembre de 2013). "Se lanza el proyecto OpenZFS" . LWN.net . Archivado del original el 4 de octubre de 2013. Consultado el 1 de octubre de 2013 .
- ↑ "Anuncio de OpenZFS" . OpenZFS . 17 de septiembre de 2013. Archivado del original el 2 de abril de 2018. Consultado el 19 de septiembre de 2013 .
- ↑ open-zfs.org /History Archivado el 24 de diciembre de 2013 en Wayback Machine "OpenZFS es el verdadero sucesor de código abierto del proyecto ZFS [...] Efectos de la bifurcación (2010 hasta la fecha)"
- ↑ Sean Michael Kerner (18 de septiembre de 2013). "LinuxCon: OpenZFS impulsa el almacenamiento de código abierto" . infostor.com. Archivado del original el 14 de marzo de 2014. Consultado el 9 de octubre de 2013 .
- ↑ 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 .
- ↑ "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 .
- ↑ "Preguntas frecuentes sobre Starline ZFS" . Starline . Archivado del original el 7 de julio de 2024. Consultado el 20 de julio de 2024 .
- 1 2 "19.4. Administración de zfs" . www.freebsd.org . Archivado del original el 23 de febrero de 2017. Recuperado el 22 de febrero de 2017 .
- ↑ Salus, Peter (1994). Un cuarto de siglo de Unix . Addison-Wesley. págs. 199–200 . ISBN 0-201-54777-5.
- ↑ "¿Qué son SunOS y Solaris?" . Base de conocimientos . Servicios de tecnología de la Universidad de Indiana. 20 de mayo de 2013. Archivado del original el 4 de noviembre de 2013. Recuperado el 10 de noviembre de 2014 .
- ↑ Brown, David. "Una conversación con Jeff Bonwick y Bill Moore" . ACM Queue . Association for Computing Machinery. Archivado del original el 16 de julio de 2011. Recuperado el 17 de noviembre de 2015 .
- ↑ "ZFS: la última palabra en sistemas de archivos" . Sun Microsystems. 14 de septiembre de 2004. Archivado del original el 28 de abril de 2006. Consultado el 30 de abril de 2006 .
- ↑ Matthew Ahrens (1 de noviembre de 2011). "Décimo aniversario de ZFS" . Archivado del original el 28 de junio de 2016. Recuperado el 24 de julio de 2012 .
- 1 2 Bonwick, Jeff (31 de octubre de 2005). "ZFS: La última palabra en sistemas de archivos" . blogs.oracle.com . Archivado del original el 19 de junio de 2013. Recuperado el 22 de junio de 2013 .
- ↑ "Sun celebra el exitoso primer aniversario de OpenSolaris" . Sun Microsystems. 20 de junio de 2006. Archivado del original el 28 de septiembre de 2008. Consultado el 30 de abril de 2018 .
- ↑ Michael Singer (25 de enero de 2005). "Sun Cracks Open Solaris" . InternetNews.com. Archivado del original el 22 de junio de 2011. Consultado el 12 de abril de 2010 .
- ↑ "Preguntas frecuentes sobre ZFS en OpenSolaris.org" . Sun Microsystems. Archivado del original el 15 de mayo de 2011. Consultado el 18 de mayo de 2011. El
prefijo del SI más grande que nos gustó fue 'zetta' ('yotta' estaba descartado).
- ↑ Jeff Bonwick (3 de mayo de 2006). "Tú dices zeta, yo digo zetta" . Blog de Jeff Bonwick . Archivado del original el 23 de febrero de 2017. Recuperado el 21 de abril de 2017. Así
que finalmente decidimos volver a cambiar el nombre a ZFS, que no significa nada.
- ↑ "Oracle y NetApp desestiman las demandas contra ZFS" . theregister.co.uk. 9 de septiembre de 2010. Archivado del original el 9 de septiembre de 2017. Consultado el 24 de diciembre de 2013 .
- ↑ El sistema de archivos extendido (Ext) tiene una estructura de metadatos copiada de UFS. "Rémy Card (Entrevista, abril de 1998)" . Asociación de Abril. 19 de abril de 1999. Archivado del original el 4 de febrero de 2012. Recuperado el 8 de febrero de 2012 .(En francés)
- ↑ Vijayan Prabhakaran (2006). "SISTEMAS DE ARCHIVOS DE HIERRO" (PDF) . Doctorado en Ciencias de la Computación . Universidad de Wisconsin-Madison. Archivado (PDF) del original el 29 de abril de 2011. Recuperado el 9 de junio de 2012 .
- ↑ "Paridad perdida y paridad recuperada" . Archivado del original el 15 de junio de 2010. Consultado el 29 de noviembre de 2010 .
- ↑ "Análisis de la corrupción de datos en la pila de almacenamiento" (PDF) . Archivado (PDF) del original el 15 de junio de 2010. Recuperado el 29 de noviembre de 2010 .
- ↑ "Impacto de la corrupción de discos en los sistemas de gestión de bases de datos de código abierto" (PDF) . Archivado (PDF) del original el 15 de junio de 2010. Consultado el 29 de noviembre de 2010 .
- ↑ Kadav, Asim; Rajimwale, Abhishek. "Análisis de confiabilidad de ZFS" (PDF) . Archivado (PDF) del original el 21 de septiembre de 2013. Recuperado el 19 de septiembre de 2013 .
- ↑ Yupu Zhang; Abhishek Rajimwale; Andrea Arpaci-Dusseau ; Remzi H. Arpaci-Dusseau (2010). "Integridad de datos de extremo a extremo para sistemas de archivos: un estudio de caso de ZFS" (PDF) . Conferencia USENIX sobre tecnologías de archivos y almacenamiento . CiteSeerX 10.1.1.154.3979 . S2CID 5722163. Wikidata Q111972797 . Recuperado el 6 de diciembre de 2010 .
- ↑ Larabel, Michael. "Comparativa de rendimiento de ZFS y UFS en FreeBSD frente a EXT4 y Btrfs en Linux" . Phoronix Media 2012. Archivado del original el 29 de noviembre de 2016. Consultado el 21 de noviembre de 2012 .
- ↑ Larabel, Michael. "¿Puede HAMMER de DragonFlyBSD competir con Btrfs y ZFS?" . Phoronix Media 2012. Archivado del original el 29 de noviembre de 2016. Recuperado el 21 de noviembre de 2012 .
- 1 2 3 Bonwick, Jeff (8 de diciembre de 2005). "Integridad de datos de extremo a extremo de ZFS" . blogs.oracle.com . Archivado del original el 3 de abril de 2012. Recuperado el 19 de septiembre de 2013 .
- ↑ Cook, Tim (16 de noviembre de 2009). "Demostración de la autorreparación de ZFS" . blogs.oracle.com . Archivado del original el 12 de agosto de 2011. Consultado el 1 de febrero de 2015 .
- ↑ Ranch, Richard (4 de mayo de 2007). "ZFS, copias y protección de datos" . blogs.oracle.com . Archivado del original el 18 de agosto de 2016. Consultado el 2 de febrero de 2015 .
- 1 2 "zpoolconcepts.7 — Documentación de OpenZFS" . openzfs.github.io . Consultado el 5 de abril de 2023 .
- ↑ "ZFS sin complicaciones: Uso de ZFS sin memoria ECC" . www.csparks.com . Diciembre de 2015. Archivado del original el 13 de enero de 2021. Consultado el 16 de junio de 2020 .
- ↑ wdc.custhelp.com. "Diferencia entre las unidades de la edición Desktop y RAID (Enterprise)" . Archivado del original el 5 de enero de 2015. Consultado el 8 de septiembre de 2011 .
- 1 2 3 4 Bonwick, Jeff (17 de noviembre de 2005). "RAID-Z" . Blog de Jeff Bonwick . Blogs de Oracle . Archivado del original el 16 de diciembre de 2014. Recuperado el 1 de febrero de 2015 .
- 1 2 Leventhal, Adam (17 de diciembre de 2009). "Triple-Parity RAID and Beyond" . ACM Queue . 7 (11): 30. doi : 10.1145/1661785.1670144 .
- ↑ "Rendimiento, capacidad e integridad de ZFS Raidz" . calomel.org . Archivado del original el 27 de noviembre de 2017. Consultado el 23 de junio de 2017 .
- ↑ "Por qué RAID 6 dejó de funcionar en 2019" . ZDNet . 22 de febrero de 2010. Archivado del original el 31 de octubre de 2014. Consultado el 26 de octubre de 2014 .
- ↑ "No existe una utilidad equivalente a fsck para ZFS. Esta utilidad tradicionalmente ha tenido dos propósitos: la reparación y la validación del sistema de archivos." "Comprobación de la integridad del sistema de archivos ZFS" . Oracle. Archivado del original el 31 de enero de 2013. Consultado el 25 de noviembre de 2012 .
- ↑ "ZFS Scrubs" . freenas.org. Archivado del original el 27 de noviembre de 2012. Consultado el 25 de noviembre de 2012 .
- ↑ "También debería ejecutar una verificación antes de reemplazar dispositivos o reducir temporalmente la redundancia de un pool para asegurarse de que todos los dispositivos estén actualmente operativos." "Guía de mejores prácticas de ZFS" . solarisinternals.com. Archivado del original el 5 de septiembre de 2015. Recuperado el 25 de noviembre de 2012 .
- ↑ Jeff Bonwick. "Almacenamiento de 128 bits: ¿estás drogado?" . oracle.com . Archivado del original el 29 de mayo de 2015 . Recuperado el 29 de mayo de 2015 .
- ↑ "ZFS: Hierve el océano, consume la luna (Blog de Dave Brillhart)" . Archivado del original el 8 de diciembre de 2015. Consultado el 19 de diciembre de 2015 .
- ↑ "Guía de administración de Solaris ZFS" . Oracle Corporation. Archivado del original el 13 de enero de 2021. Consultado el 11 de febrero de 2011 .
- ↑ "Cifrado de sistemas de archivos ZFS" . Archivado del original el 23 de junio de 2011. Consultado el 2 de mayo de 2011 .
- ↑ "Tener mi pastel seguro y clonarlo también (es decir, cifrado + deduplicación con ZFS)" . Archivado del original el 29 de mayo de 2013. Recuperado el 9 de octubre de 2012 .
- ↑ "ZFS—Debian Wiki" . wiki.debian.org . Archivado del original el 8 de septiembre de 2019. Consultado el 10 de diciembre de 2019 .
- ↑ "Propuesta: Considerar agregar advertencias contra el uso del cifrado nativo de ZFS junto con send/recv en producción" . Github . Archivado del original el 15 de agosto de 2024. Recuperado el 15 de agosto de 2024 .
- ↑ "PSA: ZFS tiene un error de corrupción de datos al usar cifrado nativo y enviar/recibir" . Reddit . 12 de febrero de 2024. Archivado del original el 15 de agosto de 2024. Consultado el 15 de agosto de 2024 .
- ↑ "Fragmentación de ZFS: soluciones a largo plazo" . Github . Consultado el 15 de agosto de 2024 .
- ↑ "¿Cuáles son las mejores prácticas para evitar que ZFS se fragmente demasiado?" Lawrence Systems . 9 de marzo de 2023. Archivado del original el 15 de agosto de 2024. Consultado el 15 de agosto de 2024 .
- ↑ "Solaris ZFS permite grupos de almacenamiento híbridos: rompe barreras económicas y de rendimiento" (PDF) . Sun.com. 7 de septiembre de 2010. Archivado (PDF) del original el 17 de octubre de 2011. Consultado el 4 de noviembre de 2011 .
- ↑ Gregg, Brendan. "ZFS L2ARC" . Blog de Brendan . Dtrace.org. Archivado del original el 6 de noviembre de 2011. Recuperado el 5 de octubre de 2012 .
- ↑ Gregg, Brendan (8 de octubre de 2009). "Hybrid Storage Pool: Velocidades máximas" . Blog de Brendan . Dtrace.org. Archivado del original el 5 de abril de 2016. Recuperado el 15 de agosto de 2017 .
- ↑ "Ajuste del rendimiento de Solaris ZFS: Escrituras síncronas y ZIL" . Constantin.glez.de. 20 de julio de 2010. Archivado del original el 23 de junio de 2012. Consultado el 5 de octubre de 2012 .
- 1 2 3 "Versión zfs-0.8.0" . GitHub . OpenZFS. 23 de mayo de 2019. Archivado del original el 28 de julio de 2021. Recuperado el 3 de julio de 2021 .
- ↑ "Especificación de ZFS en disco" (PDF) . Sun Microsystems, Inc. 2006. Archivado del original (PDF) el 30 de diciembre de 2008.Véase la sección 2.4.
- ↑ "RAIDZ — Documentación de OpenZFS" . openzfs.github.io . Archivado del original el 9 de febrero de 2023. Consultado el 9 de febrero de 2023 .
- ↑ Eric Sproul (21 de mayo de 2009). "Conceptos básicos de ZFS" . slideshare.net. págs. 30–31 . Archivado del original el 22 de junio de 2014. Recuperado el 8 de junio de 2014 .
- ↑ "Deduplicación de ZFS" . blogs.oracle.com . Archivado del original el 24 de diciembre de 2019. Consultado el 25 de noviembre de 2019 .
- ↑ Gary Sims (4 de enero de 2012). "Creación de almacenamiento conectado a la red basado en ZFS con FreeNAS 8" . TrainSignal Training . TrainSignal, Inc. Archivado del original (Blog) el 7 de mayo de 2012. Consultado el 9 de junio de 2012 .
- ↑ Ray Van Dolson (mayo de 2011). " [ zfs-discuss ] Resumen: Requisitos de memoria para la deduplicación" . Lista de correo zfs-discuss. Archivado del original el 25 de abril de 2012.
- ↑ "Guía de ajuste de ZFS" . Archivado del original el 16 de enero de 2012. Consultado el 3 de enero de 2012 .
- ↑ Chris Mellor (12 de octubre de 2012). "GreenBytes exhibe un clon completo de bomba VDI" . The Register . Archivado del original el 24 de marzo de 2013. Recuperado el 29 de agosto de 2013 .
- ↑ Chris Mellor (1 de junio de 2012). "El recién llegado sale de su caja y planea venderlo barato a todo el mundo" . The Register . Archivado del original el 12 de agosto de 2013. Recuperado el 29 de agosto de 2013 .
- ↑ Chris Mellor (11 de diciembre de 2014). "Deduplicar, deduplicar... deduplicar, deduplicar, deduplicar: Oracle pule el diamante ZFS" . The Register . Archivado del original el 7 de julio de 2017. Recuperado el 17 de diciembre de 2014 .
- ↑ "Sumas de verificación y su uso en ZFS" . github.com . 2 de septiembre de 2018. Archivado del original el 19 de julio de 2019. Consultado el 11 de julio de 2019 .
- ↑ "Guía de administración de Solaris ZFS" . Capítulo 6: Administración de sistemas de archivos ZFS . Archivado del original el 5 de febrero de 2011. Consultado el 17 de marzo de 2009 .
- ↑ "Espejos humeantes" . blogs.oracle.com . 2 de mayo de 2006. Archivado del original el 16 de diciembre de 2011. Consultado el 13 de febrero de 2012 .
- ↑ "Asignación de bloques ZFS" . Blog de Jeff Bonwick . 4 de noviembre de 2006. Archivado del original el 2 de noviembre de 2012. Consultado el 23 de febrero de 2007 .
- ↑ "Ditto Blocks : el increíble repelente de cintas" . Blog Flippin' off bits . 12 de mayo de 2006. Archivado del original el 26 de mayo de 2013. Consultado el 1 de marzo de 2007 .
- ↑ "Agregar nuevos discos y comportamiento de bloques idéntico" . Archivado del original el 23 de agosto de 2011. Recuperado el 19 de octubre de 2009 .
- ↑ "OpenSolaris.org" . Sun Microsystems. Archivado del original el 8 de mayo de 2009. Consultado el 22 de mayo de 2009 .
- ↑ "Novedades de Solaris 11 Express 2010.11" (PDF) . Oracle. Archivado (PDF) del original el 16 de noviembre de 2010. Consultado el 17 de noviembre de 2010 .
- ↑ "10. Compartir — Guía del usuario de FreeNAS 9.3 Tabla de contenido" . doc.freenas.org . Archivado del original el 7 de enero de 2017. Consultado el 23 de febrero de 2017 .
- ↑ "Error ID 4852783: reducir la capacidad del pool" . Proyecto OpenSolaris. Archivado del original el 29 de junio de 2009. Recuperado el 28 de marzo de 2009 .
- ↑ Goebbels, Mario (19 de abril de 2007). "Eliminación permanente de vdevs de un pool" . zfs-discuss (Lista de correo).Enlace al archivo. Archivado el 13 de enero de 2021 en Wayback Machine .
- ↑ Chris Siebenmann Información sobre la futura eliminación de vdev Archivado el 11 de agosto de 2016 en Wayback Machine , Univ Toronto, blog, cita: anuncio informal en Twitter por Alex Reece Archivado el 11 de agosto de 2016 en Wayback Machine
- ↑ "Funciones de administración de datos: novedades en Oracle® Solaris 11.4" . Archivado del original el 24 de septiembre de 2019. Consultado el 9 de octubre de 2019 .
- ↑ "Expand-O-Matic RAID Z" . Adam Leventhal. 7 de abril de 2008. Archivado del original el 28 de diciembre de 2011. Consultado el 16 de abril de 2012 .
- ↑ "ZFS Toy" . SourceForge.net . Consultado el 12 de abril de 2022 .
- ↑ "zpoolconcepts(7)" . Documentación de OpenZFS . OpenZFS. 2 de junio de 2021. Consultado el 12 de abril de 2021. Los
dispositivos virtuales no se pueden anidar, por lo que un dispositivo virtual mirror o raidz solo puede contener archivos o discos. No se permiten espejos de espejos (u otras combinaciones).
- ↑ "zpool(1M)" . Download.oracle.com. 11 de junio de 2010. Archivado del original el 13 de enero de 2021. Consultado el 4 de noviembre de 2011 .
- ↑ "Acelerando la recuperación de datos de ZFS" . Archivado del original el 29 de noviembre de 2018. Consultado el 29 de noviembre de 2018 .
- ↑ "ZFS y OpenZFS" . iXSystems. 18 de junio de 2019. Archivado del original el 18 de abril de 2020. Consultado el 18 de mayo de 2020 .
- ↑ "Sun lanza sus propios dispositivos de almacenamiento" . techworld.com.au. 11 de noviembre de 2008. Archivado del original el 13 de noviembre de 2013. Consultado el 13 de noviembre de 2013 .
- ↑ Chris Mellor (2 de octubre de 2013). "Oracle se impone con fuerza en el primer puesto del mercado gracias a su potente sistema de archivos ZFS" . theregister.co.uk. Archivado del original el 7 de julio de 2017. Consultado el 7 de julio de 2014 .
- ↑ "Dispositivo de almacenamiento ZFS unificado creado en Silicon Valley por iXsystem" . ixsystems.com. Archivado del original el 3 de julio de 2014. Consultado el 7 de julio de 2014 .
- 1 2 "¡TrueNAS 12 y TrueNAS SCALE ya están aquí!" . ixsystems.com. 29 de octubre de 2020. Archivado del original el 4 de enero de 2021. Consultado el 2 de enero de 2021 .
- ↑ "ReadyDATA 516: Almacenamiento en red unificado" (PDF) . netgear.com. Archivado (PDF) del original el 15 de julio de 2014. Consultado el 7 de julio de 2014 .
- ↑ Jim Salter (17 de diciembre de 2015). "rsync.net: La replicación de ZFS a la nube ya está aquí, ¡y es rápida!" . arstechnica.com. Archivado del original el 22 de agosto de 2017. Consultado el 21 de agosto de 2017 .
- ↑ rsync.net, Inc. "Almacenamiento en la nube con ZFS: envío y recepción a través de SSH" . rsync.net. Archivado del original el 21 de julio de 2017. Consultado el 21 de agosto de 2017 .
- ↑ Steven Stallion / Oracle (13 de agosto de 2010). "Actualización sobre SXCE" . Iconoclastics Tendencies. Archivado del original el 9 de noviembre de 2020. Consultado el 30 de abril de 2018 .
- ↑ Alasdair Lumsden. "OpenSolaris cancelado, será reemplazado por Solaris 11 Express" . osol-discuss (Lista de correo). Archivado del original el 16 de agosto de 2010. Recuperado el 24 de noviembre de 2014 .
- ↑ Solaris sigue siendo algo abierto, pero la distribución OpenSolaris está muerta. Archivado el 5 de septiembre de 2017 en Wayback Machine en Ars Technica por Ryan Paul (16 de agosto de 2010).
- ↑ Garrett D'Amore (3 de agosto de 2010). "Illumos - La esperanza y la luz renacen - Presentado por Garrett D'Amore" (PDF) . illumos.org. Archivado (PDF) del original el 7 de abril de 2025. Recuperado el 3 de agosto de 2010 .
- ↑ "¿Hacia dónde se dirige OpenSolaris? Illumos toma el relevo" . 20 de noviembre de 2012. Archivado del original el 26 de septiembre de 2015.
- ↑ Garrett D'Amore (13 de agosto de 2010). "Puede que no quede más remedio" . Archivado del original el 17 de agosto de 2010. Consultado el 14 de noviembre de 2013 .
- 1 2 3 "Mientras estuvo bajo el control de Sun Microsystems, hubo instantáneas quincenales de Solaris Nevada (el nombre en clave del sistema operativo Solaris de próxima generación que eventualmente sucedería a Solaris 10) y este nuevo código se incorporó a las nuevas instantáneas de vista previa de OpenSolaris disponibles en Genunix.org. Las versiones estables de OpenSolaris se basan en [ sic ] estas compilaciones de Nevada." Larabel, Michael. "Parece que Oracle respaldará a OpenSolaris" . Phoronix Media. Archivado del original el 29 de noviembre de 2016. Recuperado el 21 de noviembre de 2012 .
- ↑ Ljubuncic, Igor (23 de mayo de 2011). "OpenIndiana : aún hay esperanza" . DistroWatch . Archivado del original el 27 de octubre de 2012. Recuperado el 21 de noviembre de 2012 .
- ↑ "¡Bienvenido al Proyecto OpenIndiana!" . Proyecto OpenIndiana. 10 de septiembre de 2010. Archivado del original el 27 de noviembre de 2012. Recuperado el 14 de septiembre de 2010 .
- ↑ "Versiones de grupos ZFS" . Oracle Corporation. 2022. Archivado del original el 21 de diciembre de 2022. Consultado el 1 de enero de 2023 .
Bibliografía
- Watanabe, Scott (23 de noviembre de 2009). Solaris ZFS Essentials (1.ª ed.). Prentice Hall . pág. 256. ISBN 978-0-13-700010-4Archivado del original el 1 de octubre de 2012.
Enlaces externos
- ¡Fork Yeah! El auge y desarrollo de Illumos : presentación de diapositivas que abarca gran parte de la historia de Solaris, la decisión de Sun de convertirlo en código abierto, la creación de ZFS y los eventos que provocaron que se convirtiera en código cerrado y se bifurcara tras la adquisición por parte de Oracle.
- El mejor sistema de archivos en la nube se creó antes de que existiera la nube (archivado el 15 de diciembre de 2018).
- Comparación de la replicación SVM y la replicación ZFS
- Distribución de almacenamiento EON ZFS (NAS)
- Integridad de datos de extremo a extremo para sistemas de archivos: un estudio de caso de ZFS
- ZFS – El sistema de archivos del zettabyte (archivado el 28 de febrero de 2013)
- ZFS y RAID-Z: ¿El sistema de archivos definitivo?
- ZFS: La última palabra en sistemas de archivos , por Jeff Bonwick y Bill Moore (archivado el 29 de agosto de 2017)
- Visualización del registro de intenciones de ZFS (ZIL) en Wayback Machine (archivado el 28 de agosto de 2023) , abril de 2013, por Aaron Toponce
- Características de illumos, incluyendo OpenZFS
- Página wiki anterior con más enlaces: Introducción a ZFS , 15 de septiembre de 2014 (archivada el 30 de diciembre de 2018), parte de la documentación de illumos .
- Software de 2005
- Sistemas de archivos de compresión
- Sistemas de archivos de disco
- RAID
- Software de Sun Microsystems
- gestor de volumen