Portál AbcLinuxu, 30. dubna 2025 05:23
Závěr seriálu a srovnání všech popisovaných filesystémů.
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ří:
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)
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
.
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ů.
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.
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.
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ů:
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.
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.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.