Fájlrendszerek bűvöletében


Linuxon rengeteg fájlrendszer közül lehet választani. Minden fájlrendszernek megvannak az erősségei és gyengeségei. Ezzel a kis leírással könnyebben megtalálhatjuk a megfelelő feladatra a megfelelő fájlrendszert. A teljesség igénye nélkül íme a szerintem legérdekesebb fájlrendszerek:

  • BTRFS

Erről a fájlrendszerről egy teljes cikket írtam korábban. Az eredeti UNIX ZFS-re hasonlít a legjobban, és copy on write technológiát használ. Általánosan elfogadott, hogy ez a fájlrendszer jelentheti a Linuxok jövőjét. Valamivel lassabban működött nálam mint az ext4, de a snapshot funkció zseniális, minden gördülő disztribúcióhoz javasolt a használata. A cikk írásának pillanatában még nincs kész, fejlesztés alatt áll! Néhány NAS már ezzel érkezik alapból. SSD-k élettartamát jobban csökkenti mint az ext4. 

  • ExFAT

A Microsoft flash meghajtókra optimalizált fájlrendszere. Linux alatt a használata nehézkes, mivel nem minden eszköz és operációs rendszer támogatja. A korábbi FAT32 majdnem összes hátrányát kiküszöbölték a fejlesztés során. 32 GB fölött mindenképp javasolt a használata, de csak átmeneti tárolóként, mert hiba esetén az adatok visszanyerése nehézkes, partíciókezelők sem mindig támogatják.

  • Ext

Az eredeti bővített fájlrendszer a Linux kernel számára. 1992-ben a UNIX File System alapján készült, 1993-ban leváltotta az ext2.

  • Ext2

A második bővített fájlrendszer, évekig szolgált az alapértelmezett Linux fájlrendszerként. Jóval több funkcionalitást képes nyújtani mint a FAT32, de ahhoz hasonló módon ez sem naplózó fájlrendszer. Szerencsére rendkívül stabilnak számít. Ma már nem használjuk rendszer telepítésre, mert áramszünet esetén nagyon sokáig tart a fájlrendszer ellenőrzése, és az adatok sincsenek megfelelően biztosítva az adatvesztés ellen.

  • Ext3

A harmadik bővített fájlrendszer, az ext2 bevált technológiáját fejlesztették tovább. A naplózásnak köszönhetően nincs már szükség hosszadalmas fájlrendszer ellenőrzésre, az adatok nagyobb biztonságban vannak áramszünet esetén is. Visszafelé teljesen kompatibilis az ext2-vel. Offline töredezettség mentesítést támogat. Jó fájlrendszer, de az ext4 létezése miatt már nem indokolt a használata, 2006 előtti Linux rendszereken ez az ajánlott.
Fájlrendszer ellenőrzés hossza ext fájlrendszerek esetén

  • Ext4

A negyedik bővített fájlrendszer, teljesen kompatibilis a korábbi ext3 és ext2 fájlrendszerrel. Jelenleg a legtöbb disztribúció ezt használja. Nem hajlamos a töredezettségre, de ha mégis akkor támogatja az online töredezettség mentesítést. 1 048 576 TB méretig támogatja a tárolóeszközöket, fájlok mérete maximum 16TB lehet. Egy könyvtárban 64 000 alkönyvtárat támogat. Adatmódú naplózás is elérhető a maximális adatvédelem érdekében. A Google adatközpontjai ext4 fájlrendszeren nyugszanak, és számos másik vállalat is előszeretettel használja. Még folyamatos fejlesztés alatt áll, és emiatt nem várható egyelőre ext5 fájlrendszer megjelenése. Kikapcsolt naplózással ext2 helyett is használható az írásra érzékeny eszközökön. Talán a biztonságos adatmegsemmisítés és az egyszerűbb snapshot funkcióval lehetne továbbfejleszteni. Sok kritika éri, hogy régi technológiákat próbál életben tartani, ezért szeretnék leváltani. -khmm felesleges hiszti...

  • F2FS

Flash meghajtókra optimalizált fájlrendszer, amit a Samsung készített, a NAND flash alapú eszközök karakterisztikájára kifejlesztve. A Google utólag felkarolta a fejlesztését a Pixel eszközök default fájlrendszere lett. Laptopok, otthoni gépek, telefonok, tabletek számára jó választás lehet majd rendszer partíciónak. Egyelőre még inkább várnék vele, míg teljesen kiforrja magát.

  • FAT

A Fájl allokációs táblát a Microsoft, SCP, IBM, Digital Resarch és a Novell készítette 1977-ben. A FAT16 1984-ben, míg a FAT32 1996-ban jelent meg a Windows 95 OSR2 csomaggal. Régi, és szívós fájlrendszer. Gyakorlatilag majdnem az összes operációs rendszer támogatja. Hordozható fájlrendszernek jó választás, remekül működik a flash memóriákkal. Esetenként támogatja a hosszú fájlneveket is. A VFAT-ot szokás külön fájlrendszerként említeni, de valójában egy kiegészítésről van szó ami működik minden rendszeren, amin az eredeti FAT12 FAT16 és FAT32 működött. Használatakor figyelembe kell venni, hogy FAT32 esetén a fájlméret maximum 4GB lehet. FAT32+ támogatja a 256 GB méretű fájlokat is. Inkább hibaelhárításkor használom.

  • JFS

Az első naplózó fájlrendszer, amit az IBM fejlesztett ki a saját UNIX rendszere számára. Elmondható, hogy teljesítménye még ma is elvárható szinten van, főleg a deadline I/O ütemező használatával. Kiforrott és stabil, de kevésbé támogatott mint az Ext4.

  • NTFS

A Windows NT fájlrendszer, támogatja a naplózást, metaadatokat, és jogosultságbeállítást is. Technikailag a FAT és a HPFS fölött áll. Hajlamos töredezésre alacsony szabad hely esetén, de cserébe megbízható és kipróbált. Linux és Windows közötti használatra az egyik legjobban javasolt megoldás, mivel támogatja a nagyobb fájlokat is. Nem érzékeny a kis és nagybetűkre, ezért fokozott figyelemmel kell eljárni a fájlok mentése során, hogy ne okozzanak problémát Windows alatt. Adatmentésre is rengeteg alkalmazás elérhető, ha meghibásodna a fájlrendszer. Korábban picit erőforrásigényes volt a használata, de mára annyira felgyorsultak a gépek, hogy nem számottevő a többletterhelés. Mac alatt úgy tudom csak read only módban működik. 

  • ReiserFS

Nagy teljesítményű naplózó fájlrendszer, szokatlan megoldásokkal. Kiváló választás /var számára, apróbb fájlokat nagyon gyorsan képes kezelni. Felcsatolása lassabb, a megszokottnál. Kiforrott és stabil fájlrendszer. A ReiserFSv3 már nem áll fejlesztés alatt. A Reiser4-et az alapoktól kezdve újraírták, tovább növelve a teljesítményt. Éles rendszert nem telepítenék rá.

  • SWAP

A Linux virtuális memóriaként használt fájlrendszere. Lassan kimegy a divatból a dedikált swap partíció használata.

  • XFS

Korai naplózó fájlrendszer, eredetileg az SGI fejlesztette ki az IRIX operációs rendszerhez. Nagy teljesítményű fájlrendszer, főleg a hatalmas fájlok esetén tündököl. Az XFS kiforrott, és támogatja az online töredezettségmentesítést is.

  • ZFS

Kombinált fájlrendszer ami kötetkezelő szolgáltatásokat is nyújt. A SUN fejlesztette ki a UNIX rendszerei számára, hatalmas tárolókapacitásokat képes kezelni, copy on write módszert használ, folyamatosan ellenőrzi az integritást, és automatikusan javítja magát. Otthonra szerintem túl sok.

Végszó

Talán az Ext4 az egyetlen amire azt tudnám most mondani, hogy mission critical rendszerekre is rámerném tenni, ügyesen megoldható benne a naplózás kikapcsolása is, de cserében még mindig modern és támogatott fs marad. A második pedig az NTFS, mert bármekkora Microsoft bérenc vagyok, simán jobb mint a FAT32 és ezt meg minden más támogatja, hasonlóan beállítható mint az ext4. Nekem a mentéseim mind NTFS-ben vannak, hogy Windows gép alól is elérhető legyen. 

A perverz vonzódásom pedig az eredeti UNIX fájlrendszerekhez húz. A jövőben tervezek egy fájlrendszer overkill telepítést csinálni, ahol minden létező csatolási pontra másfajta fájlrendszert fogok készíteni. Just for fun: