Hvilke filsystemer man skal vælge mellem EXT4, Btrfs og ZFS til servere

Valg af det korrekte filsystem, der skal bruges på en NAS-server er en meget vigtig beslutning, afhængigt af den brug, vi skal give det, kan vi vælge et eller flere filsystemer, da det kunne give os højere ydeevne, bedre dataintegritet og andre funktioner. Generelt understøtter NAS -serveroperativsystemer som QNAP, Asustor eller Synology det populære EXT4 -filsystem, men også Btrfs og endda ZFS. Hvilket filsystem skal jeg vælge til min hjem eller virksomhed NAS -server?

Hvad er et filsystem, og hvad skal de bruges til?

EXT4, Btrfs og ZFS til servere

Alle operativsystemer indeholder et filsystem eller flere forskellige filsystemer, der skal styres hvordan oplysninger gemmes og hentes fra forskellige medier , såsom harddiske, SSD drev, og også flytbare lagerdrev såsom pen -drev eller hukommelseskort. hukommelse. Hvis vi ikke havde et filsystem, ville operativsystemet ikke vide, hvor en bestemt registreret data slutter, og hvor de næste begynder, derfor er det et af de vigtigste aspekter, vi skal tage højde for.

Hovedfunktionerne i ethvert filsystem er at allokere plads til de forskellige filer, administrere ledig plads, strukturere de gemte oplysninger, så de er let og hurtigt tilgængelige. Et andet meget vigtigt aspekt, som vi skal tage højde for, er sektorerne, nærmere bestemt deres størrelse, i disse sektorer er, hvor oplysningerne gemmes. Andre kendetegn ved filsystemerne er, at de giver metoder til at oprette, kopiere, flytte, omdøbe og endda slette de filer og mapper, vi har på medierne. Filsystemer indeholder også nogle meget vigtige funktioner såsom adgangskontrollister (ACL) til at kontrollere tilladelser, mekanismer til at undgå eller afbøde fragmentering, muligheden for at have journalføring (forbedrer filsystemets integritet) og muligheden for at konfigurere diskkvoter blandt andre funktionaliteter.

Vi har i øjeblikket i alt tre forskellige filsystemer, der er meget udbredt i NAS -servere fra forskellige producenter, og selvfølgelig i Linux og FreeBSD-baserede operativsystemer til datalagring på servere, disse filsystemer er EXT4, Btrfs og ZFS, de tre filsystemer har forskellige egenskaber, og nogle fungerer bedre i forskellige scenarier.

EKST4

EXT4 er hovedfilsystemet i ethvert Linux-baseret operativsystem, dette filsystem er transaktionelt (med journalføring) og indeholder meget vigtige forbedringer i forhold til sine forgængere, såsom understøttelse af større mængder, lavere CPU brug og forbedringer i læse- og skrivehastigheden. Nogle meget vigtige egenskaber ved EXT4 er, at det tillader reservation af diskplads uden at skulle fylde alt med nuller, noget der normalt blev gjort i andre filsystemer, desuden er dette reserverede rum normalt sammenhængende for at undgå eller afbøde filsystemfragmentering, denne funktion er relateret til “Allocate-on-flush” eller kendt som forsinket hukommelsesreservation, dette består i at reservere hukommelsesblokken lige når den er ved at blive skrevet til disk, dette forbedrer ydeevnen og reducerer fragmentering.

EXT4 har teknikker til at undgå fragmentering som den, vi har forklaret, men det har også et værktøj til at defragmentere individuelle filer eller hele diskenheden uden at skulle afmontere disken, selvom det er logisk, mens vi er i gang med defragmentering et mere filsystem langsomt.

Dette filsystem har følgende egenskaber og grænser:

  • Maksimal filstørrelse: 16TiB ved hjælp af 4K -blokke.
  • Maksimalt antal filer: 4 mia
  • Maksimal filstørrelse: 255 bytes
  • Maksimal volumenstørrelse: 1EiB
  • Gennemsigtig datakryptering: ja
  • Kopi på skrive: nej
  • Gennemsigtig kompression: nej
  • Gennemsigtig deduplikering: nej

Når vi har kendt de vigtigste funktioner i EXT4, vil vi tale om Btrfs, som er kendt som en naturlig efterfølger til EXT4 -filsystemet.

btrfs

Btrfs -filsystemet blev født som en naturlig efterfølger til EXT4, dets mål er at erstatte det ved at fjerne så mange af dets begrænsninger, især hvad angår filernes maksimale størrelse. Hovedegenskaberne ved dette filsystem er, at det hovedsageligt er orienteret mod servere, det har en dynamisk allokering af inoder, det er ikke nødvendigt at angive et maksimalt antal ved oprettelse af filsystemet, som det sker med EXT4, det giver mulighed for at konfigurere mængder i en meget avanceret, med mulighed for at konfigurere snapshots eller skrivbare snapshots og tillader også snapshots af snapshots. Andre funktioner er, at det tillader spejling og stripning på målniveau, hvis vi har flere harddiske, det er i stand til at udføre data og metadata -verifikation i realtid for at maksimere dataintegriteten.

Dette filsystem anvender registreringsdatabasen kopi-på-skrivning af alle data og metadata, det tillader også inline-komprimering for at spare diskplads. Btrfs er i stand til at kontrollere filsystemet uden at skulle afmontere det, og hvis vi afmonterer det, er kontrollen virkelig hurtig, selvfølgelig har den en optimeret tilstand til SSD -drev og gør det muligt at defragmentere uden at afmontere den.

Dette filsystem har følgende egenskaber og grænser:

  • Maksimal filstørrelse: 16EiB.
  • Maksimalt antal filer: 18 billioner.
  • Maksimal filstørrelse: 255 bytes
  • Maksimal volumenstørrelse: 16EiB.
  • Gennemsigtig datakryptering: nej
  • Kopi på skrive: ja
  • Gennemsigtig kompression: ja
  • Deduplikering: ja

Nu hvor du kender hovedfunktionerne i Btrfs, lad os tale om ZFS, et af de mest avancerede filsystemer, der er tilgængelige til Linux og Unix -operativsystemer.

ZFS

ZFS -filsystemet er et af de mest avancerede, der findes i dag, det skiller sig ud ved sin store kapacitet, for sin store sikkerhed vedrørende dataintegritet og for sin store præstation i læsning og skrivning. ZFS bruger "Storage Pools" eller også kendt som vdevs, i modsætning til traditionelle filsystemer, der er placeret oven på en hardwareenhed, f.eks. En harddisk, og derfor kræver en separat volumenhåndtering. Takket være disse vdevs kan vi konfigurere forskellige "puljer" af enkel type, spejl eller bruge den populære RAID-Z til at levere både dataredundans og højere ydeevne. Derudover kan ZFS -filsystemet udstyres med SSD -drev, der fungerer som en cache eller også kendt som "ZFS Intent Log" eller "ZIL" for yderligere at forbedre ydeevnen.

Dette filsystem anvender en transaktionsmodel med kopi-på-skrivning, det betyder, at de aktive data aldrig overskrives, men kopieres til et andet sted, og de ændrede data skrives til det med det formål at forbedre filintegriteten i høj grad i tilfælde af strømafbrydelse. Vi skal også tage højde for, at ZIL bruges til at reducere overhead, når der er behov for synkrone skrivninger. Den negative del af CoW er, at vi vil have en høj fragmentering, og i øjeblikket har ZFS ingen metode til at defragmentere filsystemet, selvom vi i de næste versioner arbejder på at forbedre dette aspekt.

Andre egenskaber ved ZFS er, at filsystemet kaldes et datasæt, som er inde i en "lagringspuljer", dette datasæt kan være af filsystemtypen, der er som en normal og nuværende volumen, eller også som en zvol, der ville være en enhed af blokke. Afhængigt af vores behov bliver vi nødt til at oprette en eller flere typer datasæt. En anden meget vigtig egenskab ved datasæt er snapshots eller også kendt som snapshots, ZFS -filsystemet er i stand til at tage i alt 281 milliarder snapshots, desuden er de lavet i realtid på grund af hvordan dette filsystem er oprettet internt.

Dette filsystem giver os mulighed for at konfigurere komprimering online ved at bruge forskellige komprimeringsalgoritmer til at forbedre læse- og skrivehastighed eller forbedre komprimering og spare mere plads. Vi kan også konfigurere deduplikeringsfunktionen, en funktion, der giver os mulighed for at spare meget diskplads, den negative del er, at den bruger en stor mængde RAM, så du er muligvis ikke så interesseret i at aktivere denne funktionalitet.

Dette filsystem har følgende egenskaber og grænser:

  • Maksimal filstørrelse: 16EiB.
  • Maksimalt antal filer: 281 mia.
  • Maksimal filstørrelse: 255 bytes
  • Maksimal volumenstørrelse: 16EiB.
  • Datakryptering: ja
  • Kopi på skrive: ja
  • Gennemsigtig gennemsigtig komprimering: ja
  • Gennemsigtig deduplikering: ja

I denne artikel har vi detaljeret forklaret dette ZFS -filsystem, både dets egenskaber og dets konfiguration i forskellige operativsystemer orienteret mod NAS -servere. Nu hvor vi ved, hvilke der er de tre mest anvendte filsystemer til NAS -servere, lad os se på deres styrker og svagheder.

Hvilket filsystem skal jeg vælge til min NAS?

Når vi har set hovedkarakteristika ved de forskellige filsystemer, som vi kan bruge i en hjemme- og / eller professionel NAS -server, vil vi se fordele og ulemper ved hver af dem.

EXT4 -filsystemet er det ældste af alle, og det er mere end bevist, så dette filsystem er meget stabilt, faktisk er det stadig standardfilsystemet for langt de fleste Linux -distributioner som Debian, Ubuntu eller operativsystemerne i QNAP, Synology og Asustor. Hvis du har brug for at gemme en stor mængde data, oprette RAID og alt, hvad det indebærer, og opnå den bedste læse- / skriveydelse med det lavest mulige ressourceforbrug, opfylder EXT4 sikkert alle dine behov. Dette filsystem indeholder journaling, så du bør ikke have datatab i tilfælde af strømsvigt, men Btrfs og ZFS i denne henseende er klart bedre.

Btrfs forbedrer mange negative aspekter af EXT4, såsom filstørrelsesbegrænsninger og mere, dette filsystem bruger kopi-på-skriv og var designet til meget store servere, hvor vi vil gemme en masse information, derfor har vi mange avancerede funktioner at EXT4 ikke inkorporerer, såsom gennemsigtig datakryptering, komprimering og deduplikering. Vi skal også tage højde for, at det indeholder integrerede snapshots, noget som EXT4 ikke har, det understøtter RAID og en fleksibel tildeling af inoderne. Det er imidlertid blevet verificeret, at dette Btrfs -filsystem bruger flere systemressourcer end EXT4, derudover vil vi opnå mindre læse- og skrivehastighed under de samme betingelser (samme hardware og samme type filer, der skal overføres).

ZFS -filsystemet er et af de mest avancerede, der i øjeblikket eksisterer, dette filsystem ligner Btrfs, men indeholder virkelig interessante funktioner såsom muligheden for at tilføje nye enheder til det nuværende lager og tilføje nyt rum med det samme, hvilket gør «RAID», der vi havde i de andre filsystemer. ZFS står for skalerbarhed, stor datalagringskapacitet, beskyttelse mod datakorruption (integritet) og effektiv datakomprimering, deduplikering og hurtige snapshot -muligheder. Andre funktioner er, at det giver dig mulighed for løbende at kontrollere integriteten og foretage en automatisk reparation på en helt gennemsigtig måde. Den negative del af ZFS er, at den bruger mange ressourcer, især RAM -hukommelse, og hvis du aktiverer deduplikering, vil du have et betydeligt ekstra RAM -forbrug.

Hvis du har en NAS-server med lavt mellemrum, er det klart, at filsystemet du skal bruge er EXT4, hvis du har en mellemhøj eller high-end NAS, kan du vælge Btrfs eller ZFS, afhængigt af om din systembetjening understøtter det. Hvis du skal bruge ZFS, skal du huske på, at deduplikering bruger en stor mængde RAM, det er et handicap, som vi skal betale for at spare en stor mængde lagerplads.