Introduksjon til XFS og Btrfs filsystemer
XFS filsystem: XFS er et høytytende 64-biters journalsystem-filsystem. Den ble opprinnelig utviklet av Silicon Graphics, Inc. i 1993 for IRIX-operativsystemet og ble senere portet til Linux-kjernen i 2001.
Btrfs filsystem: Btrfs eller B-Tree filsystemet er et moderne Copy-on-Write (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 filnavnlengde: XFS-filsystemet støtter filnavn på opptil 255 tegn (255 byte).
- Btrfs-filsystemet støtter også filnavn på opptil 255 tegn (255 byte).
- 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å banen til en fil eller katalog. Så du kan lage dype katalogstrukturer og holde filene dine i disse strukturene.
- Det samme gjelder Btrfs-filsystemet.
- Maks antall filer: Du kan opprette maksimalt 264 (= 18,446,744,073,709,551,616 ~ = 18 quintillion) filer i et XFS-filsystem.
- Det samme gjelder Btrfs-filsystemet.
- Metode for tildeling av inode: En inode er en datasystemstruktur for filsystem som brukes til å beskrive en fil eller en katalog. Så, en enkelt katalog eller fil krever en inode, to kataloger eller filer krever 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 være at du har ledig diskplass igjen på filsystemet, men du vil ikke kunne opprette nye filer / kataloger med mindre du har gratis inoder. Dette er en viktig 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 gjelder også for Btrfs-filsystemet.
- Kontrollsum / ECC-støtte: Btrfs-filsystemet holder crc32c-kontrollsum av dataene og metadataene som er lagret i filsystemet. Så når det gjelder datakorrupsjon, kan Btrfs-filsystemet oppdage korrupsjonen og gjenopprette de ødelagte filene eller metadataene.
- XFS-filsystemet beholder bare CRC32-kontrollsummen av metadataene. Det holder ikke en kontrollsum av dataene som er lagret i filsystemet, i motsetning til Btrfs-filsystemet.
- Journal og Copy-on-Write-støtte: XFS-filsystemet er et journaling-filsystem. Den har ikke Copy-on-Write (CoW) -støtte.
- Btrfs-filsystemet er et Copy-on-Write (CoW) -filsystem og har ikke journalstøtte.
- Øyeblikksbilde av filsystem: XFS-filsystemet kan ikke ta øyeblikksbilder av filsystemet.
- Btrfs-filsystemet kan ta øyeblikksbilder av filsystemet. Med Btrfs kan du ta skrivebeskyttede øyeblikksbilder og skrivbare øyeblikksbilder av filsystemet.
MERK: Filsystemets øyeblikksbilde er en viktig funksjon. Du kan ta et øyeblikksbilde av filsystemet ditt ved hjelp av denne funksjonen før du prøver noen farlige 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 av filsystemnivå: Btrfs-filsystemet støtter ikke kryptering av filsystemnivå.
- Det samme gjelder 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å støtte for deduplisering, men dedupliseringsfunksjonen til XFS-filsystemet er fortsatt eksperimentell.
MERK: Depulication er en teknikk for å eliminere dupliserte kopier av data fra filsystemet og bare beholde en kopi av dataene (unike data) i filsystemet. Denne teknikken brukes til å spare diskplass.
- Støtte for flere enheter: 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 til 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 et enkelt XFS-filsystem over flere disker eller partisjoner. For å kombinere flere lagringsenheter og partisjoner i et XFS-filsystem, må du bruke logiske volumadministratorer fra tredjepart, for eksempel LVM 2. For å konfigurere RAID, må du bruke tredjepartsverktøy som dm-raid eller mdadm.
- XFS-filsystemet er designet for å utføre I / O (input / output) -operasjoner parallelt. Hvis du spenner over XFS-filsystemet over flere enheter ved hjelp av LVM 2 eller en annen logisk volumbehandling, vil filsystemets ytelse bli økt.
- Komprimering på filsystemnivå: XFS-filsystemet inkluderer ikke innebygd støtte for komprimering av filsystemnivå.
- Btrfs-filsystemet inkluderer innebygd komprimeringsstøtte for filsystemnivå. Denne funksjonen lar deg komprimere en enkelt katalog, en enkelt fil eller hele filsystemet for å spare diskplass.
- Offline filsystem Endre størrelse evner: Du kan ikke utvide (øke filsystemstørrelse) eller krympe (redusere filsystemstørrelse) et XFS-filsystem mens filsystemet ikke er montert.
- Du kan utvide (øke filsystemstørrelsen) eller krympe (redusere filsystemstørrelsen) et Btrfs-filsystem mens filsystemet ikke er montert.
- Kapasiteter for online størrelsesendring av filsystem: 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 utvide (øke filsystemstørrelsen) eller krympe (redusere filsystemstørrelsen) et Btrfs-filsystem mens filsystemet er montert.
- Sparsomme filer: Den sparsomme filfunksjonen sparer diskplass når små filer (mindre enn blokkstørrelsen) er lagret på filsystemet. XFS- og Btrfs-filsystemene støtter begge sparsomme filer.
- Blokkér underallokering: Btrfs-filsystemet støtter deling av blokkering.
- XFS-filsystemet støtter ikke blokktildeling.
MERK: Når et filsystem lagrer store filer i et filsystem, brytes den store filen i blokker, og blokkene lagres i filsystemet. Den siste blokken i filen, kalt haleblokken, opptar ikke hele blokken. Når mange små filer er lagret, tar de ikke hele blokken, og mye diskplass blir bortkastet. Blokker underfordeling lar deg lagre deler av en annen filblokk i haleblokken (den siste blokken i en annen fil som ikke okkuperte hele blokken) for å spare diskplass.
- Hale pakking: Btrfs-filsystemet støtter halepakking.
- XFS-filsystemet støtter ikke halepakking.
MERK: Halepakking er en del av blokkdelingen. Som tidligere diskutert, opptar ikke små filer en hel filblokk. For å effektivt lagre små filer (f.eks.g., programkildekoder) i filsystemet brukes haleblokken til en liten fil til å lagre andre små filer. Haleemballasje forbedrer filsystemytelsen og sparer diskplass i filsystemer der mange små filer (f.eks.g., programkildekoder) lagres.
- Omfangsbasert filsystem: Både XFS- og Btrfs-filsystemene er omfangsbaserte filsystemer.
MERK: Et omfang er et sammenhengende område av lagringsenheten reservert for en fil i et filsystem. Ekstensbaserte filsystemer lagrer store filer i et sammenhengende lagringsområde. Dette forbedrer filsystemytelsen og øker lagringseffektiviteten.
- Variabel filblokkstørrelse: Blokkstørrelsen settes før filsystemet opprettes. Når filsystemet er opprettet, kan du ikke endre blokkstørrelsen.
- XFS-filsystemet støtter fast blokkstørrelse.
- Btrfs-filsystemet støtter variabel blokkstørrelse. Filsystemet kan bestemme best mulig blokkstørrelse for å lagre en fil i filsystemet basert på filens størrelse. Denne funksjonen kan spare mye diskplass.
- Allocate-on-flush: Både XFS- og Btrfs-filsystemene støtter allokering på flush.
MERK: Filsystemet tildeler litt bufferplass i systemminnet. Når det er forespø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 de ventende datablokkene til lagringsenheten samtidig. Dette reduserer CPU-bruken, gir raskere diskopptak 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 om sidene (filblokkene) som ikke lenger er nødvendige. SSD sletter de unødvendige sidene (filblokkene) fra flashlagringen og forbereder sidene (filblokkene) for lagring av nye data. Uten TRIM-støtte vil SSD-skrivehastigheten bli gradvis langsommere når SSD-en fylles med nye data.
Fordeler med XFS fremfor Btrfs
XFS er et stabilt 64-biters journalingsfilsystem for lagringsenheter med høy kapasitet.
Du kan bruke XFS-filsystemet av følgende årsaker:
- Parallell I / O-støtte (Input / Output)
XFS-filsystemet støtter parallell I / O og kan gi flere datastrømmer for filer på grunn av utformingen.
- 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).
- Journaling Support
Journalføring sikrer datakonsistens i filsystemet i tilfelle strømbrudd eller systemkrasj. I tilfelle strømbrudd eller systemkrasj, vil dataene som er lagret i journalen, bli gjenopprettet og brukt på filsystemet.
- Direkte I / U
Dette er en viktig funksjon i XFS-filsystemet. Det er viktig for applikasjoner som krever høy lese / skrivehastighet til lagringsenheter. Direkte I / O gir lagringsenheter direkte tilgang til databufferen ved hjelp av DMA (Direct Memory Access) slik at hele I / O-båndbredden til lagringsenheten kan benyttes.
- Garantert rate I / O
XFS-filsystemet kan reservere lagringsenhetens båndbredde for bestemte applikasjoner. Denne funksjonen er ideell for applikasjoner i sanntid (f.eks.g., videostreaming).
Ulemper ved XFS Filesystem
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 volumhåndtering.
- Ingen innebygd RAID-stø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 støtte for øyeblikksbilde
XFS-filsystemet har ikke en filsystem-øyeblikksbilde-funksjon, i motsetning til Btrfs-filsystemet.
- Journaling kan ikke deaktiveres
Som med noen andre journalingfilsystemer, kan du ikke deaktivere journalføringsfunksjonen til XFS-filsystemet. Journaling er ikke bra for USB-minnepinner. Hvis du bruker XFS-filsystemet på en USB-flashstasjon, vil levetiden til USB-flashdisken bli redusert på grunn av journaloverlast.
Fordeler med Btrfs fremfor XFS
Btrfs-filsystemet er et moderne Copy-on-Write (CoW) -filsystem designet for lagringsservere med høy kapasitet og høy ytelse. XFS er også et høyt ytende 64-biters journalsystem-filsystem som også er i stand til parallelle I / O-operasjoner. XFS-filsystemet inneholder mange viktige funksjoner, inkludert Direct I / O, garantert I / O og mer. Sammenlignet med XFS-filsystemet har Btrfs-filsystemet imidlertid mange fordeler.
Fordelene med Btrfs-filsystemet fremfor XFS-filsystemet inkluderer følgende:
i) Innebygde øyeblikksbilder av filsystemnivå.
ii) Støtte for flere enheter.
iii) Innebygd RAID-støtte.
iv) Fleksibel inodetildeling.
v) Optimaliseringer for lagring av mindre filer (sparsomme filer, blokkdelingsallokering, halepakking, variabel blokkstørrelse).
vi) Innebygd komprimeringsstøtte for filsystemnivå.
Dette er filsystemfunksjonene som kan føre til at du velger Btrfs-filsystemet fremfor 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 med å bestemme mellom Btrfs- og XFS-filsystemene. Velg hvilket system som passer best for deg, i henhold til dine unike behov og preferanser.
Referanser:
- XFS - Wikipedia - https: // no.wikipedia.org / wiki / XFS
- Sammenligning av filsystemer - Wikipedia - https: // no.wikipedia.org / wiki / Comparison_of_file_systems
- XFS - ArchWiki - https: // wiki.archlinux.org / indeks.php / XFS