Ext4 (Čeština)
Ext4 je evolucí nejpoužívanějšího souborového systému na Linuxu – Ext3. V mnoha ohledech je Ext4 více vylepšen oproti Ext3 než byl Ext3 oproti Ext2. Ext3 vzniklo hlavně přidáním žurnálování do Ext2, ale Ext4 modifikuje důležité datové struktury souborového systému (např. struktury, určené k ukládání dat souborů). Výsledkem je souborový systémem se zdokonaleným návrhem, lepším výkonem, stabilitou a schopnostmi.
Zdroj: Ext4 - Linux Kernel Newbies (anglicky)
Tvorba nových ext4 oddílů
- Aktualizujte svůj systém:
pacman -Syu
- Naformátujte oddíl:
mkfs.ext4 /dev/sdxY
(změňtesdxY
na název zařízení, které bude formátováno (např.sda1
)) - Připojte jednotku
- Přidejte položku do
/etc/fstab
s použitím ext4 jako typu souborového systému
/etc/mke2fs.conf
k prohlédnutí/kofiguraci předvolených nastavení.Migrace z ext3 na ext4
Existují dva způsoby, jak přemigrovat oddíly z ext3 na ext4:
- připojením ext3 oddílů jako ext4 bez konverze (kompatibilita)
- konverzí ext3 oddílů na ext4 (výkon)
Tyto dva postupy jsou popsány níže.
Připojování ext3 oddílů jako ext4 bez konverze
Princip
Kompromisem mezi úplnou konverzí na ext4 a prostým setrváním na ext3 je připojení existujících ext3 oddílů jako ext4.
Pro:
- Kompatibilita (souborový systém může být nadále připojen jako ext3) – To umožňuje uživatelům přístup k souborovému systému z jiných distribucí/operačních systémů bez podpory ext4 (např. z Windows s ovladači pro ext3).
- Lepší výkon (i když ne tak moc jako u zcela zkonvertovaného ext4 oddílu) – Viz Ext4 - Linux Kernel Newbies (anglicky) pro detaily.
Proti:
- Je použito méně schopností ext4 (pouze ty, které nemění diskový formát, jakými jsou třeba zpožděná alokace [delayed allocation] a alokace více bloků [multiblock allocation]).
Postup
- Editujte soubor
/etc/fstab
a změňte "type" z ext3 na ext4 u všech oddílů, jenž chcete připojit jako ext4. - Znovu připojte ovlivněné oddíly.
- To je vše!
Konverze ext3 oddílů na ext4
Princip
Abyste mohli plně využít ext4, musí být dokončen nevratný proces konverze.
Pro:
- Lepší výkon a úžasné nové schopnosti – Viz Ext4 - Linux Kernel Newbies (anglicky) pro detaily.
Proti:
- Nelze číst/zapisovat s ovladači pro ext3 (pro Windows není známý žádný ext4 ovladač)
- Nevratné (ext4 oddíly nemohou být změněny na ext3)
Požadavky
e2fsprogs
, ovšem stačí je aktualizovat příkazem pacman -S e2fsprogs
po nastavení sítě. Nebo lze použít SystemRescueCd >= 1.1.4, které je velice praktické a obsahuje odpovídající verzi.Postup
Tyto instrukce byly převzaty z https://ext4.wiki.kernel.org/index.php/Ext4_Howto (anglicky) a https://bbs.archlinux.org/viewtopic.php?id=61602 (anglicky). Byly vyzkoušeny a potvrzeny jejich autorem dne 16. ledna 2009.
-
Aktualizujte! Proveďte aktualizaci systému, abyste zajistili, že jsou aktuální všechny potřebné balíčky:
pacman -Syu
- Zálohujte! Zazálohujte si všechna data na všech ext3 oddílech, které budou převedeny na ext4. I přesto, že je ext4 pro běžné použití považováno za "stabilní", je to poměrně nový a neotestovaný souborový systém. Navíc byl tento postup konverze testován pouze na celkem jednoduché konfiguraci; je nemožné otestovat každou ze všech možných konfigurací, kterou může mít uživatel.
- Editujte
/etc/fstab
a změňte "type" z ext3 na ext4 u všech oddílů, které budou převedeny na ext4.
- Proces konverze s
e2fsprogs
musí být proveden v době, kdy disk není připojen. Pokud převádíte kořenový oddíl (/), nejjednodušší způsob, jak toho dosáhnout, je nabootovat z nějakého livecd, jak bylo popsáno výše v sekci "Požadavky".- Nabootujte livecd (pokud je třeba).
- Pro každý oddíl, který má být převeden na ext4:
- Ujistěte se, že oddíl není připojen.
- Spusťte
tune2fs -O extents,uninit_bg,dir_index /dev/oddíl
(kde/dev/oddíl
je nahrazen cestou k cílovému oddílu, např./dev/sda1
) - Spusťte
fsck -fp /dev/the_partition
- Restartujte Arch Linux!
mkinitcpio -p linux
Použítí rozšíření (extens) ext4 na soubory
Souborový systém je nyní zkonvertován na ext4, ovšem všechny soubory, které byly zapsané před konverzí nevyužívají nových rozšíření ext4, např. zrychlení práce s velkými soubory, redukované fragmentace a zvýšené rychlosti kontroly souborového systému. Aby se využilo všech výhod ext4, musí být všechny soubory na disk znovu zapsány. Ve vývoji je nástroj s názvem e4defrag, který toto zařídí ; zatím ovšem není dokončený.
Naštěstí lze použít program chattr, který přiměje kernel soubory přepsat. Tento program lze použít na všechny soubory a adresáře jednoho oddílu (např. pokud je /home na samostatném oddílu):
find /home -xdev -type f -print0 | xargs -0 chattr +e find /home -xdev -type d -print0 | xargs -0 chattr +e
Doporučuje se tento příkaz otestovat nejdříve na několika souborech, zda vše proběhne v pořádku. Také je doporučeno tento souborový systém po konverzi zkontrolovat.
Příkazem lsattr je možné zjistit, zda soubory používají nová rozšíření. Mělo by se u nich v seznamu atributů objevit písmeno 'e'.
Řešení problémů
Panika jádra
Po převodu kořenového oddílu root (/) může po restartu systému nastat panika jádra (kernel panic). Je to způsobeno tím, že počáteční ramdisk detekoval oddíl jako "ext4dev" namísto "ext4". V tomto případě restartujte za pomoci záložního (fallback) ramdisku a vytvořte výchozí ramdisk znovu:
- Připojit oddíl root v read-write módu; 'XXX' je název oddílu:
# mount /dev/XXX / -o remount,rw
- Manuálně připojit oddíl boot na /boot, pokud je na samostatném oddílu.
- Znovu vytvořit ramdisk :
# mkinitcpio -p linux
Během procesu vytváření mkinitcpio
správně zjistí a zahrne moduly ext4 do počátečního ramdisku.
GRUB chyba 13
Po nedávném updatu jádra při pokusu nabootovat z ext4 /boot oddílu projevila tato chyba GRUBu:
Error 13: Invalid or unsupported executable format
Řešením je nabootovat z livecd (např. SystemRescueCd) a provést chroot do instalace Arch Linuxu:
# mkdir /mnt/arch # mount -t ext4 /dev/sda1 /mnt/arch # mount -t proc proc /mnt/arch/proc # mount -t sysfs sys /mnt/arch/sys # mount -o bind /dev /mnt/arch/dev
# chroot /mnt/arch /bin/bash
Pokud je /boot na samostatném oddílu, tento oddíl musí být připojen též:
# mount -t ext4 /dev/sda2 /boot
Poté by měl problém vyřešit následujícím příkazem:
# grub-install --recheck /dev/sda
Poškození dat
Po tvrdém restartu se někdy objevila poškozená data. Přečtěte si prosím Ext4 ztráta dat; vysvětlení a prevence.
Od verze kernelu 2.6.30 je ext4 považován za "bezpečný." Několik záplat zvýšilo robustnost ext4 - i za cenu mírného snížení výkonu. Lze použít nový mount parametr (auto_da_alloc
), aby se tomuto chování zabránilo. Více informací viz Linux 2 6 30 - Zlepšení výkonu souborového systému.
Pro starší verze kernelu, než je 2.6.30 zvažte přidání parametru rootflags=data=ordered
na řádek kernel
v souboru GRUBu menu.lst
jako preventivní opatření.
Zvýšení výkonu
Od kernelu verze 2.6.30 výkon ext4 poklesl z důvodu změn, které slouží pro zlepšení integrity dat. [1] Uživatelé mohou výkon zvýšit parametrem nobarrier
při připojování disku, ovšem může to být nebezpečné a může to způsobit poškození či ztrátu dat po výpadku proudu. Vypnutí bariér lze provést příkazem barrier=0
na požadovaném souborovém systému v souboru /etc/fstab
. Např.:
# /dev/sda5 / ext4 noatime,barrier=0 0 1