Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Ext4: evoluční souborový systém

Po dvou letech vývoje se souborový systém ext4 pomalu stabilizuje, sami vývojáři mu svěřují svá data a je pomalu na čase se podívat co všechno nás čeká, protože jej budeme zřejmě potkávat čím dál častěji. Nejedná se o žádná převratná vylepšení, ale spíše evoluci v navýšení výkonu a spolehlivosti.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Úvod

Theodore Ts'o je hlavním vývojářem utilit e2fsprogs, které slouží k práci se souborovými systémy ext(2,3,4) a angažuje se i na vývoji ext4. O něm jsme minulý týden informovali, že začal tento souborový systém sám používat na svém notebooku. Píše, že sice bude zálohovat trochu častěji, ale až na jeden malý problém nenarazil na nic co by mu bránilo v práci. Ext4 přichází se spoustou vlastností zlepšující výkon a omezující fragmentaci. Nově také přichází s možností defragmentovat celý souborový systém online.

Historie

Ext4 je sice mladý souborový systém, ale jelikož vychází, stejně jako jeho předchůdci, z dlouho vyvíjené verze, tak by se dalo říct, že první verze souborového systému ext se objevila v roce 1992. Samotné ext4 začalo vznikat v roce 2006. Jedná se opět o fork stávajícího souborového systému (ext3), do kterého jsou postupně přidávány další vlastnosti. Vývojáři ext3 navrhli několik vylepšení pro svůj souborový systém a některé byly dokonce implementovány, ale další nikoli a začalo se mluvit o vytvoření další verze ext. Někteří vývojáři navrhli, že by bylo lepší, kdyby ext3 zůstalo stabilní a nové vlastnosti se implementovaly až do ní. Argumenty pro vytvoření forku nakonec vývojáře přesvědčily a do jádra 2.6.19 se přidala podpora pro ext4.

Vlastnosti

Ext4 je na novinky bohatý. Poráží i starý limit maximální velikosti oddílu, který má ext3 na hodnotě 16 TiB při velikosti 8 KiB na jeden blok. Ext4 může mít oddíl veliký 1 exabyte. Stále se daří udržet dopřednou a zpětnou kompatibilitu, takže ext3 může uživatel připojit jako ext4 a obráceně. Byl také odstraněn limit 32 000 podadresářů v adresáři. Také byla přidána online defragmentace, což je vlastnost, jejíž absence je vyčítána Linuxu velmi dlouho.

Extents

Jednou z nedůležitějších novinek souborového systému ext4 jsou extenty. Jedná se o vlastnost, která dokáže namapovat velký rozsah fyzických bloků na disku na jeden ukazatel. Takhle jde spojit až 128 MiB velký prostor s velikostí bloků 4 KiB. To vylepšuje výkon, protože souborový systém nemusí hledat jednotlivé kousky souboru na disku a všechno má napsané v jednom extentu.

Persistent pre-allocation

Ext4 také řeší nově prealokaci bloků pro jeden soubor. Doposud se pro tuto činnost používala metoda, kdy se do souboru zapsalo spousty nul a tím se alokovalo potřebné místo navíc. Do ext4 bylo kvůli tomuto problému přidáno nové systémové volání preallocate(). Takto alokované místo by nemělo být fragmentované. Toto velmi ocení databázové systémy a také programy pro záznam různých audio a video přenosů, které ukládají data postupně podle toho, jak přijdou.

Delayed allocation

Občas se stává, že otevřené soubory postupně mění svoji velikost a rostou. Souborový systém se k těmto souborům chová tak, že data, která má zapsat, zapíše, a pokud je potřeba přidat další data, tak se může stát, že budou umístěny někde jinde a vznikne fragmentovaný soubor. Ext4 se snaží tomuto zabránit tím, že oddálí samotný zápis a hledání volných bloků, co nejvíce je to možné.

Multiblock allocator

Multiblock allocator slouží k namapování velkého množství bloků, učených pro jeden soubor, v jedné operaci. Díky tomu může souborový systém najít na disku dostatečný nefragmentovaný volný prostor, kam se všechna data bez fragmentace umístí. Tato vlastnost dovoluje programům odeslat hodně bloků najednou na rozdíl od existujícího mechanismu v jádře, které dovoluje posílat bloky pouze po jednom.

Vylepšený timestamp

Linux se dostává do velmi specifických zařízení a občas některé z těchto zařízení potřebuje přesnější čas než vyjádření timestampu po vteřinách. Jádro 2.6.23 přidává nanosekundy ke stávajícímu timestampu v systému a tohoto vylepšení využívá i ext4. Jako přídavek se k sekundové části přidaly 2 bity navíc a tím se posunul problém roku 2038 o dalších 500 let.

Vylepšená kontrola souborového systému

Program e2fck může nově ignorovat bloky nealokovaného místa a tabulku inodů a soustředí se jen na části souborového systému, kde by mohla být chyba. To zrychlí kontrolu celého souborového systému.

Výkonové porovnání s reiserfs

V dnešním článku jsem se rozhodl místo bonie++, použít jiné testy, které mají blíže k realitě. Testovací stroj je s procesorem AMD Athlon X2, má k dispozici 2 GiB RAM a LVM pole na discích 120+320+320 GiB. Při každém z testu je souborový systém vytvořen znovu a je použit 7 GiB velký oddíl, který je umístěn na konci 320 GiB disku. Jádro je použito z Gentoo a ext4 je zkompilováno bez podpory rozšířených práv a SELinuxu.

Vytvoření velké adresářové struktury

V tomto testu vytvořím adresářovou strukturu s pěti adresáři a každý z těchto adresářů bude mít 50 podadresářů. Každý adresář dále obsahuje 1000 souborů s obsahem několika málo bytů. Této struktury budu dále využít u testů s kompresí, dekompresí a u kopírování malých souborů. Pro vytvoření souborů používám malý script napsaný v pythonu. Pro každý test vytvářím souborový systém znovu a data, která budou použita, tam kopíruji z jiných oddílů (/tmp).

Souborový systém real user sys
ext4 0m24.505s 0m2.788s 0m11.192s
reiserfs 0m24.381s 0m3.041s 0m20.989s

V kernel space jasně vede ext4, celkový čas vytváření je podobný.

Komprese souborů

Souborový systém real user sys
ext4 0m55.063s 0m52.581s 0m2.376s
reiserfs 0m56.443s 0m52.752s 0m3.390s

Celkový čas je opět podobný, ale s ext4 se systém se soubory méně zabývá.

Dekomprese souborů

Souborový systém real user sys
ext4 0m25.110s 0m3.140s 0m11.157s
reiserfs 0m24.330s 0m3.255s 0m20.231s

Tento test dopadl podobně jako první. Vítěz je tedy ext4.

Kopírování malých souborů

Souborový systém real user sys
ext4 0m26.331s 0m0.000s 0m0.002s
reiserfs 0m21.998s 0m0.541s 0m20.185s

Kopírování souborů se u ext4 v kernel space prakticky neprojeví. Celkový čas je ovšem horší pro ext4.

Kopírování velkých souborů

Souborový systém real user sys
ext4 0m5.995s (200 MiB) a 0m22.549s (800MiB) 0m0.005s (200 MiB) a 0m0.012s (800MiB) 0m0.572s (200 MiB) a 0m2.487s (800MiB)
reiserfs 0m5.625s (200 MiB) a 0m23.379s (800MiB) 0m0.010s (200 MiB) a 0m0.019s (800MiB) 0m1.042s (200 MiB) a 0m3.950s (800MiB)

Pro tento test jsem se rozhodl použít film Big Buck Bunny s celkovou velikostí asi 200 MiB a Elephants Dreams s velikostí 800 MiB.

Shrnutí testů

Co se týče kernel space, tam jasně vede ext4, které se drží v jádře mnohem kratší dobu. Na druhou stranu celkový čas operace (který je ovlivněn parametry samotného disku) je velmi podobný. Ext4 má ve výkonu určitě co nabídnout.

Anketa

Plánujete nasadit ext4?

       

Závěr

Nové vlastnosti ext4 nejsou revoluční, ale spíš evoluční. Vývojáři si vytyčili jasné a reálné cíle a těch se drží. Ext4 je s každou verzí jádra použitelnější a osobně uvažuji o jeho použití na desktopu pro systémový oddíl. Je pravděpodobné, že se začne pomalu dostávat do distribucí, které ho budou mít nastavený jako výchozí souborový systém. Ext4 se ukázal jako velmi výkonný a jeho vlastnosti by měly udržet systém rychlý i při dlouhodobějším používání.

Adam Štrauch

Adam Štrauch

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.

Školení Google+ pro firmy

DW - Školení PPC
  • Jak využít Google+ pro firemní komunikaci a marketing.
  • Čím se liší Google+ od Twitteru a Facebooku z pohledu firemního využití.
  • Jak využít Google+ v souladu s pravidly užívání.
  • Založení Google+ Page (Stránky) krok po kroku, včetně praktických tipů.

Detailní informace o školení Google+ »

Ohodnoťte jako ve škole:
Průměrná známka 2,82

Přehled názorů

počet inodů
alblaho 14. 7. 2008 00:11
Nový
├ 
Re: počet inodů
Adam Štrauch 14. 7. 2008 01:13
Nový
├ 
Re: počet inodů
EXT8 14. 7. 2008 08:10
Nový
└ 
Re: počet inodů
Sten 14. 7. 2008 14:32
Nový
 
└ 
Re: počet inodů
Heron 14. 7. 2008 15:09
Nový
 
 
└ 
Re: počet inodů
VM 14. 7. 2008 17:49
Nový
 
 
 
└ 
Re: počet inodů
dayvee 14. 7. 2008 19:23
Nový
 
 
 
 
└ 
Re: počet inodů
Mard 15. 7. 2008 08:22
Nový
 
 
 
 
 
└ 
Re: počet inodů
Radek Tondra 15. 7. 2008 08:39
Nový
korektoor
yossarian 14. 7. 2008 00:19
Nový
└ 
Re: korektoor
Adam Štrauch 14. 7. 2008 01:05
Nový
 
└ 
Re: korektoor
anonymní uživatel 14. 7. 2008 18:30
Nový
ReiserFS
JardaP 14. 7. 2008 01:11
Nový
├ 
Re: ReiserFS
Uživatelka si přála…t u lizu 14. 7. 2008 05:34
Nový
│
├ 
Re: ReiserFS
Keny 14. 7. 2008 10:06
Nový
│
└ 
Re: ReiserFS
Izak 14. 7. 2008 15:32
Nový
│
 
├ 
Re: ReiserFS
M. Lox 14. 7. 2008 17:27
Nový
│
 
│
└ 
Re: ReiserFS
Mard 15. 7. 2008 08:24
Nový
│
 
└ 
Slack-space, šmajdalfe, slack-space.
Uživatelka si přála zůsta 15. 7. 2008 03:30
Nový
└ 
Re: ReiserFS
miguel23 14. 7. 2008 14:40
Nový
 
└ 
Re: ReiserFS
alblaho 14. 7. 2008 14:57
Nový
Dva bity?
Michal Kubeček 14. 7. 2008 02:38
Nový
├ 
Re: Dva bity?
Adam Štrauch 14. 7. 2008 05:57
Nový
└ 
Re: Dva bity?
dayvee 14. 7. 2008 19:27
Nový
Kompatibilita
GAS 14. 7. 2008 07:53
Nový
├ 
Re: Kompatibilita
Daniel R 14. 7. 2008 08:05
Nový
└ 
Re: Kompatibilita
Daniel R 14. 7. 2008 08:09
Nový
Podpora undelete
rhn 14. 7. 2008 08:27
Nový
├ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 08:45
Nový
│
└ 
Re: Podpora undelete
Uživatelka si přála zůsta 15. 7. 2008 03:33
Nový
│
 
└ 
Re: Podpora undelete
Mard 15. 7. 2008 08:28
Nový
│
 
 
└ 
Re: Podpora undelete
Uživatelce zkrouhli nick 15. 7. 2008 21:17
Nový
│
 
 
 
└ 
Re: Podpora undelete
bim 16. 7. 2008 15:47
Nový
│
 
 
 
 
└ 
Re: Podpora undelete
afk_cz 16. 7. 2008 21:24
Nový
│
 
 
 
 
 
└ 
Re: Podpora undelete
bim 17. 7. 2008 19:07
Nový
├ 
Re: Podpora undelete
Heron 14. 7. 2008 09:11
Nový
│
├ 
Re: Podpora undelete
houska 14. 7. 2008 09:33
Nový
│
│
├ 
Re: Podpora undelete
Heron 14. 7. 2008 09:36
Nový
│
│
│
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 10:13
Nový
│
│
│
 
└ 
Re: Podpora undelete
EXT8 14. 7. 2008 10:29
Nový
│
│
│
 
 
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 10:32
Nový
│
│
│
 
 
 
└ 
Re: Podpora undelete
WHS 14. 7. 2008 11:36
Nový
│
│
│
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 12:53
Nový
│
│
│
 
 
 
 
 
└ 
Re: Podpora undelete
WHS 14. 7. 2008 13:32
Nový
│
│
│
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 14:15
Nový
│
│
│
 
 
 
 
 
 
 
├ 
Re: Podpora undelete
WHS 14. 7. 2008 14:17
Nový
│
│
│
 
 
 
 
 
 
 
│
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 14:53
Nový
│
│
│
 
 
 
 
 
 
 
│
 
└ 
Re: Podpora undelete
WHS 14. 7. 2008 15:08
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 15:24
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
└ 
Re: Podpora undelete
WHS 14. 7. 2008 15:36
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 15:39
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
└ 
Re: Podpora undelete
WHS 14. 7. 2008 15:54
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
└ 
Re: Podpora undelete
astray 14. 7. 2008 17:31
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
├ 
Re: Podpora undelete
Program 14. 7. 2008 17:37
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 17:52
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
├ 
Re: Podpora undelete
WHS 14. 7. 2008 18:10
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
arnold 15. 7. 2008 12:58
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 15. 7. 2008 13:29
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
arnold 15. 7. 2008 20:23
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 16. 7. 2008 09:05
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
kul a in je Lenin 16. 7. 2008 12:20
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 16. 7. 2008 13:20
Nový
│
│
│
 
 
 
 
 
 
 
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
arnold 17. 7. 2008 09:59
Nový
│
│
│
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
dayvee 14. 7. 2008 19:34
Nový
│
│
│
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 15. 7. 2008 09:09
Nový
│
│
│
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
arnold 15. 7. 2008 12:55
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 15. 7. 2008 13:24
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
arnold 15. 7. 2008 17:17
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 16. 7. 2008 09:08
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
├ 
Re: Podpora undelete
kul a in je Lenin 16. 7. 2008 12:40
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
│
└ 
Re: Podpora undelete
anonymní uživatel 16. 7. 2008 13:19
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
│
 
└ 
Re: Podpora undelete
anonymní uživatel 16. 7. 2008 13:21
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
arnold 16. 7. 2008 23:10
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
anonymní uživatel 20. 7. 2008 23:00
Nový
│
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Podpora undelete
Jacie Chan 28. 12. 2008 14:45
Nový
│
│
└ 
Re: Podpora undelete
anonymní uživatel 14. 7. 2008 17:34
Nový
│
│
 
└ 
Re: Podpora undelete
Uživatelka si přála zůsta 15. 7. 2008 03:37
Nový
│
│
 
 
├ 
Re: Podpora undelete
Rejpal 15. 7. 2008 04:14
Nový
│
│
 
 
└ 
Re: Podpora undelete
Mard 15. 7. 2008 08:32
Nový
│
│
 
 
 
└ 
Re: Podpora undelete
Uživatelce zkrouhli nick 15. 7. 2008 21:22
Nový
│
│
 
 
 
 
└ 
Re: Podpora undelete
Radek Tondra 16. 7. 2008 13:51
Nový
│
│
 
 
 
 
 
└ 
Re: Podpora undelete
hotovson 19. 3. 2009 12:37
Nový
│
└ 
Re: Podpora undelete
EPP 14. 7. 2008 10:33
Nový
│
 
└ 
Re: Podpora undelete
BlackRider 14. 7. 2008 19:14
Nový
│
 
 
├ 
Re: Podpora undelete
dayvee 14. 7. 2008 19:36
Nový
│
 
 
│
└ 
Re: Podpora undelete
hotovson 19. 3. 2009 12:41
Nový
│
 
 
└ 
Re: Podpora undelete
Rejpal 14. 7. 2008 20:14
Nový
└ 
Re: Podpora undelete
rhn 16. 7. 2008 11:47
Nový
 
└ 
Re: Podpora undelete
Heron 16. 7. 2008 12:49
Nový
Delayed allocation???
بطرس 14. 7. 2008 09:43
Nový
└ 
Re: Delayed allocation???
Martin Mareš 14. 7. 2008 10:07
Nový
 
└ 
Re: Delayed allocation???
MAd MAx 14. 7. 2008 10:11
Nový
 
 
├ 
Re: Delayed allocation???
ub 14. 7. 2008 11:32
Nový
 
 
│
└ 
Re: Delayed allocation???
arnold 14. 7. 2008 16:04
Nový
 
 
└ 
Re: Delayed allocation???
Yenya 14. 7. 2008 12:05
Nový
Velké množství malých souborů
anonymní uživatel 14. 7. 2008 10:24
Nový
└ 
Re: Velké množství malých souborů
mka 14. 7. 2008 11:22
Nový
 
├ 
Re: Velké množství malých souborů
anonymní uživatel 14. 7. 2008 12:55
Nový
 
└ 
Re: Velké množství malých souborů
Izak 14. 7. 2008 15:41
Nový
Nedokážu správně přečíst výhody EXT4
K. 14. 7. 2008 11:04
Nový
└ 
Re: Nedokážu správně přečíst výhody EXT4
anonymní uživatel 14. 7. 2008 11:18
Nový
 
└ 
Re: Nedokážu správně přečíst výhody EXT4
K. 14. 7. 2008 11:39
Nový
 
 
├ 
Re: Nedokážu správně přečíst výhody EXT4
anonymní uživatel 14. 7. 2008 14:22
Nový
 
 
└ 
Re: Nedokážu správně přečíst výhody EXT4
zz 14. 7. 2008 17:50
Nový
ZFS ?
nick.n17 14. 7. 2008 13:46
Nový
├ 
Re: ZFS ?
anonymní uživatel 14. 7. 2008 14:25
Nový
│
└ 
Re: ZFS ?
Izak 14. 7. 2008 15:47
Nový
│
 
└ 
Re: ZFS ?
BlackRider 14. 7. 2008 19:10
Nový
│
 
 
└ 
Re: ZFS ?
tom 14. 7. 2008 20:07
Nový
│
 
 
 
└ 
Re: ZFS ?
Uživatelka si přála zůsta 15. 7. 2008 03:40
Nový
│
 
 
 
 
└ 
Re: ZFS ?
Mard 15. 7. 2008 08:36
Nový
│
 
 
 
 
 
└ 
Re: ZFS ?
treebeard 15. 7. 2008 13:48
Nový
└ 
Re: ZFS ?
anonymní uživatel 14. 7. 2008 16:20
Nový
Vykonnostni statistiky
Jan Horak 14. 7. 2008 17:40
Nový
├ 
Re: Vykonnostni statistiky
M. Lox 14. 7. 2008 17:59
Nový
└ 
Re: Vykonnostni statistiky
Adam Štrauch 14. 7. 2008 18:15
Nový
No tak to je tedy legrace
martin 17. 7. 2008 02:00
Nový
└ 
Re: No tak to je tedy legrace
Rejpal 17. 7. 2008 02:12
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem