A fájlrendszerek típusai
A Linux operációs rendszer számos különböző fájlrendszert támogat. A Linux szempontjából a fájlrendszerek négy csoportra oszthatók:
- "Natív" fájlrendszerek. Ez azt jelenti, hogy a fájlrendszer támogatja a Linux sajátosságait: hozzáférési jogokat, időbélyegzőket, a fájl tulajdonosával kapcsolatos információkat stb .;
- "Nem natív" fájlrendszerek. Azaz olyan fájlrendszerek, amelyek nem támogatják a Linux attribútumokat;
- Virtuális. Ezek olyan fájlrendszerek, amelyeknek nincs fizikai adathordozójuk;
- Hálózati fájlrendszerek.
A "natív" fájlrendszerekhez lehetséges:
Az ext2 fájlrendszer
- Igen, ez ugyanaz, az egyetlen fájlrendszer, amely teljesen megfelel nekem.
Emellett az ext2-nek komoly korlátai vannak:
- A maximális fájlméret 2048 GB.
- A fájlrendszer maximális mérete 32768 GB.
- Az alkönyvtárak maximális száma egy könyvtárban 32768.
Naplózott fájlrendszerek
Most az ext2 fájlrendszert szinte soha nem használják. És még a korlátozásai között is, az ext2 meglehetősen megbízható fájlrendszer. A Linux szerverek betöltésének sebessége. Szükséges, hogy a kiszolgáló folyamatosan működjön. De nem történik csodák, a szerver néha túlterhelt. Feladata annak biztosítása, hogy a rendszer bukása után a lehető leggyorsabban megterheljék. A szerver bekapcsolásakor a lemezek ellenőrzése megtörtént. A fájlrendszerek, különösen a nagyméretű rendszerek ellenőrzése meglehetősen hosszú folyamat. Ha több ilyen fájlrendszer létezik, az ellenőrzésük nagyon sokáig tarthat. És a kiszolgálónak működnie kell!
Az ellenőrzésre fordított idő csökkentése és a megbízhatóság növelése érdekében naplózási fájlrendszereket fejlesztettek ki. Ha adatbázisokkal dolgozik, valószínűleg egy tranzakciót ismer. Számos SQL utasítás társul egy tranzakcióhoz. A rendszernek minden üzemeltetőt végre kell hajtania. Ha legalább egyikük nem működik, akkor a rendszer visszaáll a tranzakció elejére. Ha a rendszer a tranzakció során le van tiltva, ha engedélyezve van, akkor megpróbálja végrehajtani a fennmaradó operátorokat, vagy visszatér a tranzakció elejére.
A modern fájlrendszerekben a tranzakciós napló támogatása hozzáadódott. A fájlrendszer működésének szempontjából a fájl összes művelete egyetlen tranzakciónak tűnik. Ha alaposabban megvizsgálja a Linux operációs rendszeren végzett fájlkezelést, a fájl írása vagy módosítása meglehetősen bonyolult eljárás, amely számos, a lemezen lévő műveletből áll. Ha a tranzakciónaplót használja, mielőtt bármilyen fizikai módosításra kerülne a lemezen, egy új tranzakció nyílik meg a naplóban, amely rögzíti a fájlrendszer összes műveleteit. És csak miután a tranzakció mentésre került a lemezen, a fájlrendszernek megváltozik.
Ha a fájlrendszer lesz kapcsolva rendesen, a program ellenőrzi az első tranzakciós napló látszó és adatok alapján tárolt, vagy megpróbál visszatérni (rollback) rendszer kezdetén az ügylet vagy, ha ez lehetséges, hogy hajtsa végre a lépéseket a tranzakciót. Mivel a napló kicsi (32 MB az ext3 fájlrendszerben), a fájlrendszer helyreállítási folyamata jelentősen felgyorsult.
Az ext3 fájlrendszer
Amikor szükségessé vált a naplózó fájlrendszerek Linuxon történő bevezetése, a RedHat kifejlesztette az ext3 fájlrendszert. A RedHat-ban a legkisebb ellenállás ment végbe, hiszen jól ismert ext2-t vettek igénybe, és támogatta a magazint.
A fizikai eszköze révén az ext2 azonos az ext3-vel. Ez a szolgáltatás ugyanazokat a segédprogramokat használhatja az ext3-hoz (fájlrendszerek létrehozásához, ellenőrzéséhez és konfigurálásához), valamint az ext2-hez való munkához.
A napló hozzáadása ellenére az ext3 gyorsabban fut, mint az ext2. Az ext3 előnyei között szerepelnie kell a nemcsak a szükséges műveletek naplózásának, hanem más naplózási rendszerek által nem engedélyezett adatoknak is. E tulajdonság miatt az ext3 nagyon megbízhatónak tekinthető.
Az Ext3 három üzemmódot támogat:
- Visszahúzás - ez a mód nem rögzíti az adatokat. Mindenekelőtt az úgynevezett metaadatok (inode fájl, blokk referenciák) kerülnek a naplóba. Csak azután, hogy a naplóban vannak, az adatok a fájlrendszerbe íródnak.
- Rendezett (alapértelmezett üzemmód) - ez a mód hasonló a fentihez. Az egyetlen különbség az, hogy az írási módban az összes metaadat először a naplóba kerül, és csak ezután változik meg a fájlrendszer. Rendszeres módban, amikor blokk információ kerül a naplóba, ez a blokk azonnal megváltozik a fájlrendszerben. Ezután a következő blokkra vonatkozó információ kerül a naplóba, és a blokk rögzítésre kerül, és így tovább. Vagyis az adatok párhuzamosan változnak a napló módosításával.
- Folyóirat - teljes naplózási mód. A metaadatok és adatok beírják a naplót. És csak ezután változik a fájlrendszer.
ReiserFS fájlrendszer
Megoldotta a kis fájlok merevlemezre helyezésének problémáját. Például az ext2 / 3-ban egyetlen karaktert tartalmazó fájl tárolására az egész blokk a lemezen lesz elfoglalva. Az ext2 / 3 blokk mérete 1-8 kBa lehet (a méret a fájlrendszer méretétől függ). A ReiserFS-ben egy blokkban több fájl adatait is elhelyezheti. Továbbá, ha a fájl mérete nagyon kicsi, akkor az adatok az inode-ba helyezhetők el, vagyis közvetlenül a metaadatokban.
A fájlrendszer optimalizált fákon (B tree) alapul. Ez növeli a keresési sebességet a fájlrendszerben, és megszünteti a könyvtárban található fájlok és könyvtárak számának korlátozását.
Nagy fájlok esetén ez a fájlrendszer is nagyon magabiztos.
A ReiserFS fájlrendszer 3.6 verziójára a következő korlátozások léteznek:
- A maximális fájlméret 8 TB (32 bites számítógépek esetén);
- A fájlrendszer maximális mérete 16 TB.
Most a ReiserFS következő verziója kerül kifejlesztésre - a negyedik. Várható, hogy a 2.6.17 vagy 2.6.18 verziókban szerepel a rendszermag.
JFS fájlrendszer
A JFS naplózott fájlrendszer. Fő hobbija az LVM (Logical Volume Manager) segítségével együtt használható. Az LVM lehetővé teszi a merevlemezek több fizikai partíciójának egy logikai partícióba való kombinálását, amelyet ezután hagyományos merevlemezként rendezhet. Ugyanakkor az LVM egyes típusai lehetővé teszik az új lemezterület on-the-fly csatlakoztatását. És ha az ext3 fájlrendszert használja a növekvő partíciókra, egy ponton kap egy üzenetet arról, hogy lehetetlen létrehozni egy új fájlt. Az a tény, hogy az ext3 partíció formázásakor a méret, a véges számú inódok függvényében előre rögzül. Vagyis a fájlok maximális száma előzetesen ismert. Ha a fájlrendszer mérete nem nő, akkor ez az inodes-szám elegendő a normál működéshez. A JFS-ben lehetőség van dinamikusan növelni a fájlrendszert és az inódok számát. Ennek a tulajdonságnak köszönhetően, ahogy a fájlrendszer mérete nő, nincs korlátozás a létrehozott fájlok számára.
A JFS fájlrendszer esetében a következő korlátozások léteznek:
- A maximális fájlméretet az operációs rendszer mérete korlátozza.
- A fájlrendszer maximális mérete 512 TB.
Az XFS fájlrendszer
Nagy fájlok támogatása azért lehetséges, mert az XFS egy 64 bites fájlrendszer. És a fájlrendszer sebessége a B + fák használatával érhető el a belső struktúrák keresésére és leírására.
Belülről a fájlrendszer meglehetősen bonyolult, és nem látom annak szükségességét, hogy röviden ismertesse struktúráját. Különösen azért, mert jó cikkek vannak az interneten az XFS részletezésével:
Microsoft fájlrendszerek
Ha a Microsoft fájlrendszeréről beszélünk, a Linux támogatja a FAT és NTFS fájlokat. A FAT-szel minden nagyon egyszerű, a fájlrendszer struktúrája ismeretes, ezért a Linuxban teljesen támogatott. Az egyetlen dolog, amit figyelembe kell venni a FAT használatakor, Linuxban kétféle van:
Támogatni kell a FAT-ot abban az esetben, ha floppy lemezeket és különböző USB-meghajtókat kíván használni: flash kártyák, merevlemezek stb. Az a tény, hogy mindegyikük általában a FAT-ban van formázva.
A NTFS egy kicsit bonyolultabb. Ez a fájlrendszer általában csak olvasható módban támogatott. Felvételi módban nem ajánlott használni. Míg a rögzítési mód támogatott, de ha elolvasod a dokumentációt az NTFS vezetők, azt találjuk, hogy több betűt írt a felvételi mód, akkor csak módosítani a tartalmát a meglévő fájlokat, minden esetben, nem hozhat létre új fájlokat, törlése vagy átméretezése meglévő - képes elpusztítani fájlrendszer.
Az iso9660 és az udf fájlrendszerek
Ezeket a fájlrendszereket CD és DVD lemezekre vonatkozó információk tárolására használják.
Kezdetben az iso9660 egy nagyon egyszerű fájlrendszer volt, sok korlátozással. Például a fájlnevek, mint az MS DOS, a címtármellékletek számának korlátozása. Ezért számos bővítményt írtak az iso9660-ra, ami kibővíti képességeit. Beleértve azokat a kiegészítéseket, amelyek lehetővé teszik a UNIX fájlok tulajdonságainak mentését. Minden kiegészítõt a fájlrendszer-illesztőprogram támogat, és nem okoz gondot a munka során. Továbbá, az iso9660 meghajtó támogatja, ahogy furcsán hangzik, a felvételi mód. CD-ROM-képek létrehozásakor használható.
Az udf-nál sem voltak különleges problémák. Így a CD- és DVD-lemezeken végzett munkát a Linux korlátozás nélkül támogatja.
A proc fájlrendszer
Ez egy nagyon hasznos fájlrendszer. Rendszergazdaként végzett munkájakor nagyon gyakran fordulhat képességéhez. A Linux-fájlrendszer szervezésének első fejezetek egyikében röviden beszélek a fájlrendszer céljáról. Ne felejtsük el, hogy a / proc könyvtárban lévő fájlok a rendszermag adattartományának leképezése a fájlrendszerbe. Ez azt jelenti, hogy ha egy fájl tartalmát nézzük, valójában látszik a rendszermag adatterületének bizonyos része.
Az alábbiakban néhány érdekes fájlt fogok leírni, amelyek megtalálhatók a / proc könyvtárban. A rendszeren található fájlok tartalma eltér a példákban bemutatott fájlok tartalmától.
/ proc / cmdline
Tartalmazza a rendszermaghoz továbbított parancssort, amikor elindul.
/ proc / cpuinfo
Információ a processzorról vagy a processzorokról.
/ proc / partíciók
Az összes csatlakoztatott meghajtó partícióinak listáját tartalmazza.
A PCI buszon észlelt eszközök listája.
Ez a fájl meg tudja állapítani, hogy egyes eszközök miért nem működnek. Ügyeljen a megszakításokra: ha 0, akkor azt jelenti, hogy az eszközt semmilyen okból nem adták meg megszakításnak. Nem fogom teljes mértékben idézni a fájl tartalmát, nagyon nagy.
/ proc / swaps
A csatlakoztatott swap fájlok és partíciók listáját tartalmazza.
/ proc / verzió
Információt tartalmaz az operációs rendszer és a Linux kernel verziójáról.
Folyamatadatok
A / proc fájlok mellett vannak olyan könyvtárak is, amelyek neve a szám. Minden könyvtár olyan folyamatot ír le, amelynek PID-je megfelel a könyvtár nevének. A könyvtárban található fájlok leírják a folyamat paramétereit. Az egyik könyvtár tartalma az alábbiakban található.
Csak néhány példányban található fájl tartalmaz olyan információkat, amelyek előzetes feldolgozás nélkül értendők.
Összefoglaló parancsokat tartalmaz.
Tartalmazza a környezeti változók értékeit a folyamat környezetben.
Információt tartalmaz a folyamat állapotáról emberileg olvasható formában.
Egyéb könyvtárak
A rendszer folyamatait leíró könyvtárak kómája, a / proc más könyvtárak lehetnek. Az alábbiakban néhányuk célja:
- ide - az ide interfészhez kapcsolódó eszközökről.
- irq - információk a megszakítások elosztásáról.
- net - a hálózatról. Az arp tábla tartalma és az útválasztási táblázat. A hálózati interfészek és protokoll statisztikái. És így tovább.
- scsi - SCSI eszközökről.
- sys - változó rendszerparamétereket tartalmaz.
A / proc / sys fájlrendszer különálló téma. A könyvtárban található fájlok segítségével megváltoztathatja a rendszer "menet közben" paramétereit. Elég a kívánt érték megírása egy adott fájlban. Nem fogom leírni a / proc / sys-t, túl sok információ van, és túl sok tudnivaló van annak megértéséhez, hogy mely fájlokat használják. Szóval elmondom, hol találja meg a fájlrendszer dokumentációját és leírását:
Sysfs fájlrendszer
A virtuális sysfs fájlrendszer a Linux 2.6 kernel egyik jellemzője. A fájlrendszer néhány rendszermag-adatstruktúrát jelenít meg, alapvetően leírva a jelenleg a rendszerben lévő eszközöket.
A Sysfs-t az udev használja az eszközfájlok dinamikus létrehozásához.