Filsystemerne ext4fs, XFS, og btrfs: Fejl i filsystemer, og mit valg af filsystem

Her postes alt, som ikke direkte har noget med Ubuntu at gøre.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Filsystemerne ext4fs, XFS, og btrfs: Fejl i filsystemer, og mit valg af filsystem

Indlæg af lath »

Mit indlæg her er om mit valg af filsystemer og hvorfor jeg har valgt dem.

Fejl i filsystemer

Jeg vil næve de 3 vigtigste problemer, der kan opstå med fil systemer:
  • Tab af data på grund af Silent data loss:
    Silent data loss er at filer og mapper får bits ændret uden at filsystemet og styresystemet opdager det: Det kaldes bit-rot, altså rådden bit.
  • Tab af data ved strømsvigt
    Nogle filer bliver indholdet af nogle filer til noget andet. Andre gange er det metadata, som er informationer om hvor navne på mappe og stier samt hvor de mapper og filer findes.. Ødelæggelse af metadata kan også kaldes at filsystemet bliver ødelagt / korrupt.
  • Defunct hardware: Harddisk virker ikke mere.
    Hardwaren er slidt op, eller en eller anden hændelse gør hardwaren ubrugelig.

Silent Data Loss

Hvis et filsystem ikke har fejl check - så kan du ikke sikre dig mod data tab!

Silent data loss er tab af data der ikke opdages af hverken styresystemet, eller af et filsystem uden fejlcheck:

Mere om Silent data loss:
https://en.wikipedia.org/wiki/Data_corruption#Silent

Bemærk at en backup også har data tab, hvis den er en backup fra et filsystem uden fejl check, og det filsystem har haft Silent data loss.

Hvis du fra en tidligere backup ikke havde Silent Data Loss, så har den meget deprimerende Murphys Lov naturligvis allerede sørget for at - efter du har haft Silent Data Loos - så er dine mange små tilføjelses- /tilvæksts- , increment- backups for længst lavet om til en ny fuld backup.

Murphys Lov har også sikret sig at du ikke længere har dine gamle backups, fordi de automatisk er blevet slettet af din backup software på grund af plads mangel.

På den måde er Murphys Lov helt sikker på at du har data tab.

Kom ikke og sig eller skriv at lige præcis de 3 gange Murphys Lov ikke kan forekomme i den rækkefølge - jeg har oplevet dem - og også mere end 1 gang i de 18 år jeg har haft et Linux baseret styresystem.

Strømsvigt

Nogle filsystemer er mere følsomme over før strømafbrydelser end andre.

Ved strømsvig kan indholdet i filer og metadata blive ødelagt hvis:
  • Et program var ved at skrive til en fil, og programmet ikke nåede at blive færdig med at skrive
  • Kernen (Linux) ikke nåde at skrive data (indholdet fra en fil, og/eller metadata) fra disk cachen ned til lager mediet, f.eks. en harddisk.
  • Disk cachen inde i lagermediet nåede ikke at skrive de rå data (som kommer fra et filsystem) ned på det permanente lager i lager mediet.

Svære ord:
Metadata er et filsystems oplysninger om navne på filer og mapper, og hvor indholdet af de filer og mapper er lagret i filsystemet. Der er også andre oplysninger som for eksempel rettigheder, ejere og brugere på filer og mapper.

Defunct Hardware

For alle filsystemer er der nogle ting man kan gøre (og ikke gøre), når problemet er defunct hardware:
  • Du har naturligvis en backup - som du også har verificeret, så du er helt sikker på at indholdet på disken og backup er ens / de samme.
  • Du kører med en RAID konfiguration der automatisk kan overføre filsystem ned tilhørende metadata, mapper og filer til en blank disk.
    Med btrfs filsystemet kan man slippe for at bruge hardware RAID.
  • Du græder fordi du slet ikke havde en backup - som i - går den så går den.
  • Du græder fordi du har tabt data på grund af at din backup ikke var verificeret
  • Du græder fordi du har en backup at et filsystem med Silent Data Loss


Filsystemer: XFS, ext4fs, btrfs

XFS

XFS er et filsystem jeg pt bruger på min /home partition - det er så en fejl efter at jeg have læst om fænomenet Silent Data Loss.

XFS er et meget hurtig - hurtigere ved mange tråde - og lidt langsommere med få tråde. XFS er meget langsomt, hvis man sletter man små filer - men hvor ofte er det lige at man gør det.

XFS har ikke fejlcheck og kan derfor få Silent Data Loss, som giver tab af data.

XFS har med sikkerhed filer med kun 0'er(=nuller), hvis der er strømsvigt.

Jeg har før været nødt til at tage strømmen på grund af video hardware fejl, som kun kan nulstilles ved at fjerne strømmen fra grafikkortet, som i praksis er at tage strømmen fra hele computeren.

Så XFS' strømsvigt egenskab er jeg meget lidt begejstret for, idet jeg ikke kan lide at få ubehagelige oplevelelser a la NULL filer.

Jeg vil at derfor hurtigst muligt bruge et andet filsystem end XFS til min /home partition. Det bliver så i morgen (26. Marts 2018) at den ændring vil blive udført.


ext4fs

ext4fs har heller ikke - ligesom XFS - fejlcheck, så det kan derfor også få Silent Data Loss, som giver tab af data.

ext4fs er mere robust end XFS overfor strømsvigt, idet at extfsck programmet kan reparere stort set alle fejl - bortset fra naturligvis data der ikke er der, læs: fil nåede ikke at blive skrevet ned til lagermediet.

Jeg har ex4fs partitioner på min backup harddisk, og på alle filsystemer på min netbook computer. De skal i stedet være et filsystem med fejlcheck.

btrfs

btrfs reparerer konstant sig selv - automatisk - imens det er online, altså imens at det er mounted - og derfor er i brug.

btrfs har en meget lang række af features, blandt andet guld featuren der hedder snapshots, hvor et snapshot kan beskrives som et versionssystem så som feks git,subversion, etc for filsystemer.

Dem meget lange liste af features kan du se her:
https://btrfs.wiki.kernel.org/index.php/Main_Page#Major_Features_Currently_Implemented

Som du måske kan læse imellem linierne er jeg ret begejstret for btrfs, og det er derfor det filsystem jeg kommer til anvende på alle mine filsystemer fremover - bortset fra naturligvis EFI partitions.

openSUSE / SUSE linux distroen og btrfs snapshots

I Linux distroen openSUSE vil Yast2 - alt-i-et system administrations programmet for SUSE og openSUSE - lave et nyt snapshort før der installeres / opgraderes / slettes pakker.

Samtidigt vil Yast2 også skrive en snapshot menupunkt ind i GRUB2 boot menuen, sådan at man i GRUB2 boot menuen bare kan vælge det nyeste snapshot, hvis det skulle vise sig at pakke ændringerne mere eller mindre lægger systemet (openSUSE / SUSE installationen) ned.


/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags