Ext4 (Česky)

From ArchWiki
Revision as of 04:39, 13 February 2009 by Warriant (talk | contribs)
Jump to navigation Jump to search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

Úvod

Ext4 je evolucí nejpoužívanějšího souborového systému na Linuxu – Ext3. V mnoha ohledech je Ext4 vetší zlepšení oproti Ext3 než Ext3 byl oproti Ext2. Ext3 byl hlavně o přidání žurnálování do Ext2, ale Ext4 mění důležité datové struktury souborového systému (jako třeba ty odsouzené 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ů

  1. Aktualizujte svůj systém: Template:Codeline
  2. Naformátujte oddíl: Template:Codeline (pro volby viz manuálová stránka mkfs.ext4)
  3. Připojte jednotku
  4. Přidejte položku do Template:Filename s použitím ext4 jako typu souborového systému

Migrace z ext3 na ext4

Jsou dva způsoby, jak přemigrovat oddíly z ext3 do ext4:

  • připojením ext3 oddílů jako ext4 bez konverze (kompatibilita)
  • konverzí ext3 oddílů na ext4 (výkon)

Tyto dva přístupy 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 s 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 stále přečíst souborový systém z jiných distribucí/operačních systémů bez podpory ext4 (např. Windows s ovladači pro ext2).
  • 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]).
Note: Mimo relativní novost ext4 (což může být bráno jako risk) tato technika nemá žádné stinné stránky.

Postup

  1. Otevřete Template:Filename a změňte "type" z ext3 na ext4 u všech oddílů, jenž chcete připojit jako ext4.
  2. Znovu připojte ovlivněné oddíly.
  3. To je vše, přátelé!

Konverze ext3 oddílů na ext4

Princip

Abyste mohli plně zažít úspěchy ext4, musí být dokončen nevratný proces konverze.

Pro:

Proti:

  • Nelze číst/psát s ovladači pro ext3 (Všimněte si, že pro Windows není známý žádný ext4 ovladač)
  • Nevratné (ext4 oddíly nemohou být změněny na ext3)

Předpoklady

Na Arch Linux systému je vyžadován následující software:

Pokud převádíte /boot oddíl na ext4:

Note: Patch pro ext4 je standardně začleněn v balíčku Archu pro GRUB (v čase psaní článku, ale to se zřejmě nezmění). Jinak by byl pro boot z ext4 oddílu potřeba GRUB2.
Warning: Bootování z ext4 oddílu GRUBem není oficiálně podporováno a GRUB2 je stále ve vývoji. I přesto, že GRUB momentálně funguje, je tou "bezpečnou" volbou boot z ext2 nebo ext3 /boot oddílu. Byli jste varováni!

Pokud převádíte kořenový oddíl (/) na ext4:

Pokud převádíte kořenový oddíl (/) na ext4, následující software je též potřeba na spustitelném CD/USB jednotce:

Note: Poslední obrazy Arch Linuxu (2008.06) mají starší verzi Template:Codeline, ale je jednoduchou věcí provést Template:Codeline z živého prostředí po nastavení sítě. Případně SystemRescueCd 1.1.4 obsahuje vhodnou verzi a samo o sobě je užitečným CD. Brzo je očekáváno vydání nového obrazu Arch Linuxu, jenž bude obsahovat aktuální verzi Template:Codeline.

Postup

Tyto instrukce byly převzaty z http://ext4.wiki.kernel.org/index.php/Ext4_Howto (anglicky) a http://bbs.archlinux.org/viewtopic.php?id=61602 (anglicky). Byly vyzkoušeny a potvrzeny tímto autorem dne 16. ledna 2009.

  • Aktualizujte! Proveďte aktualizaci systému, abyste zajistili, že jsou aktuální všechny potřebné balíčky: Template:Codeline
  • 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 netestovaný souborový systém. Dále byl tento proces 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.
  • Otevřete Template:Filename a změňte "type" z ext3 na ext4 u všech oddílů, které budou převedeny na ext4.
Warning: ext4 je zpětně kompatibilní s ext3, dokud nejsou povoleny rozsahy [extents] a jiné nové volby. Pokud má uživatel oddíl sdílený s jiným OS, který zatím neumí číst ext4 oddíly, lze zmíněný oddíl v Archu připojit jako ext4 a stále být schopen ho používat jinde jako ext3... Avšak už ne po učinění dalšího kroku! Všimněte si nicméně, že když oddíl není zcela převeden, má použití ext4 méně výhod.
  • Proces konverze s Template:Codeline musí být proveden když oddíl 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 jiného živého média, jak bylo výše popsáno v sekci "Předpoklady".
Note: Uživatel MUSÍ provést fsck souborového systému, jinak nebude čitelný! Tento běh fsck je potřebný k navrácení souborového systému do konzistentního stavu. Najde chyby kontrolních součtů v popisech skupin – toto je očekávané. Parametr "-f" vynutí kontrolu, i když se zdá souborový systém být v pořádku. Parametr "-p" řekne fsck, aby provedlo automatickou opravu (Jinak je uživatel požádán pro potvrzení u každé chyby).
  • Restartujte Arch Linux!

Řešení problémů

Panika jádra

Pokud uživatel na ext4 převedl svůj kořenový oddíl (/), může se při pokusu o boot setkat s panikou jádra. To je způsobeno tím, že počáteční ramdisk detekoval oddíl jako "ext4dev" namísto "ext4". Pokud se toto stane, jednoduše restartujte s pomocí záložního (fallback) počátečního ramdisku a vytvořte výchozí ramdisk znovu:

# mkinitcpio -p kernel26

Během procesu vytváření Template:Codeline správně zjistí a zahrne moduly ext4 do počátečního ramdisku.

GRUB Error 13

Po nedávném updatu jádra se tento autor setkal s chybou GRUBu při pokusu nabootovat z ext4 /boot oddílu:

Error 13: Invalid or unsupported executable format

Řešením je nabootovat z živého média (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í příkaz. (Ví někdo proč?):

# grub-install --recheck /dev/sda