Introduktion til XFS og Btrfs filsystemer
XFS-filsystem: XFS er et højtydende 64-bit journaliseringsfilsystem. Det blev oprindeligt udviklet af Silicon Graphics, Inc. i 1993 til IRIX-operativsystemet og blev senere overført til Linux-kernen i 2001.
Btrfs filsystem: Btrfs eller B-Tree filsystemet er et moderne Copy-on-Write (CoW) filsystem. Det er nyt sammenlignet med Ext-filsystemet. Btrfs blev oprindeligt designet til Linux-operativsystemerne af Oracle Corporation i 2007. I november 2013 blev Btrfs-filsystemet erklæret stabilt for Linux-kernen.
Funktionssammenligning
XFS- og Btrfs-filsystemerne blev designet til at løse forskellige typer problemer. Selvom designmålet for XFS-filsystemet var forskelligt fra Btrfs-filsystemet, fordi de begge er filsystemer, kan vi sammenligne dem i dybden.
- Maksimal partitionsstørrelse: XFS-filsystemet understøtter partitionsstørrelser på op til 1 byte mindre end 8 EiB (8 EiB - 1 byte).
- Btrfs-filsystemet understøtter partitionsstørrelser på op til 16 EiB.
- Maksimal filstørrelse: XFS-filsystemet understøtter filstørrelser på op til 1 byte og mindre end 8 EiB (8 EiB - 1 byte).
- Btrfs-filsystemet understøtter filstørrelser på op til 16 EiB.
- Maksimal filnavnlængde: XFS-filsystemet understøtter filnavne på op til 255 tegn (255 byte) i længden.
- Btrfs-filsystemet understøtter også filnavne på op til 255 tegn (255 byte) i længden.
- Tilladte tegn i telefonbogen og filnavne: XFS-filsystemet tillader alle tegn undtagen / og NUL (\ 0) tegn i katalog- og filnavne.
- Btrfs-filsystemet tillader også alle tegn undtagen / og NUL (\ 0) tegn i katalog- og filnavne.
BEMÆRK: Du kan ikke oprette en fil eller et bibliotek med navnet . og .. i et af XFS- eller Btrfs-filsystemerne.
- Maksimal kurlængde: XFS-filsystemet har ingen grænser for længden af stien til en fil eller mappe. Så du kan oprette dybe katalogstrukturer og holde dine filer i disse strukturer.
- Det samme gælder for Btrfs-filsystemet.
- Maks. Antal filer: Du kan maksimalt oprette 264 (= 18,446,744,073,709,551,616 ~ = 18 quintillion) filer i et XFS-filsystem.
- Det samme gælder for Btrfs-filsystemet.
- Metode til tildeling af inode: En inode er en filsystemdatastruktur, der bruges til at beskrive en fil eller et bibliotek. Så en enkelt mappe eller fil kræver en inode, to mapper eller filer kræver to inoder osv.
- I Ext4-filsystemet definerer du antallet af inoder, filsystemet kan understøtte, når du opretter filsystemet. Du kan ikke ændre dette, når filsystemet er oprettet. Hvis du opretter for mange små filer, har du muligvis ledig plads på dit filsystem, men du kan ikke oprette nye filer / mapper, medmindre du har gratis inoder. Dette er en vigtig begrænsning for Ext4-filsystemet.
- I modsætning til Ext4-filsystemet er allokering af inoder fleksibel i XFS-filsystemet. Så filsystemet kan tilføje så mange inoder som nødvendigt, og du løber aldrig tør for inoder.
- Ovenstående gælder også for Btrfs-filsystemet.
- Kontrolsum / ECC-support: Btrfs-filsystemet holder crc32c-kontrolsum af de data og metadata, der er gemt i filsystemet. Så i tilfælde af datakorruption kan Btrfs-filsystemet opdage korruption og gendanne de beskadigede filer eller metadata.
- XFS-filsystemet opbevarer kun CRC32-kontrolsummen af metadataene. Det holder ikke et kontrolsum af de data, der er gemt i filsystemet, i modsætning til Btrfs-filsystemet.
- Journal og Copy-on-Write Support: XFS-filsystemet er et journaling-filsystem. Det har ikke Copy-on-Write (CoW) support.
- Btrfs-filsystemet er et CoW-filsystem (Copy-on-Write), og det har ikke journalunderstøttelse.
- Snapshot af filsystem: XFS-filsystemet kan ikke tage snapshots af filsystemet.
- Btrfs-filsystemet kan tage snapshots af filsystemet. Med Btrfs kan du tage skrivebeskyttede snapshots og skrivbare snapshots af filsystemet.
BEMÆRK: Filsystemets øjebliksbillede er en vigtig funktion. Du kan tage et øjebliksbillede af dit filsystem ved hjælp af denne funktion, før du prøver nogen risikable handlinger. Hvis ting ikke går som planlagt, giver et øjebliksbillede dig mulighed for at gå tilbage til en tidligere tilstand, hvor alt i systemet fungerede. Dette er en indbygget funktion i Btrfs-filsystemet. Du har ikke brug for nogen tredjepartsværktøjer eller software til at generere et øjebliksbillede af et Btrfs-filsystem.
- Kryptering på filsystemniveau: Btrfs-filsystemet understøtter ikke kryptering af filsystemniveau.
- Det samme gælder for XFS-filsystemet.
- Deduplikering på filsystemniveau: Btrfs-filsystemet understøtter deduplikering på filsystemniveau. Du har ikke brug for nogen tredjepartsværktøjer eller software for at bruge denne funktion.
- XFS-filsystemet har også understøttelse af deduplikering, men dedupliceringsfunktionen i XFS-filsystemet er stadig eksperimentel.
BEMÆRK: Depulication er en teknik til at fjerne duplikatkopier af data fra filsystemet og kun opbevare en kopi af dataene (unikke data) i filsystemet. Denne teknik bruges til at spare diskplads.
- Understøttelse af flere enheder: Btrfs-filsystemet understøtter flere enheder og inkluderer indbygget RAID-support. Btrfs-filsystemet har en indbygget logisk volume manager (LVM) til at tilføje flere lagerenheder eller partitioner til et enkelt Btrfs-filsystem. Et enkelt Btrfs-filsystem kan spænde over flere diske og partitioner.
- XFS-filsystemet understøtter ikke flere enheder, hvilket betyder at du ikke kan spænde over et enkelt XFS-filsystem over flere diske eller partitioner. For at kombinere flere lagerenheder og partitioner i et XFS-filsystem skal du bruge tredjeparts logiske volumenadministratorer, f.eks LVM 2. For at konfigurere RAID skal du bruge tredjepartsværktøjer som f.eks dm-raid eller mdadm.
- XFS-filsystemet er designet til at udføre I / O (input / output) operationer parallelt. Hvis du spænder XFS-filsystemet over flere enheder ved hjælp af LVM 2 eller en anden logisk volumenhåndtering, øges filsystemets ydeevne.
- Komprimering på filsystemniveau: XFS-filsystemet inkluderer ikke indbygget komprimeringsunderstøttelse på filsystemniveau.
- Btrfs-filsystemet inkluderer indbygget komprimeringsunderstøttelse på filsystemniveau. Denne funktion giver dig mulighed for at komprimere en enkelt mappe, en enkelt fil eller hele filsystemet for at spare diskplads.
- Offline filsystemets størrelse kapaciteter: Du kan ikke vokse (øge filsystemstørrelse) eller formindske (formindske filsystemstørrelse) til et XFS-filsystem, mens filsystemet ikke er monteret.
- Du kan vokse (øge filsystemstørrelse) eller krympe (formindske filsystemstørrelse) til et Btrfs-filsystem, mens filsystemet ikke er monteret.
- Online filsystemets størrelse kapaciteter: Du kan dyrke (øge filsystemstørrelse) et XFS-filsystem, mens filsystemet er monteret, men du kan ikke krympe (mindske filsystemstørrelse) til et XFS-filsystem, mens filsystemet er monteret.
- Du kan vokse (øge filsystemstørrelse) eller formindske (formindske filsystemstørrelse) til et Btrfs-filsystem, mens filsystemet er monteret.
- Sparse filer: Den sparsomme filfunktion sparer diskplads, når små filer (mindre end blokstørrelsen) er gemt på filsystemet. XFS- og Btrfs-filsystemerne understøtter begge sparsomme filer.
- Bloker underallokering: Btrfs-filsystemet understøtter blokdelingen.
- XFS-filsystemet understøtter ikke blokdelingsallokering.
BEMÆRK: Når et filsystem gemmer store filer i et filsystem, opdeles den store fil i blokke, og blokke lagres i filsystemet. Den sidste blok i filen, kaldet haleblokken, optager ikke hele blokken. Når mange små filer er gemt, optager de ikke hele blokken, og der spildes meget diskplads. Blokeringstildeling giver dig mulighed for at gemme dele af en anden filblok i haleblokken (den sidste blok i en anden fil, der ikke optog hele blokken) for at spare diskplads.
- Hale pakning: Btrfs-filsystemet understøtter halepakning.
- XFS-filsystemet understøtter ikke halenpakning.
BEMÆRK: Halepakning er en del af blokdelingen. Som tidligere diskuteret optager små filer ikke en hel filblok. For effektivt at gemme små filer (e.g., programkildekoder) i filsystemet bruges haleblokken til en lille fil til at gemme andre små filer. Halepakning forbedrer filsystemets ydeevne og sparer diskplads i filsystemer, hvor mange små filer (f.eks.g., programkildekoder) gemmes.
- Omfangsbaseret filsystem: Både XFS- og Btrfs-filsystemerne er omfangsbaserede filsystemer.
BEMÆRK: En udstrækning er et sammenhængende område af lagerenheden, der er reserveret til en fil i et filsystem. Omfangsbaserede filsystemer gemmer store filer i et sammenhængende lagerområde. Dette forbedrer filsystemets ydeevne og øger lagereffektiviteten.
- Variabel filblokstørrelse: Blokstørrelsen indstilles, før filsystemet oprettes. Når filsystemet er oprettet, kan du ikke ændre blokstørrelsen.
- XFS-filsystemet understøtter fast blokstørrelse.
- Btrfs-filsystemet understøtter variabel blokstørrelse. Filsystemet kan bestemme den bedst mulige blokstørrelse til at gemme en fil på filsystemet baseret på filens størrelse. Denne funktion kan spare meget diskplads.
- Tildel-på-skyl: Både XFS- og Btrfs-filsystemerne understøtter allokering på flush.
BEMÆRK: Filsystemet tildeler noget bufferplads i systemhukommelsen. Når der er anmodninger om diskskrivning, skriver filsystemet ikke datablokkene direkte på lagerenheden. I stedet gemmer filsystemet datablokkene i bufferhukommelsen. Når bufferhukommelsen er fuld, skriver filsystemet alle de ventende datablokke til lagerenheden på én gang. Dette reducerer CPU-brugen, fremskynder diskskrivning og reducerer diskfragmentering.
- TRIM support: Både XFS- og Btrfs-filsystemerne understøtter TRIM, hvilket er en meget vigtig funktion for SSD-lagerenheder.
BEMÆRK: Når du fjerner en fil fra en SSD, underretter TRIM-kommandoen SSD-lagerenheden om de sider (filblokke), der ikke længere er nødvendige. SSD sletter de unødvendige sider (filblokke) fra flashlageret og forbereder siderne (filblokke) til lagring af nye data. Uden TRIM-understøttelse ville SSD-skrivehastigheden gradvis blive langsommere, når SSD'en fyldes med nye data.
Fordele ved XFS i forhold til Btrfs
XFS er et stabilt 64-bit journaliseringsfilsystem til lagringsenheder med høj kapacitet.
Du kan bruge XFS-filsystemet af følgende grunde:
- Parallel I / O (input / output) understøttelse
XFS-filsystemet understøtter parallel I / O og kan give flere datastrømme til filer på grund af dets design.
- Stor partitionsstøtte
XFS-filsystemet understøtter partitionsstørrelser på op til 8 EiB (op til 8 EiB - 1 byte).
- Stor filunderstøttelse
XFS-filsystemet understøtter filstørrelser på op til 8 EiB (op til 8 EiB - 1 byte).
- Journaling Support
Journalføring sikrer datakonsistens i filsystemet i tilfælde af strømafbrydelse eller systemnedbrud. I tilfælde af strømafbrydelse eller systemnedbrud gendannes de data, der er gemt i journalen, og anvendes på filsystemet.
- Direkte I / O
Dette er et vigtigt træk ved XFS-filsystemet. Det er vigtigt for applikationer, der kræver høj læse / skrivehastighed til lagerenheder. Direkte I / O giver lagerenheder direkte adgang til databufferen ved hjælp af DMA (Direct Memory Access), så den fulde I / O-båndbredde på lagerenheden kan udnyttes.
- Garanteret sats I / O
XFS-filsystemet kan reservere båndbredden på lagerenheden til bestemte applikationer. Denne funktion er ideel til realtidsapplikationer (f.eks.g., video streaming).
Ulemper ved XFS-filsystemet
Der er nogle ulemper ved XFS-filsystemet.
Ulemper ved XFS-filsystemet inkluderer følgende:
- Ingen indbygget LVM-understøttelse
Sammenlignet med Btrfs-filsystemet har XFS-filsystemet ikke en indbygget logisk volumenhåndtering. Så du bliver nødt til at bruge LVM 2 til logisk volumenstyring.
- Ingen indbygget RAID-understøttelse
Sammenlignet med Btrfs-filsystemet har XFS-filsystemet ikke indbygget RAID-understøttelse. Så du bliver nødt til at bruge dm-raid eller mdadm for at konfigurere RAID.
- Ingen support til øjebliksbillede
XFS-filsystemet har ikke en filsystem-snapshot-funktion i modsætning til Btrfs-filsystemet.
- Journaling kan ikke deaktiveres
Som med nogle andre journaliseringsfilsystemer kan du ikke deaktivere journaliseringsfunktionen i XFS-filsystemet. Journaling er ikke godt for USB-flashdrev. Hvis du bruger XFS-filsystemet på et USB-flashdrev, reduceres USB-flashdiskens levetid på grund af journaloverskridelsen.
Fordele ved Btrfs i forhold til XFS
Btrfs-filsystemet er et moderne Copy-on-Write (CoW) -filsystem designet til højkapacitets- og højtydende lagerservere. XFS er også et højtydende 64-bit journaliseringsfilsystem, der også er i stand til parallelle I / O-operationer. XFS-filsystemet indeholder mange vigtige funktioner, herunder direkte I / O, garanteret hastighed I / O og mere. Sammenlignet med XFS-filsystemet har Btrfs-filsystemet dog mange fordele.
Fordelene ved Btrfs-filsystemet i forhold til XFS-filsystemet inkluderer følgende:
i) Indbyggede snapshots på filsystemniveau.
ii) Understøttelse af flere enheder.
iii) Indbygget RAID-understøttelse.
iv) Fleksibel inodetildeling.
v) Optimeringer til lagring af mindre filer (sparsomme filer, blokfordeling, halepakning, variabel blokstørrelse).
vi) Indbygget komprimeringsunderstøttelse på filsystemniveau.
Dette er filsystemfunktionerne, der kan få dig til at vælge Btrfs-filsystemet frem for XFS-filsystemet.
Konklusion
Denne artikel sammenlignede Btrfs- og XFS-filsystemerne, herunder en sammenligning af de vigtigste funktioner i hvert filsystem. Denne artikel skal hjælpe dig med at vælge mellem Btrfs- og XFS-filsystemerne. Vælg det system, der fungerer bedst for dig i henhold til dine unikke behov og præferencer.
Referencer:
- XFS - Wikipedia - https: // da.wikipedia.org / wiki / XFS
- Sammenligning af filsystemer - Wikipedia - https: // da.wikipedia.org / wiki / Comparison_of_file_systems
- XFS - ArchWiki - https: // wiki.archlinux.org / indeks.php / XFS