A linux és az unix fájlrendszer felépítése absztrakt, 14. oldal
Napló fájlrendszerek.
Az elmúlt években a Linux sok új funkciót szerez, és számos heterogén környezetben használatos. A Linux fut a mikrokontrollereken, routerekben használják, támogatja a háromdimenziós grafikák hardveres gyorsítóit, támogatja az Xfree multi-screen környezetet. Mindez fontos funkciója a végfelhasználók számára. De sokat tettek a kiszolgálók követelményeinek teljesítése érdekében, különösen a Linux 2.2.x rendszermag felé történő áttérés óta.
Mivel a széles körű támogatást az ipar és az erőfeszítéseket, amelyeket a szurkolók szabad szoftver, Linux tett szert fontos tulajdonsága kereskedelmi változatát Unix és más operációs rendszerek és a nagy szervereken. Egy ilyen funkciót - támogatása fájlrendszerek, képes együttműködni a világ nagy részén merevlemez, könnyen méretezhető sok ezer kép, gyorsan talpra meghibásodást követően fenntartani a magasabb I / O teljesítményt, hogy hatékonyan működjön a legkülönbözőbb méretű fájlokat, hogy ellenálljon a külső és belső töredezettség és még olyan új funkciók, amelyeket nem támogat semmilyen, a hagyományos fájlrendszerek.
Ebben a fejezetben megismerkedünk az úgynevezett naplófájlrendszerekkel (JFS). Ext3 és ReiserFS.
Belső széttagoltság
A logikai blokk a lemezterület minimális egysége, amelyet a fájlrendszer rendszerhívásokkal fenntart. Ha a fájlméret kisebb, mint a logikai blokkban lévő byte-ok száma, akkor még mindig egy blokkot fog a lemezen. Így, ha a hossza egy adott fájl nem osztható meg a bájtok számát a logikai egység (MOD fájl mérete mérete є0 egység), a fájlrendszer lesz kénytelen biztonsági másolatot készíteni az új egység, amely üres marad, amíg a végén, ami nem hatékony felhasználása lemezterület. Az ilyen felesleges térelválasztást a lemezen belső szétdarabolódásnak hívják. Minél nagyobb a logikai blokk mérete, annál nagyobb lesz a belső töredezettség.
Külső töredezettség
Külső töredezettség előfordul olyan helyzet, amikor egy adott fájl logikai blokkokat szétszórva a hajtás, ami lassuló művelet egy adott fájlt, mert megköveteli a nagyobb számú lemezt olvasni fej mozgását.
A méret lehetővé teszi a lemezterület hatékonyabb felhasználását, hiszen az összes blokk egymás után rendeződik. Ezenkívül egy fájl olvasása közben az olvasófej kevesebb mozgása zajlik. A kiterjesztések használata csökkenti a külső töredezettség negatív hatását, mivel több blokkot tárolnak egymás után. Ebben az esetben ha az alkalmazás olyan mértékben, hasonló méretű logikai egység, az előnyeit annak alkalmazása minimális, ennek eredményeképpen létrehozott egy csomó kis mértékben is, amelyek szerepet játszhatnak a szokásos logikai blokkok. A nagyobb termelékenység elérése során a szektorok közötti mozgás csökkentése és a hibák számának csökkentése a lemezes gyorsítótár elérésekor.
A kiterjesztések lehetővé teszik, hogy hatékonyan szervezzen meg nagy, egymás után elhelyezkedő blokkok láncát. Segítenek csökkenteni a szabad lemezterületek követéséhez szükséges lemezterület nagyságát, ezáltal növelve a termelékenységet.
A B + fákat széles körben használják az index adatbázis-struktúrákban, biztosítva a gyors és skálázható hozzáférést a rekordokhoz. A "B + tree" név rövidítése a "Balanced Tree" rövidítéséhez. A "+" jel azt jelzi, hogy ez az "eredeti" B-fa módosított változata; tartalmaz olyan mutatókat, amelyek megkötik a fa leveleit, ami segíti a sorozatos hozzáférést.
A B + fák két különböző típusú csomópontból állnak: köztes csomópontok és végcsomók (levelek). Minden csomópont egy pár készletet (kulcsot, mutatót) tartalmaz, amelyet a kulcs értéke növekvő sorrendben rendez. A közbenső csomópont-mutatókat arra használják, hogy más mutatókat közbenső vagy végső csomópontokra hivatkozzanak, a végpont mutatók közvetlenül az információhoz. A kulcs a B + fa belsejében található információk szervezésére szolgál. Az adatbázisokban minden rekordnak van egy kulcsmezője, amelynek értéke megkülönbözteti az azonos típusú rekordokat. A B-fák kulcsot használnak az adatbázis-rekordok indexének létrehozására, amely lehetővé teszi számukra a hozzáférési idő csökkentését. Ha az aktuális kulcsot összehasonlítjuk a kívánt csomópont kulcsával, a program megkeresi a szükséges információkat.
UNIX fájlrendszer
UFS - az SCO Unix, az V. rendszer és az Unix más korai verzióiban használt fájlrendszer neve. A Linux kernel opcionális UFS támogatással is rendelkezik. A Unix legtöbb dialektusa még mindig UFS-t használ, bár néhány speciális módosítással.
Virtuális fájlrendszer
A VFS egy speciális szint a rendszermagban, amely egy egységes API-t nyújt a fájlszolgáltatásokhoz, függetlenül attól, hogy melyik fájlrendszeren van a fájl. A fájlrendszer (vfat, ext2fs, jfs stb.) Összes implementációjának bizonyos VFS-függvényeket kell biztosítania ahhoz, hogy azokat Linux-ban is használhassák. Az absztrakció ezen szintje lehetővé teszi a felhasználói alkalmazások számára, hogy különböző fájlrendszerekkel működjenek együtt, beleértve a kereskedelemben forgalmazott termékeket is.
Mi a naplófájl-rendszer
Köztudott, hogy gyors memóriában tárolt cache-memória, amely az I / O műveletek felgyorsítására szolgál. Ezt a fajta puffert gyakran használják a fájlrendszerekben (lemezmeghajtónak nevezik) és az adatbázisokban, hogy növeljék az általános teljesítményt. A probléma akkor jelentkezik, ha a rendszer összeomlott, mielőtt a pufferek lemezt írtak volna; ebben az esetben a rendszer újraindítása után ellentmondásos állapotban lesz. Képzeld el, hogy a fájlt eltávolították a gyorsítótárból, de a merevlemezen maradt. Ezért az adatbázisoknak és a fájlrendszereknek képesnek kell lenniük arra, hogy a rendszert egységes állapotba hozzák. Az évek során a módszerek javítását létrehozott adatbázisban, hogy gyorsan vissza őket, de a helyreállítási fájlrendszerek, pontosabban, UFS-szerű rendszerek növekszik, ahogy a fájlrendszer méretét. Az ext2fs fsck helyreállítási segédprogramjának át kell vizsgálnia az egész lemezpartíciót, hogy a fájlrendszer visszaálljon egy állandó állapotba. Tekintettel arra, hogy ez a feladat egy nagyon időigényes nagy szerverek több száz gigabájt, sőt terabájt adat, akkor nem beszélhetünk a magas szintű felkészültség ezeket a rendszereket. Ez volt a fő oka a fájlrendszerek technológiájának létrehozásához, hasonlóan az adatbázis-helyreállítás technológiájához, ezért jelent meg a naplózási fájlrendszerek.
A munka mechanizmusa
A naplófájlrendszerek ugyanazt a technikát alkalmazzák a fájlrendszer műveletek regisztrálásához, így a fájlrendszer nagyon rövid idő alatt visszaállítható.
Egy fontos különbség adatbázisok és naplózó fájlrendszert, hogy az adatbázis regisztrált felhasználó és vezérlési adatokat, míg a fájlrendszerek regisztrációs általában még csak a metaadatok, azaz a belső ellenőrzési struktúrák (deszkriptorok inode asztalfoglalás szabad blokkok, inode táblák, stb.)
A megoldás a skálázhatóság problémájára.
Az UFS és az ext2fs egyidejűleg jött létre, amikor a merevlemezek és egyéb adathordozók nem rendelkeztek nagy kapacitással. A kapacitásnövekedés nagyobb méretű fájlok, könyvtárak és partíciók megjelenését eredményezte, amelyek viszont számos komoly problémát okoztak a fájlrendszerrel kapcsolatban. Ezek a problémák a fájlrendszerek felépítésében használt belső struktúrák korlátai miatt következnek. Az ilyen struktúrák eléggé megfelelnek a régi fájlok és könyvtárak átlagos méretének, azonban új körülmények között nem hatékonyak. A régi szerkezetek két komoly problémát okoznak.
Nem képesek megnövelni a tárolt mennyiségeket. Az idősebb fájlrendszereket bizonyos méretű fájlok, könyvtárak és partíciók számára tervezték. fájlrendszer szerkezete van rendelve egy bizonyos számú bit adatot a fájl méretét, fix számú tárolt számjegyek a logikai blokk számok, stb Ennek következtében a súlyos korlátozások a bitek száma a mező mérete bizonyos mértékben korlátozza a fájlok méretét és válaszfalak, valamint a tételek számát a katalógusban.
Nem alkalmasak új tárolási kötetek kezelésére. Bár a régi szerkezetek néha képesek új objektumméretek támogatására, a gyakorlatban ez gyakran nem lehetséges a teljesítményi okok miatt. Egyes szerkezetek jól működnek a régi méretekkel, de az új helyzetben a teljesítmény jelentős csökkenését okozzák.
A legújabb generációs fájlrendszereket úgy hozták létre, hogy figyelembe vették a méretezhetőségi problémák megoldásának szükségességét. Egyes új struktúrákat és módszereket alkalmaznak benne.
A legtöbb új fájlrendszerben egyes mezők tárolására fenntartott számjegyek száma nő a meglévő korlátozások leküzdése érdekében.
Jelenleg a blokk-eszköz maximális mérete a fájlrendszer méretét 2 TB-ra korlátozza. Ezenkívül a VFS-ben korlátozza a 2 GB méretű fájl méretét. Azonban fontos megjegyezni, hogy a fájlrendszerek méretezésére most már a Linux 2.4 rendszermag kibocsátásával kerül sor. A JFS és az XFS olyan fájlrendszerek kereskedelmi verziói, amelyek olyan operációs rendszerekhez készültek, amelyekben ilyen korlátozások nincsenek.