Portál AbcLinuxu, 20. května 2022 07:27

Moderní souborové systémy - JFS

7. 3. 2003 | Petr Novický
Články - Moderní souborové systémy - JFS  

Závěr seriálu a srovnání všech popisovaných filesystémů.

Úvod

Po delší pauze způsobené nemocí a následném nedostatku času v průběhu zkouškového období je tu opět další díl seriálu o moderních souborových systémech. Dnes se podíváme blíže na poslední filesystém, který tento seriál hodlá pokrýt - JFS, a poté jednotlivé souborové systémy porovnáme. JFS je 64bitový filesystém vyvinutý světoznámou firmou IBM s důrazem na vysokou propustnost a spolehlivost hlavně na serverech. Své místo má hlavně na strojích s transakčně orientovanými operacemi.

Mezi jeho vyhody patří:

Instalace

Kompilace kernelu

Pokud nepoužíváte kernel, který podporuje filesystém JFS, je nutné si takový pořídit. JFS patche jsou k dispozici na adrese: http://oss.software.ib.com/jfs. Ke zprovoznění JFS budete potřebovat jak patche, tak programy na správu tohoto souborového systému (jfsutils), které najdete na stejné adrese.

Po stažení a rozbalení souborů se zdrojovými kódy kernelu získáme z výše uvedené adresy patche, např. jfs-2.4-1.1.1-patch.tar.gz. Tento soubor rozbalíme (doporučuji si přečíst README) a aplikujeme příslušné patche následujícími příkazy (z adresáře, do kterého jsme rozbalili zdrojové soubory kernelu):

patch -p1 < /usr/src/jfs/jfs-2.4-common-1.1.1.patch
patch -p1 < /usr/src/jfs/jfs-2.4.17-1.1.1-patch

Nyní, když už jsme aplikovali patch, nakonfigurujeme a instalujeme kernel jako obvykle. Pro podporu JFS je nutné zaškrtnout příslušnou položku v sekci Filesystems. Tyto volby můžete zaškrtnout buď jako modul, nebo přímo zakompilovat do kernelu. Pokud plánujete použít JFS na váš kořenový oddíl, je nutné mít podporu zakompilovanou přímo v kernelu (nebo vytvořit ramdisk s tímto modulem viz druhý díl tohoto seriálu)

Nástroje na obsluhu JFS

Pro práci s JFS filesystémem jsou také nezbytné nástroje na jeho správu zmíněné již výše. Instalaci těchto nástrojů zvládne jistě každý a to sekvencí příkazů:

./configure; make; make install

Patří sem příkazy na tvorbu (jfs_mkfs) a kontrolu (jfs_fscklog) filesystému, nastavení (jfs_tune) a další jako jfs_fscklog, jfs_logdump a jfs_debugfs.

Vytvoření JFS filesystému:

Nový souborový systém JFS se vytváří následujícím příkazem:

mkfs -t jfs /dev/hdXX

kde /dev/hdXX je diskový oddíl, na kterém chceme JFS vytvořit. Při vytváření filesystému dochází k smazání všech dat, které se na daném oddíle vyskytují, proto je nutné si je zálohovat!

Nyní už stačí pouze připojit náš filesystém příkazem

mount -t jfs /dev/hdXX /adr

kde adr je místo v adresářovém stromu, kam chceme diskový oddíl připojit. Před připojením JFS zkontroluje transakce v žurnálu a můžeme náš nový filesystém začít používat.

Abychom nemuseli po každém restartu systému tento oddíl znovu připojovat, je lepší přidat záznam do souboru /etc/fstab. Všechny tyto operace jsou naprosto obdobné jako v případě všech ostatních souborových systémů.

Souhrn

JFS je tedy moderní žurnalovací souborový filesystém s garantovanou konzistencí dat (díky žurnálu). Je šířen pod licencí GPL, snaží se být portovatelný bez zásahu do zdrojových kódů kernelu a to pod všemi platformami, které podporuje Linux. Jeho podpora je zajištěna pro jádra řady 2.4 a 2.5 pomocí externího patche.

Srovnání souborových systémů

Kritéria výběru

Filesystémy můžeme porovnávat podle různých kritérií. Jak jste si mohli všimnout během našeho seriálu, nezáleží vždy na 100 procent na rychlosti. Mezi kritéria výběru toho správného filesystému patří následující vlastnosti:

Tyto všechny vlastnosti určují vhodnost či nevhodnost souborového systému, nicméně výběr závisí hlavně na specifických vlastnostech použité platformy a také na druhu softwaru, který hodláme používat. Z toho vyplývá, že není možné nalézt optimální benchmark pro všechny druhy nasazení. Nejvěrnějších výsledků dosáhneme vlastními testy na svém hardwaru a používáním své aplikace.

Používané benchmarky

Schopnosti filesystému na vlastním stroji můžeme otestovat nejen pozorováním rychlosti běhu používaných aplikací, ale také některým z následujících benchmarků:

Tabulka vlastností

Feature Ext3fs ReiserFS XFS JFS
Firma/autor Stephen Tweedie Hans Reiser SGI IBM
Domovska stranka link link link link
Podpora v jadre od 2.4.15 2.4.1 2.5.36 2.5.6
Zurnal na oddelenem diskovem oddilu ano ano ano ano
Korenovy diskovy oddil ano ano ano ano
Dynamicky alokovane inody pomoci externiho patche ano ano ano
Zmena velikosti filesystemu za behu jen zvetseni jen zvetseni jen zvetseni jen zvetseni
Quoty ano ne ano externi patch
Zmena velikosti filesystemu zvyseni i snizeni zvyseni i snizeni zvyseni zvyseni
Extended atributes a Access control lists externi patch ano ano ne
Podpora rozptylenych souboru ne ano ano ano
Vyhledavani volnych bloku sekvencni vyhledavani B+ Tree B+ Tree binarni strom + bitmapa
Maximální počet souborů 4GB 4GB 4GB 4GB
Maximální počet souborů v adresáři 4GB 2GB 4GB 2GB
Maximální počet podadresářů 32000 64,5K 4G 65533
Maximální velikost souboru 4TB 16TB 16TB 16TB
Maximální velikost filesystému 16TB 16TB 16TB (až 9EB) 16TB (až 16PB)

pozn. všechny uvedené limity jsou pro 32-bitové architektury s velikostí bloku rovnou 4KB.

Závěr

Všechny dnešní moderní filesystémy se soustřeďují na co nejvyšší spolehlivost, snaží se udržet integritu dat za každé situace. A všechny z nich podporují následující vlastnosti:

Naopak jednotlivé filesystémy nabízejí některé své jedinečné vlastnosti jako například efektivní práce s malými soubory u ReiserFS nebo jednoduchost a kompatibilita Ext3 vzhledem ke standartnímu souborovému systému, který v Linuxu používáme - Ext2. Neexistuje proto nějaký "nejlepší" filesystém, ale pouze nejlepší pro danou úlohu. S jeho nalezením Vám již bohužel neporadím, nicméně doufám, že jsem Vám tímto seriálem při hledání toho pravého alespoň trochu pomohl.

Související články

Moderní souborové systémy - 1. část
Moderní souborové systémy - ext3
Moderní souborové systémy - ReiserFS
Moderní souborové systémy - XFS

Odkazy a zdroje

Domovská stránka JFS
http://www.osdl.org/presentations/lwe-jgfs.pdf

Seriál Moderní souborové systémy (dílů: 5)

První díl: Moderní souborové systémy - 1. část, poslední díl: Moderní souborové systémy - JFS.
Předchozí díl: Moderní souborové systémy - XFS

Další články z této rubriky

Úvod do Dockeru (1)
Paralelizace běžných činností v konzoli pomocí GNU Parallel
Unixové nástroje – 26 (triky pro práci v Bashi)
Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
Linux: systémové volání splice()

Diskuse k tomuto článku

7.3.2003 08:12 Dale Cooper
Rozbalit Rozbalit vše Prenosny disk v ramecku
Odpovědět | Sbalit | Link | Blokovat | Admin
Mam problem s Ext3 a ReiserFS na vymennem disku, ktery nosim mezi skolou a domovem. Pokud na nem mam Ext2 je vse OK. Problem se projevuje tak, ze pri praci na zurnalovanem FS dojde k totalnimu zamrznuti pocitace. Pritom na hlavnim disku s Ext3/ReiserFS, ktery neprenasim vse funguje OK. Co s tim? Dik, Dale Cooper
7.3.2003 08:56 Marek Uher | skóre: 4 | Kladno
Rozbalit Rozbalit vše Chybne udaje o XFS
Odpovědět | Sbalit | Link | Blokovat | Admin
Nekolik poznamek k tabulce vlastnosti jednotlivych souborovych systemu - chybne udaje u XFS: 1) Podpora v jadre je k dispozici od verze 2.5.36, pro radu 2.4 je k dispozici externi patch. 2) XFS umi zmenu velikosti za behu uz od sve prvni produkcni verze (viz. nastroj xfs_growfs). 3) XFS umi pouze zvetseni souboroveho systemu. Pozadavek na nastroj "xfs_shrinkfs" je zatim pouze v seznamu "wish list". Vyvojari SGI se zameruji zejmena na stabilitu a rychlost. Tento problem se da castecne resit pomoci LVM nebo EVMS. 4) XFS podporuje teoreticky az 9EB (nikoliv 8EB). Podminkou je zmena Linux block device I/O layers.
10.3.2003 13:39 Petr Novický | skóre: 27
Rozbalit Rozbalit vše Chybne udaje o XFS
Omlouvam se, ta tabulka je trochu nepresna, hlavne ty udaje o zmenach velikosti u XFS, nejak jsem se musel prekouknout. Je to tak jak rikate.
9.3.2003 16:19 Milan Keršláger
Rozbalit Rozbalit vše EA a ACL pro Ext3
Odpovědět | Sbalit | Link | Blokovat | Admin
Podpora Extended atributes a Access control lists pro Ext3 je k dispozici jako externí patch (http://acl.bestbits.at), přímo v jádře je od 2.5.46 (tj. od začátku listopadu loňského roku).
14.3.2003 13:32 PaJaSoft
Rozbalit Rozbalit vše Pouzivani jednotek
Odpovědět | Sbalit | Link | Blokovat | Admin
Pouziti tak nesmyslnych jednotek jako maximalni pocet souboru v adresari jako 4GB je trochu divne. Vim sice, co tim chtel autor rici, taky pouzivam paskvily jako kkc apod., ale 4GB souboru vypada fakt blbe...
25.3.2003 19:34 9x0
Rozbalit Rozbalit vše nepresnosti pri JFS
Odpovědět | Sbalit | Link | Blokovat | Admin
Myslim, ze v tabulke pri JFS su urcite nepresnosti:

-JFS je sucastou jadra od 2.4.20
-EA a ACL su podporovane
15.7.2003 12:03 iwik
Rozbalit Rozbalit vše reiserfs a quota
Odpovědět | Sbalit | Link | Blokovat | Admin
Ako je to s quotami na reiserfs ? V tabulke v clanku je uvedene, ze nie su podporovane, kamarat mi hovoril ze treba patchnut jadro....Plati to stale alebo sa nieco uz zmenilo...lebo napr. balik quota podporuje reiserfs (aspon to tam pisu)
3.9.2003 21:19 czeXit.tk
Rozbalit Rozbalit vše reiserfs a quota
Co zkusit: http://www.namesys.com/faq.html#quota

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.