1. Copy-on-Write (COW) -mekanisme
Begge filsystemene bruker copy-on-write-mekanisme. Dette betyr at hvis du prøver å endre en fil, vil ingen av filsystemene prøve å overskrive eksisterende data på disken med nyere data. I stedet blir de nyere dataene skrevet andre steder, og når skriveoperasjonen er fullført, peker filsystemet ganske enkelt på de nyere datablokkene, og de gamle blokkene blir resirkulert over tid. Denne mekanismen tillater at begge filsystemene har funksjoner som øyeblikksbilder og kloning.
COW forhindrer også kantsaker som delvis skriving, som kan skje på grunn av kjernepanikk eller strømbrudd og potensielt ødelegge hele filsystemet ditt. Med COW på plass, har en skriving enten skjedd eller ikke skjedd, det er ingen i mellom.
2. Pooling og RAID
Begge filsystemene har til hensikt å eliminere behovet for en volumbehandling, raid og andre abstraksjoner som sitter mellom filsystemet og diskene. Dette er mer robust og pålitelig enn å ha en RAID-kontroller for maskinvare, ganske enkelt fordi den eliminerer et enkelt feilpunkt - selve RAID-kontrolleren.
OpenZFS tilbyr en stabil, pålitelig og brukervennlig RAID-mekanisme. Du kan speile mellom stasjoner, bruke RAIDZ1 som sprer dataene dine over 3 eller flere disker med en paritetsblokk. Så den tåler upton 1 disks feil per Vdev. På samme måte kan RAIDZ2 bruke 4 eller flere disker og tåle opptil 2 disker feiler, og på samme måte har vi RAIDZ3.
Btrfs har også disse funksjonene implementert, forskjellen er ganske enkelt at den kaller dem RAID, i stedet for RAIDZ og så videre. Noen mer kompliserte RAID-oppsett som RAID56 er buggy og ikke egnet for bruk, i skrivende stund.
3. Lisensiering
En av grunnene til at OpenZFS kom så sent på GNU / Linux-økosystemet, er på grunn av lisensekompatibilitet med GNU GPL. Uten å komme inn i for mye detaljer, er Btrfs under GPL som lar brukerne ta kildekoden og endre den, men endringene bør også publiseres under GPL og være åpen kildekode.
OpenZFS er derimot lisensiert under CDDL, noe som er mye mer tillatende og lar brukerne endre og distribuere kode med større grad av frihet.
4. Samfunn og selskaper bak dem
OpenZFS har et massivt samfunn bak seg. FreeBSD-fellesskap, Illumos-fellesskap og mange andre open source-prosjekter er avhengige av OpenZFS og bidrar dermed tilbake til filsystemet. Det har vokst flere ganger når det gjelder kodebase, brukerbase, funksjoner og fleksibilitet helt siden starten. Bedrifter som Delphix, iXsystems, Joyent og mange flere stoler på det og har utviklerne sine jobbet med fordi det er en kjernekomponent i virksomheten deres. Mange flere organisasjoner bruker kanskje OpenZFS uten vår kunnskap, takket være CDDL-lisensen, trenger de ikke komme fram og si rett ut at de bruker den.
Btrfs hadde Red Hat som en av hovedforvalterne i samfunnet. Imidlertid fikk det et stort slag for en stund tilbake da Red Hat avskaffet filsystemet, dette betyr at du ikke vil se det i noen fremtidig RHEL, og selskapet vil ikke gi kommersiell støtte for det uten kasse. SUSE har imidlertid gått så langt som å gjøre det til standard, og det er fortsatt et blomstrende samfunn bak filsystemet med bidrag fra Facebook, Intel og andre 800 pund gorillaer i Silicon Valley.
5. Pålitelighet
ZFS var designet å være pålitelig helt fra begynnelsen. Folk har zpools som går tilbake til begynnelsen av 2000-tallet, som fremdeles er brukbare og garantert ikke vil gi feil data tilbake stille. Ja, det har vært noen få snafus med filer som forsvinner for OpenZFS på Linux, men gitt sin lange historie har banerekorden vært overraskende ren.
Btrfs har derimot hatt problemer helt fra begynnelsen. Med buggy-grensesnitt for å rette opp datatap og filkorrupsjon. Selv nå er det litt latterlig i samfunnet. Gjør av det det du vil.
6. Støttede operativsystemer
Btrfs har opprinnelig hatt et filsystem for Linux mens ZFS ble unnfanget inne i Sun, for Solaris OS. Imidlertid har OpenZFS for lengst blitt portet til FreeBSD, Apples OS X, open source-derivater av Solaris. Støtten for Linux kom litt senere enn man ville ha spådd, men det er her og selskaper er avhengige av det. Et prosjekt for å få det til å kjøre på Microsoft Windows gjør også ganske mye fremgang, selv om det ikke er der ennå.
Konklusjon: En merknad om monokulturer
Alt dette samtalet kan overbevise deg om å bruke OpenZFS for å holde dataene dine trygge, og det er ikke en dårlig handlemåte. Det er objektivt bedre enn Btrfs når det gjelder funksjoner, pålitelighet, fellesskap og mye mer. På sikt kan dette imidlertid ikke være bra for open source-samfunnet generelt.
I et innlegg med tittelen lik denne, forfatteren snakker om det farlige ved monokulturer. Jeg oppfordrer deg til å gå gjennom dette innlegget. Kjernen i det er dette - Alternativer er viktig. En av de største styrkene med Open Source-programvare (og programvare generelt) er at vi har flere muligheter å ta i bruk. Det er Apache og så er det Nginx, det er BSD og Linux, det er OpenSSL og det er LibreSSL.
Hvis det er en dødelig feil i noen av disse viktige teknologiene, vil ikke verden slutte å spinne. Men med utbredelsen av OpenZFS har lagringsteknologien blitt noe av en monokultur. Så jeg vil veldig gjerne at utviklerne og systemprogrammererne som leser dette, ikke adopterer OpenZFS, men prosjekter som Btrfs og HAMMER.