JFS

Izvor: HrOpenWiki
Inačica od 15:42, 16. ožujka 2011. koju je unio/unijela Shrike (razgovor | doprinosi)

Skoči na: orijentacija, traži

JFS ili Journaled File System je 64-bitni dnevnički datotečni sustav dostupan pod GNU GPL. Postoje verzije za AIX, eComStation, OS/2 i Linux operacijski sustav. HP-UX ima drugi i drugačiji JFS koji je zapravo OEM verzija VxFs-a. AIX ima dvije verzije JFS-a, JFS1 i JFS2, no na ostalim operacijskim sustavima, uklućujući Linux, postoji samo verzija JFS2 koja se jednostavno zove samo JFS. Ovo se ne bi trebalo pobrkati sa JFS na AIX-u koji se eksplicitno zove JFS1.


Povijest

JFS se prvi put pojavio u AIX verziji 3.1 u veljači 1990. Taj datotečni sustav, koji se sada zove JFS1 na AIX-u, je bio najbolji izbor datotečnog sustava za AIX kroz čitavo desetljeće i instaliran je na mnoga računala koje je pogonio AIX. Povijesno, JFS1 je veoma povezan sa memorijskim kontrolerom AIX-a.. Ovaj dizajn je tipičan za datotečni sustav na operacijskom sustavu zatvorenog koda, ili za datotečni sustav koji je podržan od samo jednog operacijskog sustava.

1995 je započeo rad na poboljšanju datotečnog sustava da postane skalabilniji i da podržava sustave sa više procesora. Drugi cilj je bio da se stvori portabilniji datotečni sustav , koji bi se mogao koristiti na više različitih operacijskih sustava. Nakon nekoliko godina rada, novi JFS se pojavio u OS/2 Warp Server for eBusiness u travnju 1999, i onda u OS/2 Warp Client u kolovozu 2000. U Prosincu 1999 snapshot originalnog OS/2 JFS-a je predan open source zajednici , kada je započeo rad na Linux verziji JFS-a. Prva stabilna verzija za Linux se pojavila u srpnju 2001. JFS za Linux održava mala grupa pod nazivom JFS Core Team.

Paralelno sa ovim događanjima, neki razvijatelji originalnog JFS-a su se vratili AIX razvijateljskom timu i započeli proces portanja ovog novog JFS-a natrag na AIX. U svibnju 2001 je, drugi dnevnički sustav, Ehnahnced Journaled File System (JFS2), postao dostupan na AIX 5L.

Rano u 2008. su se pojavila nagađanja kako IBM više nije zainteresiran održavati JFS te zbog toga više ne bi trebao biti korišten u produkcijskim svrhama. Unatoč tome, Dave Kleikamp, član IBM Linux Tehnološkog Centra i JFS Core Team, je objasnio da se i dalje prate promjene u Linux kernelovom driveru i korigiraj uproblemi. Dodao je i da neke distribucije očekuju veću suradnju i odbijaju podržati datotečni sustav.

Značajke

JFS podržava slijedeće značajke


Dnevnik

JFS je dnevnički datotečni sustav. Umjesto da je dnevnička funkcija dodana kao dodatak poput onog u ext3, u JFS-u je implementirana od početka. Dnevnik može biti veličine do 128 megabajta. JFS drži dnevnik samo meta-podataka, što znači da će meta-podatci biti konzistentni ali će samo podatci biti oštećeni nakon problema. JFS ima sličan dnevnik XFS-ovom gdje se drži dnevnik samo jednog dijela inode. B+ Tree

JFS uses a B+ tree to accelerate lookups in directories. JFS can store 8 entries of a directory in the directory's inode before moving the entries to a B+ tree. JFS also indexes extents in a B+ tree.

B+ tree

JFS koristi B+ stablo (B+ tree) za akceleraciju traženja datoteka i direktorija. JFS može pohraniti 8 podataka o direktoriju u direktorijsku inodu prije prebacivanja u B+ stablo. JFS također indeksira extente u B+ stablu.

Dinamička Alokacija Inoda

JFS dinamički alocira prostor za inode po potrebi. Svaka inoda je 512 bajta. 32 inode su alocirane u 16 KB extentu.

Extenti

JFS alocira datoteke kao extente. Extent može biti lociran u nekoliko alokacijskih grupa. Extenti su lndeksiran u B+ stabluza bolje performanse kada se lociraju extentove pozicije.

Kompresija

Kompresija je podržana jedino na AIX-u na JFS1 verziji koristeći LZ algoritam. Zbog visokog CPU-a zahtjeva, kompresija se ne preporuča na višekorisnički računalima ili samo za svrhe offline backupa.

Istodobni I/O

JFS normalno primjenjuje dijeljeno čitanje, ekskluzivno pisanje nad datotekama, što spriječava nekonzistentnost podataka, ali što zahtijeva serijalizaciju zapisa na razini datoteke. IIO opcija ovo onemogućuje, što je jako zgodno u relacijskim bazama koje same vrše kontrolu i ovo bi samo usporavalo.

Agregacijske grupe

JFS koristi Alokacijske grupe. Alokacijske grupe dijele sveukupni prosotr u komadićke. Ovo omogućuje JFS-u korištenje mehanizme alokacije resursa za postizanje visokih I/O performansi. Prvi mehanizam je pokušaj skupljanja blokova i inoda u isti AG. Drugi mehanizam je stavljanje nepovezanih podataka u isti AG. Kada se datoteka otvori JFS zaključa AG u kojem je datoteka i dozvoli rast samo to jdatoteci. Ovo smanjuje fragmentaciju jer samo otvorene datoteke mogu pisati u AG.

Linux alati

Za instalaciju JFS-a na Linuxu je potrebno instalirati paket jfsutils. Fsck.jfs je alat koji korigira JFS particiju. Jfsutil je nužno imati i za rat preko CLI sučelja i preko gparted stvaranja particije.

Izvor

[1]

--Shrike 13:52, 16. ožujka 2011. (UTC)