Btrfs vs OpenZFS

Btrfs vs OpenZFS
BTRFS eller B-Tree-filsystem er den nyeste konkurrenten mot OpenZFS, uten tvil det mest spenstige filsystemet der ute. Begge filsystemene deler noen fellestrekk som å ha kontrollsum på datablokker, transaksjonsgrupper og kopieringsmekanisme, noe som gjør dem begge målrettet mot brukergruppene. Så hva er forskjellen og hvilken du bør bruke?

Kop-på-skriv (ku) mekanisme

Begge filsystemene bruker kopieringsmekanisme. Dette betyr at hvis du prøver å endre en fil, vil ingen av filsystemene prøve å overskrive de eksisterende dataene på disken med de nyere dataene. I stedet er 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 lar både filsystemene ha funksjoner som øyeblikksbilder og kloning.

Ku forhindrer også kantsaker som delvise skriver, noe som kan skje på grunn av kjernepanikk eller strømbrudd og potensielt ødelegge hele hele filsystemet. Med ku på plass har en skriving enten skjedd eller ikke skjedd, det er ingen i mellom.

Sammenslå og raid

Begge filsystemene har til hensikt å eliminere behovet til en volumleder, raid og andre abstraksjoner som sitter mellom filsystemet og diskene. Dette er mer robust og pålitelig enn å ha en maskinvareangrepskontroller, ganske enkelt fordi det eliminerer et enkelt feilpunkt - selve raidkontrolleren.

OpenZFS tilbyr en stabil, pålitelig og brukervennlig raidmekanisme. Du kan speile mellom stasjoner, bruke RAIDZ1 som sprer dataene dine over 3 eller mer disk med en paritetsblokk. Så det tåler Upton 1 Disks feil per vdev. Tilsvarende kan RAIDZ2 bruke 4 eller flere disker og tåle opptil 2 disker som svikter, 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 -array -oppsett som RAID56 er buggy og ikke egnet til bruk, på dette tidspunktet.

Lisensiering

En av grunnene til at OpenZFs kom så sent på GNU/Linux -økosystemet, er på grunn av lisensens inkompatibilitet med GNU GPL. Uten å komme inn for mye detaljer, er BTRFS under GPL som lar brukere ta kildekode og endre den, men endringene bør også publiseres under GPL og holde open source.

OpenZFS derimot, er lisensiert under CDDL, som er mye mer tillatt og lar brukerne endre og distribuere kode med større grad av frihet.

Lokalsamfunn og selskaper bak dem

OpenZFS har et massivt samfunn bak seg. FreeBSD Community, Illumos Community og mange andre open source -prosjekter er avhengige av OpenZFs og bidrar dermed tilbake til filsystemet. Den har vokst flere ganger når det gjelder kodebase, brukerbase, funksjoner og fleksibilitet helt siden starten. Selskaper som Delphix, IxSystems, Joyent og mange er flere avhengige av det og får utviklerne sine til å jobbe med fordi det er en kjernekomponent i virksomheten deres. Mange flere organisasjoner bruker kanskje OpenZFer uten vår viten, takket være CDDL-lisensen, de trenger ikke å komme frem og si ut til høyre at de bruker den.

BTRF -er hadde rød hatt som en av de viktigste forvalteren i samfunnet. Imidlertid mottok det et stort slag for en stund tilbake da Red Hat avskrev filsystemet, dette betyr at du ikke vil se det i noen fremtid. SUSE har imidlertid gått så langt som å gjøre det til deres standard, og det er fremdeles et blomstrende samfunn bak filsystemet med bidrag fra Facebook, Intel og andre 800 pund gorillaer i Silicon Valley.

Pålitelighet

ZFS var designet å være pålitelig helt fra begynnelsen. Folk har zpools som dateres tilbake til begynnelsen av 2000 -tallet som fremdeles er brukbare og garantert ikke returnerer feilaktig data stille. Ja, det har vært noen få snafus med filer som forsvant på OpenZFs på Linux, men gitt den lange historien har merket vært overraskende ren.

BTRFS har derimot hatt problemer helt fra begynnelsen. Med buggy grensesnitt for å rette opp tap av data og filkorrupsjon. Selv nå er det litt av et lattermildt lager i samfunnet. Lage det det du vil.

Støttet os

BTRFS har hatt sin opprinnelse har et filsystem for Linux mens ZFS ble unnfanget i solen, for Solaris OS. Imidlertid har OpenZFs for lengst blitt portert til FreeBSD, Apples OS X, Open Source -derivater av Solaris. Det er støtten til 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 helt der ennå.

Konklusjon: En merknad om monokulturer

All denne samtalen kan overbevise deg om å bruke OpenZFs for å holde dataene dine trygge, og det er ikke et dårlig handlingsforløp. Det er objektivt bedre enn BTRFer når det gjelder funksjoner, pålitelighet, fellesskap og mye mer. Imidlertid er dette på lang sikt kanskje ikke bra for open source -samfunnet, generelt.

I et innlegg med tittelen på samme måte som denne, snakker forfatteren om monokulturens farlige. Jeg oppfordrer deg til å gå gjennom dette innlegget. Kjernen i det er dette - Alternativer er viktige. En av de største styrkene ved open source -programvare (og programvare generelt) er at vi har flere alternativer for å ta i bruk. Det er Apache og så er det Nginx, det er BSD -er 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 å snurre. Men med utbredelsen av OpenZF -er har lagringsteknologien blitt noe av en monokultur. Så jeg vil veldig gjerne at utviklerne og systemprogrammerere som leser dette, for å adoptere ikke OpenZFs, men prosjekter som BTRFS og Hammer.