Sammenligning mellom BTRFS og XFS -filsystemer

Sammenligning mellom BTRFS og XFS -filsystemer
Det er mange filsystemer tilgjengelig for bruk med Linux. De vanligste Linux -filsystemene inkluderer Ext4, BTRFS, XFS og ZFS. Hvert filsystem har sine unike brukssaker, fordeler og ulemper. På grunn av mangfoldet av tilgjengelige alternativer, kan du ha vanskelig for å bestemme hvilket filsystem du skal bruke.For å hjelpe deg med ditt valg, sammenligner denne artikkelen XFS og BTRFS -filsystemene. Hvis du har vanskelig for å bestemme om du vil bruke XFS -filsystemet eller BTRFS -filsystemet, bør denne artikkelen hjelpe. La oss starte!

Introduksjon til XFS og BTRFS Filsystems

XFS -filsystem: XFS er et 64-biters journalfilsystem med høy ytelse. Det ble opprinnelig utviklet av Silicon Graphics, Inc. I 1993 for Irix -operativsystemet og ble senere portert til Linux -kjernen i 2001.

BTRFS Filsystem: BTRFS eller B-Tree Filesystem er et moderne kopiering (COW) -filsystem. Det er nytt sammenlignet med EXT -filsystemet. BTRFS ble opprinnelig designet for Linux -operativsystemene av Oracle Corporation i 2007. I november 2013 ble BTRFS -filsystemet erklært stabilt for Linux -kjernen.

Funksjonssammenligning

XFS- og BTRFS -filsystemene ble designet for å løse forskjellige typer problemer. Selv om designmålet til XFS -filsystemet var annerledes enn BTRFS -filsystemet, fordi de begge er filsystemer, kan vi sammenligne dem i dybden.

  • Maksimal partisjonsstørrelse: XFS -filsystemet støtter partisjonsstørrelser på opptil 1 byte mindre enn 8 EIB (8 EIB - 1 byte).
  • BTRFS -filsystemet støtter partisjonsstørrelser på opptil 16 EIB.
  • Maksimal filstørrelse: XFS -filsystemet støtter filstørrelser på opptil 1 byte og mindre enn 8 EIB (8 EIB - 1 byte).
  • BTRFS -filsystemet støtter filstørrelser på opptil 16 EIB.
  • Maksimal filnavn Lengde: XFS -filsystemet støtter filnavn opptil 255 tegn (255 byte) i lengde.
  • BTRFS -filsystemet støtter også filnavn opptil 255 tegn (255 byte) i lengde.
  • Tillatte tegn i katalog og filnavn: XFS -filsystemet tillater alle tegn unntatt / og NULL (\ 0) tegn i katalog og filnavn.
  • BTRFS -filsystemet tillater også alle tegn unntatt / og NULL (\ 0) tegn i katalog og filnavn.

MERK: Du kan ikke opprette en fil eller katalog med navnet . og .. i et av XFS- eller BTRFS -filsystemene.

  • Maksimal banelengde: XFS -filsystemet har ingen grenser for lengden på en fil eller katalog. Så du kan lage dype katalogstrukturer og oppbevare filene dine i disse strukturene.
  • Det samme er tilfelle for BTRFS -filsystemet.
  • Maks antall filer: Du kan opprette maksimalt 264 (= 18.446.744.073.709.551.616 ~ = 18 kvintillion) filer i et XFS -filsystem.
  • Det samme er tilfelle for BTRFS -filsystemet.
  • Inodeallokeringsmetode: En inode er en filsystem datastruktur som brukes til å beskrive en fil eller en katalog. Så en enkelt katalog eller fil krever en inode, to kataloger eller filer vil kreve to inoder, og så videre.
  • I Ext4 -filsystemet definerer du antall inoder filsystemet kan støtte når du oppretter filsystemet. Du kan ikke endre dette etter at filsystemet er opprettet. Hvis du oppretter for mange små filer, kan det hende du har gratis diskplass igjen på filsystemet ditt, men du vil ikke kunne lage nye filer/kataloger med mindre du har gratis inoder. Dette er en stor begrensning for Ext4 -filsystemet.
  • I motsetning til ext4 -filsystemet, er inodetildeling fleksibel i XFS -filsystemet. Så filsystemet kan legge til så mange inoder som nødvendig, og du vil aldri gå tom for inoder.
  • Ovennevnte er også sant for BTRFS -filsystemet.
  • Sjekksum/ECC -støtte: BTRFS -filsystemet holder CRC32C -kontrollsum for dataene og metadataene som er lagret i filsystemet. Så i tilfelle av datakorrupsjon kan BTRFS -filsystemet oppdage korrupsjonen og gjenopprette de ødelagte filene eller metadataene.
  • XFS -filsystemet holder bare CRC32 Checksum of Metadata. Det holder ikke en kontroll av dataene som er lagret i filsystemet, i motsetning til BTRFS -filsystemet.
  • Journal og kopiering av kopiering: XFS -filsystemet er et journalføringsfilsystem. Den har ikke kopiering (ku) støtte.
  • BTRFS-filsystemet er et Copy-on-Write (COW) filsystem, og det har ikke tidsskriftstøtte.
  • Filesystem Snapshot: XFS -filsystemet kan ikke ta øyeblikksbilder av filsystemet.
  • BTRFS -filsystemet kan ta øyeblikksbilder av filsystemet. Med BTRF-er kan du ta skrivebeskyttede øyeblikksbilder og skrivbare øyeblikksbilder av filsystemet.

MERK: Filesystemets øyeblikksbilde er en viktig funksjon. Du kan ta et øyeblikksbilde av filsystemet ditt ved å bruke denne funksjonen før du prøver noen risikable handlinger. Hvis ting ikke går som planlagt, lar et øyeblikksbilde deg gå tilbake til en tidligere tilstand der alt i systemet fungerte. Dette er en innebygd funksjon i BTRFS-filsystemet. Du trenger ikke tredjepartsverktøy eller programvare for å generere et øyeblikksbilde av et BTRFS-filsystem.

  • Kryptering på filsystemnivå: BTRFS-filsystemet støtter ikke kryptering på filsystemnivå på nivå.
  • Det samme er tilfelle for XFS -filsystemet.
  • Deduplisering av filsystemnivå: BTRFS -filsystemet støtter deduplisering på filsystemnivå. Du trenger ikke tredjepartsverktøy eller programvare for å bruke denne funksjonen.
  • XFS -filsystemet har også deduplication -støtte, men deduplikasjonsfunksjonen til XFS -filsystemet er fremdeles eksperimentell.

MERK: DePulication er en teknikk for å eliminere dupliserte kopier av data fra filsystemet og bare holde en kopi av dataene (unike data) i filsystemet. Denne teknikken brukes til å spare diskplass.

  • Flere enheter støtter: BTRFS-filsystemet støtter flere enheter og inkluderer innebygd RAID-støtte. BTRFS-filsystemet har en innebygd logisk volumbehandling (LVM) for å legge til flere lagringsenheter eller partisjoner i et enkelt BTRFS-filsystem. Et enkelt BTRFS -filsystem kan spenne over flere disker og partisjoner.
  • XFS -filsystemet støtter ikke flere enheter, noe som betyr at du ikke kan spenne over et enkelt XFS -filsystem over flere disker eller partisjoner. For å kombinere flere lagringsenheter og partisjoner i et XFS-filsystem, må du bruke tredjeparts logiske volumledere, for eksempel LVM 2. For å sette opp raid, må du bruke tredjepartsverktøy som for eksempel DM-Raid eller Mdadm.
  • XFS -filsystemet ble designet for å utføre I/O (input/output) operasjoner parallelt. Hvis du spenner over XFS -filsystemet over flere enheter som bruker LVM 2 eller en annen logisk volumbehandling, vil filsystemytelsen bli økt.
  • Komprimering på filsystemnivå: XFS-filsystemet inkluderer ikke innebygd kompresjonsstøtte på filsystemnivå.
  • BTRFS-filsystemet inkluderer innebygd filsystem-kompresjonsstøtte. Denne funksjonen lar deg komprimere en enkelt katalog, en enkelt fil eller hele filsystemet for å lagre diskplass.
  • Offline filsystem Endre størrelse på funksjoner: Du kan ikke vokse (øke filsystemstørrelsen) eller krympe (redusere filsystemstørrelsen) Et XFS -filsystem mens filsystemet ikke er montert.
  • Du kan vokse (øke filsystemstørrelsen) eller krympe (reduser filsystemstørrelse) et BTRFS -filsystem mens filsystemet ikke er montert.
  • Online filsystem Endre størrelse på funksjoner: Du kan vokse (øke filsystemstørrelsen) Et XFS -filsystem mens filsystemet er montert, men du kan ikke krympe (redusere filsystemstørrelsen) et XFS -filsystem mens filsystemet er montert.
  • Du kan vokse (øke filsystemstørrelsen) eller krympe (redusere filsystemstørrelse) et BTRFS -filsystem mens filsystemet er montert.
  • Sparsomme filer: Den sparsomme filfunksjonen lagrer diskplass når små filer (mindre enn blokkstørrelsen) er lagret på filsystemet. XFS og BTRFS -filsystemene støtter begge sparsomme filer.
  • Blokk underfordeling: BTRFS-filsystemet støtter blokkeringsfordeling.
  • XFS-filsystemet støtter ikke underfordeling av blokkering.

MERK: Når et filsystem lagrer store filer i et filsystem, blir den store filen brutt inn i blokker, og blokkene lagres i filsystemet. Den siste blokken av filen, kalt Tail Block, okkuperer ikke hele blokken. Når mange små filer er lagret, okkuperer de ikke hele blokken, og mye diskplass er bortkastet. Blokk underfordeling lar deg lagre deler av en annen filblokk i haleblokken (den siste blokken av en annen fil som ikke okkuperte hele blokken) for å lagre diskplass.

  • Halepakking: BTRFS -filsystemet støtter halepakking.
  • XFS -filsystemet støtter ikke halepakking.

MERK: Halepakking er en del av blokkering av underfordeling. Som tidligere diskutert, opptar ikke små filer en hel filblokk. Å lagre små filer effektivt (e.g., Programkildekoder) I filsystemet brukes haleblokken til en liten fil til å lagre andre små filer. Halepakking forbedrer filsystemets ytelse og lagrer diskplass i filsystemer der mange små filer (e.g., Programkodekoder) lagres.

  • Omfangsbasert filsystem: Både XFS- og BTRFS-filsystemene er utstrekningsbaserte filsystemer.

MERK: En grad er et sammenhengende område av lagringsenheten som er reservert for en fil i et filsystem. Omfangsbaserte filsystemer lagrer store filer i et sammenhengende lagringsområde. Dette forbedrer filsystemets ytelse og øker lagringseffektiviteten.

  • Variabel filblokkstørrelse: Blokkstørrelsen er satt før filsystemet opprettes. Når filsystemet er opprettet, kan du ikke endre blokkstørrelse.
  • XFS -filsystemet støtter fast blokkstørrelse.
  • BTRFS -filsystemet støtter variabel blokkstørrelse. Filsystemet kan bestemme best mulig blokkeringsstørrelse for å lagre en fil på filsystemet basert på størrelsen på filen. Denne funksjonen kan spare mye diskplass.
  • Tildeler-på-flush: Både XFS- og BTRFS-filsystemene støtter all-on-flush.

MERK: Filsystemet tildeler noe bufferplass i systemminnet. Når det er diskforespørsler om diskskriving, skriver ikke filsystemet datablokkene direkte på lagringsenheten. I stedet lagrer filsystemet datablokkene i bufferminnet. Når bufferminnet er fullt, skriver filsystemet alle ventende datablokker til lagringsenheten på en gang. Dette reduserer CPU -bruken, farts opp disken og reduserer diskfragmentering.

  • Trim støtte: Både XFS- og BTRFS -filsystemene støtter trim, som er en veldig viktig funksjon for SSD -lagringsenheter.

MERK: Når du fjerner en fil fra en SSD, varsler TRIM -kommandoen SSD -lagringsenheten til sidene (filblokker) som ikke lenger er nødvendig. SSD sletter unødvendige sider (filblokker) fra flash -lagringen og utarbeider sidene (filblokker) for lagring av nye data. Uten trimstøtte ville SSD -skrivehastigheten bli gradvis tregere når SSD fylles med nye data.

Fordeler med XFS i forhold til BTRF -er

XFS er et stabilt 64-biters journalføringsfilsystem for lagringsenheter med høy kapasitet.

Du kan bruke XFS -filsystemet av følgende grunner:

  • Parallell I/O (input/output) støtte

XFS -filsystemet støtter parallell I/O og kan gi flere datastrømmer for filer på grunn av designen.

  • Stor partisjonsstøtte

XFS -filsystemet støtter partisjonsstørrelser på opptil 8 EIB (opptil 8 EIB - 1 byte).

  • Stor filstøtte

XFS -filsystemet støtter filstørrelser på opptil 8 EIB (opptil 8 EIB - 1 byte).

  • Journalstøtte

Journalisering sikrer datakonsistens i filsystemet i tilfelle strømbrudd eller systemkrasj. I tilfelle strømbrudd eller systemkrasj, vil dataene som er lagret i tidsskriftet bli gjenopprettet og brukt på filsystemet.

  • Direkte I/O

Dette er en viktig funksjon i XFS -filsystemet. Det er viktig for applikasjoner som krever høy lesning/skrivehastighet til lagringsenheter. Direkte I/O tillater lagringsenheter direkte tilgang til databufferen ved hjelp av DMA (Direct Memory Access) slik at hele I/O -båndbredden til lagringsenheten kan brukes.

  • Garantert rate I/O

XFS -filsystemet kan reservere båndbredden til lagringsenheten for visse applikasjoner. Denne funksjonen er ideell for sanntidsapplikasjoner (e.g., videostreaming).

Ulemper med XFS -filsystemet

Det er noen ulemper med XFS -filsystemet.

Ulemper med XFS -filsystemet inkluderer følgende:

  • Ingen innebygd LVM-støtte

Sammenlignet med BTRFS-filsystemet, har ikke XFS-filsystemet en innebygd logisk volumbehandling. Så du må bruke LVM 2 For logisk volumstyring.

  • Ingen innebygd raidstøtte

Sammenlignet med BTRFS-filsystemet, har ikke XFS-filsystemet innebygd RAID-støtte. Så du må bruke DM-Raid eller Mdadm For å konfigurere RAID.

  • Ingen øyeblikksbilde støtte

XFS -filsystemet har ikke et øyeblikksbildefunksjon.

  • Journalføring kan ikke deaktiveres

Som med noen andre journalføringsfilsystemer, kan du ikke deaktivere journalføringsfunksjonen i XFS -filsystemet. Journalering er ikke bra for USB -flash -stasjoner. Hvis du bruker XFS -filsystemet på en USB -flash -stasjon, vil levetiden til USB -flash -disken reduseres på grunn av journalføringsoverbelastningen.

Fordeler med BTRFs over XFS

BTRFS-filsystemet er et moderne copy-on-write (COW) -filsystem designet for høykapasitet og lagringsservere med høy ytelse. XFS er også et 64-biters journalføringsfilsystem med høy ytelse som også er i stand til parallell I/O-operasjoner. XFS-filsystemet inneholder mange viktige funksjoner, inkludert direkte I/O, garantert rate I/O og mer. Sammenlignet med XFS -filsystemet, har imidlertid BTRFS -filsystemet mange fordeler.

Fordelene med BTRFS -filsystemet over XFS -filsystemet inkluderer følgende:

i) Innebygde øyeblikksbilder på filsystemnivå.

ii) Flere enhetsstøtte.

iii) Innebygd raidstøtte.

iv) Fleksibel inodildeling.

v) Optimaliseringer for lagring av mindre filer (Sparsomme filer, blokkering av underfordeling, halepakking, variabel blokkstørrelse).

vi) Innebygd kompresjonsstøtte på filsystemnivå.

Dette er filsystemfunksjonene som kan føre til at du velger BTRFS -filsystemet over XFS -filsystemet.

Konklusjon

Denne artikkelen sammenlignet BTRFS- og XFS -filsystemene, inkludert en sammenligning av de viktigste funksjonene i hvert filsystem. Denne artikkelen skal hjelpe deg å bestemme mellom BTRFS og XFS Filsystems. Velg hvilket system som fungerer best for deg, i henhold til dine unike behov og preferanser.

Referanser:

  1. XFS - Wikipedia - https: // en.Wikipedia.org/wiki/xfs
  2. Sammenligning av filsystemer - Wikipedia - https: // no.Wikipedia.org/wiki/sammenligning_of_file_systems
  3. XFS - Archwiki - https: // wiki.Archlinux.org/indeks.PHP/XFS