Portál AbcLinuxu, 13. července 2025 10:56

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()

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