< Linux

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:

Az UEFI-ről több informáicó itt

Az UEFI és a Wndows viszonyáról olvashat itt

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

http://szabilinux.hu/Particios_tabla/partext.html (2018)

https://wiki.osdev.org/LBA (2018)

http://hu.wikipedia.org/wiki/F%C3%A1jlrendszerek_list%C3%A1ja (2018)

http://hu.wikipedia.org/wiki/F%C3%A1jlrendszer (2018)

http://tldp.fsf.hu/HOWTO/sag-hu/x1329.html (2018)

https://ext4.wiki.kernel.org (2018)

https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout (2018)