Užitečný progámek filefrag

Utilitka filefrag slouží (zjednodušeně řečeno) pro zjištování fragmentace souborů.

K fragmentaci souborů dochází u každého systému souborů bez ohledu na to, co si myslí jeho příznivci a co o něm říkají jeho odpůrci. Pokud je mi známo, tak ze všech FS dostupných v Linuxu má online defragmentaci pouze XFS (programem xfs_fsr). U JFS je defragmentace možná pouze na domácí platformě IBM, reiserfs nemá podobný nástroj vůbec a „domácí“ ext2, ext3 také ne.

Tento zápisek je především o ext3. Při hledání nějaké pomůcky, která by alespoň trochu umožnovala umravnit soubory na disku jsem v diskusních fórech nacházel v podstatě dva druhy zápisků. Autoři těch prvních tvrdili, že linux není windows a proto ext3 žádný defrag nemá, protože dobře navržený fs jej nepotřebuje. A ti druzí byli již zoufalí (stejně jako já) při pohledu na klesající propustnost při čtení souborů.

Zpět k tématu. Utilitka filefrag umožňuje zjistit počet fragmentů a na ext3 také odhadne minimální počet fragmentů pro daný soubor a aktuální stav FS. Má pouze jediný přepínač -v, který vypíše i rozsahy bloků jednotlivých fragmentů. Použítí je snadné:

#filefrag search_index.MYI
search_index.MYI: 429258 extents found, perfection would be 15 extents

Výstup je přehledný a pro účely statistiky i snadno parsrovatelný. Předchozí příklad ukazuje výstup programu filefrag a jako figurant je použit soubor o velikosti 1.8GB. Bystřejší čtenář jistě poznal, že jde o soubor s indexem MYISAM tabulky MySQL database.

Číslo 429’258 ponechám raději bez komentáře.

Je nutné doplnit, že se jedná o ext3 o velikost 80GB s 4kB bloky, je namountován jako /var a je zaplněn z 80%, tj 16GB volného místa. FS byl vytvořen 1.března 2008 (je tedy mladý). Stroj slouží jako běžný domácí server.

Co říci závěrem? Těším se na ext4 u něhož vývojáři počítají s online defragmentací. Program shake (který je asi nejlepším pokusem o defrag in userspace) považuji za aprílový žertík a spíše je to doklad žalostné situace linuxových FS a jejich nástrojů.

Příspěvek byl publikován v rubrice Linux, Systémy souborů. Můžete si uložit jeho odkaz mezi své oblíbené záložky.