Tartalomjegyzék
Fájlrendszer
- Szerző: Sallai András
- Copyright © 2011, Sallai András
- Szerkesztve: 2011, 2012, 2013, 2014, 2015, 2017
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Bevezetés
Ha már van egy működő linuxos rendszerünk akkor ennek a fejezetnek a megismerése akár későbbre is tehető és áttérhetünk a „Felhasználói ismeretek” fejezet "Parancsor" részére. Ha azonban most fogunk telepíteni, akkor ezek az alapismeretek megkönnyíthetik a telepítést. Itt most a felmerülő alapfogalmakat tárgyaljuk.
Fájlrendszerek, amelyekre Linux telepíthető
A fájlrendszer az állományok és könyvtárak elhelyezésének, elrendezésének, elérésének módja egy háttértárolón. Linux alatt a következő fájlrendszereket szoktuk használni:
- ext
- ext2
- ext3
- ext4
- ReiserFS
- Reiser4
- XFS
- JFS
- Btrfs
- ZFS
A Linux ennél persze több fájlrendszert ismer, de azokra nem szoktuk telepíteni, mert a jogok tárolásával gond lehet. Ezek közül az ext3 és ext4 fájlrendszer használatát ajánlom. Más fájlrendszert akkor válassz, ha van vele valamilyen jól meghatározott célod, tehát nem vagy már kezdő, és tudod miért választod az adott fájlrendszert.
A ZFS fájlrendszer verziókövetési lehetőséggel látták le. Ha bekapcsoljuk az állományaink korábbi verziót visszanyerhetjük.
Cserehely
rendszer partíció | swap partíció |
A Linuxnak szüksége van egy úgynevezett swap fájlrendszerre, amely magyarul cserehelynek nevezhető. A cserehelyre lapozza ki a Linux operációs rendszer a memória azon részeit, amelyek nincsenek használatban. Tehát a fizikai memória egyfajta kiterjesztésének tekinthető. Ha elfogy a fizikai memória, akkor a nem használt programok részeit a Linux, a merevlemezen, virtuális memóriában tárolja.
A programot, amint használjuk, a rendszer visszatölti a fizikai memóriába a gyorsabb működés érdekében, hiszen a merevlemezről elég lassú lesz a használat.
Mivel a cserehely külön partícióra kerül, ezért a töredezettség fel sem merül. Még jobb teljesítményt érünk el, ha külön merevlemezre helyezzük a cserehelyet. A cserhely használata nem befolyásolja a normál lemezműveleteket.
Cserehelyet azonban fájlként is adhatunk a rendszerhez menet közben. Az ilyen fájlok mérete nem változik, így töredezettség miattuk nem lép fel.
A cserehely mérete megegyezhet a fizikai memória méretével. A Linux akkor használja a cserehelyet, ha már kezd fogyni a memória. Ha memóriánk elég nagy akkor előfordulhat, hogy sosem használja a gyorsabb működés érdekében.
Több fájlrendszer
A Linuxot több külön álló fájlrendszerre szokás telepíteni, ha azt szerverként telepítjük. Ennek oka a biztonság növelése. Ha például a naplófájlok a /var/log könyvtárban valamilyen oknál fogva igen gyorsan megtöltik a partíciót, a rendszer nem áll meg a betelt partíció miatt, ha a /var/log külön partícióra került.
Általában a következő könyvtárakat szokás külön partícióra tenni:
- /home
- /var
- /tmp
- /boot
- /usr
A felosztás természetesen lehet más is. Van aki ennél még több részre osztja fel a rendszert. Ha a szerverünk nem lesz az Interneten, esetleg asztali gépet telepítünk a /home könyvtárat, amelyen a felhasználók adatai lesznek, így is érdemes külön partícióra tenni. Így a /home könyvtártól függetlenül a rendszer bármikor cserélhetjük.
Partíciók
A háttértárolókat (merevlemez) partíciókra osztjuk fel, amelyeken létrehozzuk a fájlrendszert.
A partíciós tábla határozza meg a partíciók tárolásának módját. Kompatibilitási okokból a Linux alapértelmezetten a „DOS partíciós táblát” használja.
A DOS partíciós táblában 4 elsődleges partíció lehet, a többi egy kiterjesztett partícióban helyezkedhet el. A kiterjesztett partíciót további részekre oszthatjuk, ezeket logikai partícióknak nevezzük.
Ha csak négy partíciót szeretnénk használni akkor az lehet mind elsődleges.
első elsődleges partíció |
második elsődleges partíció |
harmadik elsődleges partíció |
negyedik elsődleges partíció |
Ha már szükségünk van egy ötödikre, akkor a negyedik (vagy bármelyik másik) helyén egy úgynevezett kiterjesztett vagy bővítő partíciót hozunk létre, amelyet további logikai partíciókra oszthatunk fel. A bővítőpartícióból csak egy lehet. Ha többet is létrehozunk, azokat egyetlen rendszer sem használja.
első elsődleges partíció |
második elsődleges partíció |
harmadik elsődleges partíció |
negyedik kiterjesztett partíció amely további logikai partíciókat tartalmazhat |
A kiterjesztett partíció felosztása több részre:
első elsődleges partíció | ||||
második elsődleges partíció | ||||
harmadik elsődleges partíció | ||||
logikai 1 | logikai 2 | logikai 3 | logikai 4 | logikai n |
MBR
Master Boot Record, a fő betöltőrekord. Az MBR a merevlemez első szektora.
Egy merevlemez:
0 szektor (MBR) | 1 szektor | 2 szektor | 3 szektor | 4 szektor | n szektor |
Az MBR négy részre osztott szektor, ahol a 4 partícióról tárolhatunk adatokat. Ezért lehet 4 partíciónk. A logikai partíciók száma maximálisan 128 darab. A logikai partíciókat leíró adatok a kiterjesztett partícióban tárolódnak.
MBR:
1 partíció leírása | 2 partíció leírása | 3 partíció leírása | 4 partíció leírása, ami lehet kiter. |
Minden indítható partíció elején van egy „boot” rekord. Ha aktív az MBR-ből ide kerül vezérlés.
GPT
A GPT a GUID Partition Table rövidítése. A GUID a Globally Unique Identifier rövidítése. A GUID-t néha UUID néven emlegetjük. Az GPT az UEFI specifikáció részét képezi. Az UEFI a BIOS leváltására megalkotott specifikáció. A GPT-t ennek ellenére a BIOS mellett is használják, mert az MBR-ből csak 2,2 TiB címezhető. A GPT esetén 9,4 ZiB méretű lemez címezhető.
Rövidítések:
- GPT → GUID Partition Table
- GUID → Globally Unique Identifier → globálisan egyedi azonosító
- UUID → universally unique identifier → univerzális egyedi azonosító → 128 bit
- UEFI → Unified Extensible Firmware Interface → A BIOS leváltására tervezett specifikáció.
- LBA → Liear Block Address (néhol Ligical Block Addressing) – Lineáris szektorcímzés
A globálisan egyedi azonosítókat a szoftveralkalmazások számára kitalált olyan álvéletlen szám, amelynek véletlensége matematikailag is garantált.
Az UUID egy 128 bites (16 bájtos), hexadecimálisan felírt azonosító.
Példa:
UUID=71a4ef2c-8675-4367-574e-d3f516fc8611
Ha a Linuxunk UEFI módban van akkor létezik a /sys/firmware/efi állomány:
ls /sys/firmware/efi
Megjegyzés:
A GPT LBA-t (Logical Block Addressing) használ, a régebbi Cylinder-head-sector helyett. A GPT esetén az első LBA0 egy MBR-t tartalmaz, kompatibilitási okokból. Az LBA1 tartalmazza a GPT partíciós tábla fejlécét, amelyben minden partíció leírása megtalálható. Az utolsó LBA-ban a fejlécnek egy másolatát is megtaláljuk, nevezhetjük ezt backup vagy másodlagos GPT fejlécnek. A LBA1 után következnek a partíciók.
A kernel és a merevlemez közötti rétegek
A kernel a merevlemezhez a fájlrendszeren keresztül fér hozzá. A fájlrendszer felett azonban van még egy virtuális fájlrendszer is. Ennek eredménye, hogy a fájlrendszer réteg cserélhető, vagyis többféle fájlrendszer használható.
kernel |
virtuális fájlrendszer |
fájlrendszer |
merevlemez |
Linuxos fájlrendszerek összehasonlítása
ReiserFS
- naplózó
- jobb lemezterület kihasználás
- jobb lemez-hozzáférési teljesítmény – kis fájlok
- gyors visszaállítás összeomlás után
- adatok és metaadatok integritását biztosítja
- megbízható
Ext3
- Megbízható.
- Metaadatok és adatok naplózása.
- Maximális biztonság a következő módban:
- data=journal de ez lelassítja a rendszert
- data=ordered
- adatok és metaadatok biztonságáról gondoskodik, de csak metaadatokat naplóz
- teljesítmény nem romlik
- rendszerösszeomlás után régi adatok jelenhetnek meg fájlokban
XFS
XFS jellemzők:
- eredetileg IRIX OS-hez tervezett
- Fejlesztő SGI 1990-ben kezdte a fejlesztést
- Silicon Graphics
- 64 bites
- naplózó
- valós idejű defragmentálás
- valós idejű átméretezés
- ACL
- megbízható
Hátrányok:
- törölt adat visszaállítás csak Windowsról
- rendszerbetöltő nem lehet rajta
- valóidejű átméretezésnél csökkenteni nem lehet méretet
- csak metaadat naplózás
ZFS
- Sun Microsystems
- 128 bites fájlrendszer
- Támogatott:
- deduplikáció
- tömörítés
- titkosítás
- snapshot
JFS
- Nagyon gyors
- notebookba ezért jó
- 64 bites
- naplózó
- IBM
- AIX, eComStation, OS/2
Btrfs
- Oracle
- új
- sok funkció
- „következő Linuxos fájlrendszer”
- (ZFS-re válaszként készítették)
Hálózati fájlrendszerek
- NFS – Sun Microsystems
- SMB/CIFS – Microsoft
- NCP – Novell
Gyakorlat
- Soroljon fel legalább három fájlrendszert, amelyre gond nélkül telepíthető Linux
- Mi a swap?
- Lehet-e fájlként cserehelyet adni egy linuxos rendszerhez?.
- Melyek azok a könyvtárak, amit egy linuxos szerver esetén külön szokás telepíteni?
- Milyen partíciós tábla típust használ alapértelmezetten a Linux?
- Hány bájt nagyságú az MBR?
- Mit tartalmaz az MBR?
- Az MBR egy partícióról hány bájton tárol adatokat?
Függelék
Az MBR címek alapján
Egyéb fájlrendszerek
- hfs, hpfs – Apple Inc – FDD, HDD, CD-ROM
- iso9660
- FAT-12, FAT-16, FAT-32
- Minix-1
- NFS
- NTFS
- lessfs – nagyon lassú, nincs ACL
- NILFS2 – mint egy verziókövető, pillanatképek
A Minix-1 továbbfejlesztése:
- xiafs – Frank Xia készítette
- extfs – Remy Card
- 255 karakter hosszú fájlnév, nagy partíciók, lassú
- ext2fs – Remy Card átdolgozta
- Ext3 – Stephen Tweedie – naplózás
Irodalom
Linkek
- https://wiki.osdev.org/LBA (2018)
- https://ext4.wiki.kernel.org (2018)