Přechod z ext2 na ext3

Otázka: Je možné přejít ze systému souborů ext2 na ext3 bez ztráty dat?

Odpověď: Ano. ext3 vzniká z ext2 zapnutím žurnálování, jinak jsou to systémy stejné a problémy s kompatibilitou nejsou známy. Ke změně se používá přepínač -j programu tune2fs.

Naprostá kompatibilita oběma směry také znamená možnost přepínat zpět na ext2, i když pro časté změny by se těžko hledal důvod, pokud se ext3 ve vašich podmínkách osvědčí.

Žurnálování mírně zpomaluje zápis na disk. Je však možné zvolit celkem 3 cesty s různou "mírou žurnálování", kdy se více preferuje rychlost nebo odolnost nebo "něco mezi".

Je potřeba mít novější verzi e2fsprogs, minimálně 1.23 (u RedHatu v updates).

Při bootování očekávejte toto hlášení:

EXT3-fs: mounted filesystem with ordered data mode

ext3 používal běžně ve svých jádrech nejprve pouze Red Hat Linux, do standardního jádra byl přijat ve verzi 2.4.15-pre2, takže od ostré verze 2.4.15 je už součástí přímo vanilla jader. Jádra tak mají po reiserfs druhý slušný systém souborů se žurnálováním.

Co je to žurnálování: Žurnál zajišťuje konzistenci dat a metadat uložených na disku. Pomáhá při vypnutí počítače bez řádného ukončení například po výpadku proudu, někdy i při hardwarových chybách disků. Samotný žurnál se v ext3 zapisuje do souboru .journal v kořeni svazku. Jeden z viditelných a velmi příjemných projevů je rychlé zotavení systému po násilném ukončení místo dlouhotrvající kontroly integrity svazků programem fsck.

Další rozšířené žurnálovací systémy (s nevýhodou nekompatibility, s jinými výhodami):

Všechny žurnálovací systémy mají zatím experimentální status, avšak zejména s ohledem na krátkou dobu života ve srovnání s ext2, minimálně ext3 a reiserfs se totiž již dají považovat za dobře použitelné, problémy mohou nastávat v součinnostmi s kvótami a podobnými doplňkovými utilitami. Vývoj u všech pokračuje.

Pro úspěšné provozování ext3 na jiné než bootovací oblasti stačí mít ext3 a jbd jako moduly a opravit údaje o typu svazku v souboru /etc/fstab. Chcete-li výhod ext3 používat i na bootovacím svazku, musíte mít ext3 přímo v jádře nebo použít ramdisk (initrd) a inicializovat příslušné moduly tímto způsobem:

mkinitrd --preload jbd --preload ext3 /boot/initrd-VERZE.img VERZE

Jak naopak změnit ext3 na ext2:

man tune2fs

       -O [^]feature[,...]
              Set  or clear the indicated filesystem features (options) in the
              filesystem.  More than one filesystem feature can be cleared  or
              set  by  separating  features  with commas.  Filesystem features
              prefixed with a caret character ('^') will  be  cleared in  the
              filesystem's  superblock;  filesystem  features without a prefix
              character or prefixed with a plus character ('+') will be added
              to the filesystem.
...
                   has_journal
                          Create  an ext3 journal (as if using the -j option).
...

Čili stačí zadat příkaz:

tune2fs -O ^has_journal /dev/...

Žurnál ovšem rušit nemusíte, můžete také disk jenom odmontovat, změnit záznam ve fstab a zase ho připojit. Pokud ho jenom chcete přenést do jiného počítače, kde jádro nezvládne ext3, nemusíte dělat nic - pouze se žurnál nepoužije, jinak se nestane nic. To je ta výhoda kompatibility.

Odkazy: