Per motivi di chiarezza, quando diciamo zfs intendiamo openzfs e non La versione commerciale supportata da Oracle Inc.
I due filesystem sono immensamente maturi e hanno una bella comunità costruita attorno a loro. Ci concentreremo sui principali fattori che ti determinerebbero di scegliere il file system più adatto a te. Non si tratterà di un ciclo infinito di pro e contro con una conclusione diplomatica. NO! Ci arriveremo in fondo a questo.
Comunità e piattaforme supportate
XFS è in gran parte supportato su Linux insieme a Irix. Leggi il supporto sperimentale di scrittura su FreeBSD è anche disponibile. OpenZFS d'altra parte ha una base di utenti estremamente ampia. La comunità di FreeBSD si impegna a tenere il passo con il ramo OpenZFS a monte. Intere società come Delphix, Ixsystems e molti altri usano OpenZFS o lo consigliano specificamente perché vogliono la piattaforma più affidabile per archiviare e gestire i dati dei propri e dei loro clienti.
Insieme a That OpenZFS è anche supportato su Linux, OS X (è giusto che puoi farlo funzionare in modo nativo sul tuo MacBook! ) e ora stanno persino lavorando per portarlo su Windows anche se l'idea è ancora agli inizi. Anche sistemi operativi più esoterici come Illumos e Smartos supportano pienamente OpenZFS.
La licenza utilizzata da OpenZFS è la licenza CDDL che, a quanto pare, era incompatibile con la licenza GPL di Linux, motivo per cui è necessario installare OpenZFS come binario separato e un modulo di kernel carico invece di averlo spedito con la distro. Questo aggiunge un ulteriore passo in termini di installazione e aggiornamento del software.
XFS, d'altra parte, viene spedito con la maggior parte di Linux Distros e Redhat Inc. In realtà consiglia ai suoi utenti di utilizzare il file system e offrire supporto commerciale per esso.
Architettura
Mentre ZFS è progettato per essere affidabile, il principale punto di forza di XFS è il suo supporto per I/O paralleli velocemente. OpenZFS è progettato come un file system copy-on-write, il che significa che anche quando i dati vengono modificati, vengono eseguiti prima scrivendo un nuovo blocco di dati e quindi sbarazzarsi del vecchio blocco dati. Ciò garantisce l'integrità dei dati di fronte a fallimenti di potenza o panico del kernel. ZFS supporta anche checksums, il che significa corruzioni di dati silenziosi quando i dischi iniziano a fallire vengono segnalati, se non fissati automaticamente (il che accadrebbe se hai RAIDZ o mirroring abilitato).
Come accennato in precedenza, XFS offre prestazioni più elevate IT di I/O. Essendo un file system di journaling tiene ancora traccia delle modifiche che devono essere apportate ai dati sul disco. Ciò offre un po 'di sicurezza contro interruzioni e arresti anomali di sistema. Non viene offerta alcuna sicurezza contro i guasti del disco silenzioso o silenziosi.
Per i lettori più esperti della tecnologia, OpenZFS è un file system a 128 bit mentre XFS è un file system a 64 bit. Ciò significa che il tempo quest'ultimo può archiviare fino a 264 file, con ogni file fino a 8 exbibyte di dimensioni. La dimensione massima di un volume è anche 8 exbibyte (1 exbibyte è 260 byte).
Questo numero è nano rispetto ai 16 exbibyte della dimensione massima del file, 256 trilioni di yobibyte (1 Yobibyte è 280 byte) della dimensione massima del volume offerto da OpenZFS. Mentre entrambi i file system offrono assurdi flessibilità in questo senso, entrambi hanno un difetto a causa della loro architettura. Entrambi supportano solo nomi di file lunghi 255 caratteri. Openzfs, al momento di questo documento, sta lavorando per aumentare ulteriormente questo limite.
Un ultimo punto di differenza architettonica è questo: XFS ha l'implementazione di albero B+ per la ricerca di file e allocare lo spazio. Questo rende molto più veloce la ricerca e il recupero dei dati. Openzfs non ha tali funzionalità.
Caratteristiche
L'architettura robusta è molto più importante del set di funzionalità. Purtroppo, le funzionalità sono molto più visibili all'utente rispetto all'architettura. E anche qui, Openzfs vince con un enorme margine. Ha una propria implementazione RAID (raidz e mirroring) in modo da poter avere una ridondanza a livello di software che è di gran lunga superiore a qualsiasi altra soluzione di software o hardware RAID. Inoltre, supporta una vasta gamma di algoritmi di compressione integrati come LZ4 e GZIP in modo da poter archiviare i file compressi. Puoi avere istantanee periodiche dei tuoi dati senza un'enorme penalità sull'uso dello spazio.
Puoi anche avere deduplicazione su OpenZFS e ZFS invia può essere un'alternativa decente a rsync. Tuttavia, per XFS la maggior parte di queste funzionalità sono ancora sul tavolo da disegno in attesa di essere implementata.
Usando OpenZFS puoi anche avere supporto per l'hardware più sanguinante come Intel Optane o altri dispositivi NVME e utilizzarli come leggi o scrivere cache. Entrambi i file system hanno un supporto di finitura decente per gli SSD che migliorano le prestazioni e la longevità dei dispositivi a stato solido.
Utilizzo e prestazioni delle risorse
L'utilizzo delle risorse è una delle principali preoccupazioni che allontana le persone dall'uso di OpenZFS. L'idea è che un file system così avanzato deve avere una penalità enorme sull'uso della memoria e della CPU. Questa non è la verità completa, tuttavia.
Se si utilizza ZFS con tutti i valori predefiniti impostati, utilizzerà più risorse di XFS ed eseguirà leggermente peggio in termini di I/O ma, con hardware moderni e CPU più veloci, questa differenza è trascurabile. Le funzionalità di Hogging delle risorse come la deduplicazione dei dati sono disattivate per impostazione predefinita causando alcuna differenza evidente.
XFS è ottimizzato per file enormi e per I/O paralleli, questo lo rende la scelta più semplice per i casi d'uso come la divisione SuperComputing avanzata della NASA. Dove come, ZFS ha bisogno di sintonizzazione per adattarsi al caso d'uso. Se si esegue un database, imposta la dimensione del record del database come multipla della dimensione del blocco ZFS. Per farlo bene richiede tempo per i test e il benchmarking. Dove come, se stai servendo file di grandi dimensioni, allora il blocco può essere massimo per migliorare le prestazioni.
Per fare una lunga storia, OpenZFS è la soluzione più a prova di futuro e robusta per i tuoi dati preziosi. Offre affidabilità insieme a una tonnellata di funzionalità. È attivamente sviluppato per soddisfare nuovi standard del settore e ha un vantaggio che mette in uno svantaggio file come XFS.
XFS merita la considerazione solo per casi d'uso molto specifici in cui sono coinvolti file di grandi dimensioni e l'applicazione può utilizzare I/O paralleli e anche allora l'integrità dei dati e il rilevamento degli errori sono assenti. OpenZFS d'altra parte può essere raccomandato anche quando tutti i casi d'uso futuri non sono immediatamente evidenti. Con la fideiussione che se non corrompe i dati o ti restituisce in silenzio le informazioni sbagliate, OpenZFS è la scelta ovvia per i tuoi dati preziosi.