En aras de la claridad, cuando decimos ZFS nos referimos a OpenZFS y no la versión comercial compatible con Oracle Inc.
Los dos sistemas de archivos son inmensamente maduros y tienen una buena comunidad construida a su alrededor. Nos centraremos en los principales factores que determinarían que eligió el sistema de archivos más adecuado para usted. No se tratará de un ciclo interminable de pros y contras con una conclusión diplomática. No! Llegaremos al fondo de este.
Comunidad y plataformas compatibles
XFS es compatible en gran medida en Linux junto con Irix. Leer el soporte de escritura experimental en FreeBSD también está disponible. OpenZFS, por otro lado, tiene una base de usuarios extremadamente amplia. La comunidad de FreeBSD se esfuerza por mantenerse al día con la sucursal OpenZFS aguas arriba. Corporaciones enteras como Delphix, IXSystems y muchos más usan OpenZFS o lo recomiendan específicamente porque quieren la plataforma más confiable para almacenar y administrar los datos y sus clientes de sus clientes.
Junto con ese OpenZFS también es compatible con Linux, OS X (es cierto, puede que se ejecute de forma nativa en su MacBook! ) Y ahora incluso están trabajando para llevarlo a las ventanas, aunque la idea todavía está en su infancia. Más sistemas operativos esotéricos como Illumos y Smartos también admiten plenamente OpenZFS.
La licencia utilizada por OpenZFS es la licencia CDDL que, como resultado, era incompatible con la licencia de Linux 'GPL, por lo que necesita instalar OpenZFS como un módulo binario separado y un módulo de núcleo cargado en lugar de enviarla con la distribución. Esto agrega un paso adicional en términos de instalación y actualización del software.
XFS, por otro lado, viene enviado con la mayoría de las distribuciones de Linux y Redhat Inc. En realidad, recomienda que sus usuarios usen el sistema de archivos y ofrezcan soporte comercial para ello.
Arquitectura
Si bien ZFS está diseñado para ser confiable, el principal punto de venta de XFS es su soporte para la E/S paralela rápida. OpenZFS está diseñado como un sistema de archivos de copia en escritura, lo que significa que incluso cuando se modifican los datos, se realiza escribiendo primero un nuevo bloque de datos y luego deshacerse del bloque de datos anterior. Esto garantiza la integridad de los datos frente a las fallas de poder o el pánico del kernel. ZFS también admite suma de verificación, lo que significa corrupciones de datos silenciosos cuando sus discos comienzan a fallar, si no se soluciona automáticamente (lo que sucedería si tiene RAIDZ o reflejo habilitado).
Como se mencionó anteriormente, XFS ofrece Términos de E/S de mayor rendimiento de E/S. Siendo un sistema de archivos de diario, todavía realiza un seguimiento de los cambios que se deben realizar a los datos en el disco. Esto ofrece cierta seguridad contra el poder y los bloqueos del sistema. No se ofrece seguridad contra 'Bit Pot' o Fallas de disco silencioso.
Para los lectores más expertos en tecnología, OpenZFS es un sistema de archivos de 128 bits, mientras que XFS es un sistema de archivos de 64 bits. Esto significa que este último puede almacenar hasta 264 archivos, con cada archivo hasta 8 exbibytes en tamaño. El tamaño máximo de un volumen también es 8 exbibytes (1 exbibyte es 260 bytes).
Este número está enano en comparación con los 16 exbibytes del tamaño de archivo máximo, 256 billones de yobibités (1 yobibyte es 280 bytes) de tamaño de volumen máximo ofrecido por OpenZFS. Si bien ambos sistemas de archivos ofrecen una flexibilidad absurda a este respecto, ambos tienen una falla debido a su arquitectura. Ambos admiten solo 255 nombres de archivos largos de 255 caracteres. OpenZFS, en el momento de este escrito, está trabajando para aumentar este límite aún más.
Un último punto de diferencia arquitectónica es este: XFS tiene implementación de árbol B+ para buscar archivos y asignar espacio. Esto hace que buscar y obtener los datos mucho más rápido. OpenZFS no tiene tal característica.
Características
La arquitectura robusta es mucho más importante que el conjunto de características. Lamentablemente, las características son mucho más visibles para el usuario que la arquitectura. E incluso aquí, Openzfs gana por un gran margen. Tiene su propia implementación de RAID (RAIDZ y reflejo) para que pueda tener redundancia en un nivel de software que sea muy superior a cualquier otro software o solución de incursión de hardware. Además de eso, admite una amplia gama de algoritmos de compresión incorporados como LZ4 y GZIP para que pueda almacenar sus archivos comprimidos. Puede tener instantáneas periódicas de sus datos sin una penalización tremenda en el uso del espacio.
También puede tener deduplicación en OpenZFS y envío de zfs puede ser una alternativa decente a RSYNC. Sin embargo, para XFS, la mayoría de estas características todavía están en el tablero de dibujo esperando ser implementados.
Usando OpenZFS también puede tener soporte para el hardware de borde más sangrante, como Intel Optane u otros dispositivos NVME y usarlos como cachés de lectura o escritura. Ambos sistemas de archivos tienen un soporte de ajuste decente para SSD, lo que mejora el rendimiento y la longevidad de los dispositivos de estado sólido.
Utilización y rendimiento de los recursos
La utilización de recursos es una de las principales preocupaciones que aleja a las personas del uso de OpenZFS. La noción es que un sistema de archivos tan avanzado debe tener una gran sanción en la memoria y el uso de la CPU. Esta no es la verdad completa, sin embargo.
Si está utilizando ZFS con todos los valores predeterminados establecidos, usará más recursos que XFS y funcionará un poco peor en términos de E/S. Las funciones de acero de recursos, como la deduplicación de datos, se desactivan de forma predeterminada, causando una diferencia notable.
XFS está optimizado para archivos enormes y para E/S paralela, esta es la opción más fácil para casos de uso como la División de Supercomputación Advanced de la NASA. Dónde, AS, ZFS necesita ajuste para adaptarse al caso de uso. Si está ejecutando una base de datos, configure el tamaño de registro de su base de datos como un múltiplo del tamaño de su bloque ZFS. Para hacer esto correctamente, requiere tiempo para probar y evaluación comparativa. Donde, si está sirviendo archivos grandes, el tamaño de bloques se puede maximizar para mejorar el rendimiento.
Para acortar una historia larga, OpenZFS es la solución más a prueba de futuro y robusta para sus preciosos datos. Ofrece confiabilidad junto con una tonelada de características. Se está desarrollando activamente para cumplir con los estándares más nuevos de la industria y tiene una ventaja que pone sistemas de archivos como XFS en una gran desventaja.
XFS merece consideración solo para casos de uso muy específicos donde se involucran archivos grandes y su aplicación puede hacer uso de E/S paralelas e incluso entonces la integridad de datos y la detección de errores están ausentes. OpenZFS, por otro lado, se puede recomendar incluso cuando todos los casos de uso futuros no son aparentes de inmediato. Con la garantía de que si no corrompe sus datos o le devuelve la información incorrecta, OpenZFS es la opción obvia para sus valiosos datos.