Gentoo Logo

Upozornění : Tento dokument již neplatí a není udržován.


[ << ] [ < ] [ Domů ] [ > ] [ >> ]


4. Příprava disků

Obsah:

4.a. Úvod do blokových zařízení

Bloková zařízení

Nyní se podíváme na to, jak Gentoo Linux i Linux obecně zachází s disky a souvisejícími věcmi, jako jsou třeba souborové systémy, diskové oddíly a bloková zařízení. Až budete s těmito věcmi srozuměni, provedeme Vás procesem vytvoření diskových oddílů a souborových systémů (filesystémů), na které později nainstalujete svůj Gentoo Linux.

Na začátku představíme bloková zařízení. Nejznámější z nich jsou zřejmě ta, která reprezentují první IDE zařízení v linuxovém systému, a to sice /dev/hda. Pokud používáte SCSI nebo SATA zařízení, váš první pevný disk bude /dev/sda.

Tato bloková zařízení poskytují abstraktní rozhraní pro přístup k disku. Uživatelské programy je mohou používat, aniž by se museli starat o to, jestli je Váš disk IDE, SCSI a nebo něco jiného - programy mohou disk používat prostě jako úložiště dat, jako množinu souvislých, libovolně přístupných bloků o velikosti 512 bajtů.

Diskové oddíly

I když můžete teoreticky použít celý disk pro uchování instalace svého systému, téměř nikdy se to tak nedělá. Namísto toho se celé blokové zařízení reprezentující disk rozdělí do několika menších, lépe spravovatelných částí, tvořících opět další bloková zařízení. Na AMD64 systémech se jim říká diskové oddíly čili partition.

Oddíly se dělí do tří typů: primární, rozšířený a logický.

Informace o primárních diskových oddílech je uchovány přímo v MBR (master boot record) disku. Protože je MBR velmi malý (512 bajtů), mohou být založeny pouze čtyři primární oddíly, například /dev/hda1/dev/hda4.

Rozšířený oddíl je speciální primární oddíl, který může obsahovat další oddíly. Původně rozšířené oddíly neexistovaly, ale protože se omezení na pouhé čtyři oddíly na disk ukázalo jako silně limitující, byl tento způsob zaveden jako zpětně kompatibilní metoda.

Logický oddíl sídlí v rozšířeném oddíle. Záznamy o logických oddílech nejsou součástí MBR, ale jsou uschovány uvnitř rozšířeného oddílu.

Pokročilé metody ukládání dat

Instalační CD pro architekturu AMD64 podporují EVMS a LVM2, metody zvyšující flexibilitu správy diskových oddílů. Během instalace se zaměříme na "běžná" schémata, ale je dobré vědět, že máte EVMS i LVM2 k dispozici.

4.b. Návrh rozdělení disku

Výchozí rozdělení disku

Pokud Vás nezajímají detaily návrhu rozdělení disku, můžete použít výchozí schéma, které používáme pro účely této příručky:

Oddíl Systém souborů Velikost Popis
/dev/hda1 ext2 32M bootovací oddíl
/dev/hda2 (swap) 512M oddíl pro swap
/dev/hda3 ext3 zbytek disku oddíl pro kořenový adresář

Zajímá-li Vás, jak velké oddíly vytvářet nebo kolik jich je potřeba, čtěte dále, jinak pokračujte rozdělením disku podle části rozdělení disků - fdisk.

Kolik a jak velké?

Počet oddílů úzce závisí na Vašem prostředí. Máte-li kupříkladu hodně uživatelů, asi budete chtít vyhradit pro /home vlastní diskový oddíl pro zvýšení bezpečnosti a lepší zálohování. Pokud instalujete Gentoo na budoucí mailserver, měli byste mít oddělený /var, protože bude sloužit pro ukládání všech mailů. Dobrý výběr souborového systému poté zvýší výkon celého systému. Herní servery budou mít pravděpodobně oddělený /opt, protože většina herních serverů se instaluje právě tam. Důvody jsou podobné jako u /home: bezpečnost a zálohy. V každém případě je důležité ponechat dostatek místa na /usr - nejen kvůli nainstalovaným aplikacím, ale i proto, že jen samotný strom Portage zabírá okolo 500 MB bez stažených zdrojových kódů.

Jak vidíte, velmi záleží na tom, čeho chcete dosáhnout. Oddělené oddíly nebo svazky mají tyto výhody:

  • můžete si vybrat nejlepší systém souborů pro každý oddíl či svazek
  • systému nedojde volné místo kvůli tomu, že jeden nefunkční nástroj začne nepřetržitě zapisovat soubory do oddílu či svazku
  • je-li to nezbytné, kontroly systému souborů mohou být zkráceny, protože se jich může provádět více paralelně (toto je velmi patrné zejména při konfiguracích s více fyzickými disky)
  • můžete zlepšit bezpečnost připojením některých oddílů či svazků v režimu pouze pro čtení, nosuid (ignorování setuid bitů), noexec (ignorování příznaků "spustitelný") atd.

Avšak více oddílů má jednu velkou nevýhodu: pokud není takové rozdělení provedeno správně, můžete skončit se systémem, který má hodně volného místa v jednom oddílu a žádné jinde. Navíc na SCSI a SATA existuje limit 15 oddílů na disk.

Jako ukázkové rozdělení Vám předvedeme 20GB disk používaný v demonstračním notebooku (obsahuje webserver, mailserver, GNOME,...):

Výpis kódu 2.1: Příklad využití souborových systémů

$ df -h
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/hda5     ext3    509M  132M  351M  28% /
/dev/hda2     ext3    5.0G  3.0G  1.8G  63% /home
/dev/hda7     ext3    7.9G  6.2G  1.3G  83% /usr
/dev/hda8     ext3   1011M  483M  477M  51% /opt
/dev/hda9     ext3    2.0G  607M  1.3G  32% /var
/dev/hda1     ext2     51M   17M   31M  36% /boot
/dev/hda6     swap    516M   12M  504M   2% <not mounted>
(nerozdělené místo pro budoucí použití: 2 GB)

/usr je v našem příkladu poměrně plný (z 85%), ale jakmile máme programy nainstalované, /usr už moc neroste. Mohlo by se zdát, že několik GB místa pro oddíl /var je příliš; pamatujte však, že Portage tento oddíl používá pro kompilaci balíčků, a proto pokud pro /var ponecháte méně místa, třeba 1 GB, budete muset v souboru /etc/make.conf nastavit proměnnou PORTAGE_TMPDIR tak, aby odkazovala do adresáře s dostatkem volného místa, zejména při kompilaci velkých balíčků, jako například OpenOffice.

4.c. Rozdělení disků - fdisk

V následující části vysvětlíme, jak přenést ukázkové rozvržení oddílů na Váš pevný disk. Použijeme:

Oddíl Popis
/dev/hda1 bootovací oddíl
/dev/hda2 oddíl pro swap
/dev/hda3 oddíl pro kořenový adresář

Změňte si toto rozvržení podle vlastních potřeb.

Zobrazení současného rozvržení oddílů

fdisk je populární a mocný nástroj k rozdělení disku na oddíly. Spusťte fdisk nad svým diskem (v našem příkladě použijeme /dev/hda):

Výpis kódu 3.1: Spouštíme fdisk

# fdisk /dev/hda

Uvnitř nástroje fdisk budete uvítáni výzvou, která bude vypadat přibližně takto:

Výpis kódu 3.2: Výzva fdisku

Command (m for help):

Zadejte p pro zobrazení současného rozvržení oddílů:

Výpis kódu 3.3: Ukázkové rozdělění disku

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help):

Tento disk je nakonfigurován tak, aby uchovával sedm linuxových souborových systémů (každý oddíl je vypsán jako "Linux") a jeden oddíl pro swap (vypsáno jako "Linux swap").

Odstranění všech oddílů

Nejdříve z disku odstraníme všechny oddíly. Pro odstranění oddílu napište d. Chcete-li například odstranit stávající /dev/hda1:

Výpis kódu 3.4: Odstranění oddílu

Command (m for help): d
Partition number (1-4): 1

Oddíl byl naplánován k odstranění. Již se neukáže, napíšete-li p, ale nebude vymazán, dokud nebudou změny uloženy. Pokud jste se spletli, ihned napište q a zmáčkněte Enter; Vaše oddíly nebudou odstraněny.

Nyní, chcete-li opravdu smazat všechny oddíly ve svém systému, opakovaně pište p (výpis tabulky oddílů) a poté d následované číslem oddílu k vymazání. Nakonec budete mít tabulku oddílů prázdnou:

Výpis kódu 3.5: Prázdná tabulka oddílů

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):

Nyní je kopie tabulky oddílů v paměti, nad kterou program pracuje, prázdná, a můžeme tedy přistoupit k vytvoření oddílů podle již probraného schématu. Samozřejmě, pokud používáte vlastní rozvržení, nemůžete se řídit těmito instrukcemi do posledního slova.

Vytvoření bootovacího oddílu

Napřed vytvoříme malý bootovací oddíl. Pro vytvoření nového oddílu zmáčkněte n následované 1 pro výběr primárního typu oddílu. Program se Vás zeptá na první cylindr ("First cylinder"), zmáčkněte Enter. Na dotaz na poslední cylindr ("Last cylinder") napište +32M, aby měl oddíl velikost 32MB:

Výpis kódu 3.6: Vytvoření bootovacího oddílu

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (zmáčkněte Enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M

Když nyní zadáte p, měli byste uvidět následující rozvržení:

Výpis kódu 3.7: Vytvořený bootovací oddíl

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux

Nyní musíte označit oddíl jako bootovací; dosáhnete toho napsáním a a 1. Vyberete-li znovu p, uvidíte * ve sloupci "Boot".

Vytvoření oddílu pro swap

Nyní vytvořme oddíl pro swap. Napište n pro nový oddíl, p pro výběr primárního typu oddílu, poté 2, protože se chystáte vytvořit druhý primární oddíl čili /dev/hda2. Při dotazu na první cylindr zmáčkněte Enter, při dotazu na druhý zadejte +512M, protože chcete vytvořit oddíl o velikosti 512MB. Poté vyberte t pro nastavení typu oddílu - napsáním 2 vyberete oddíl, který jste právě vytvořili, a poté zadejte 82, abyste nastavili jeho typ na "Linux Swap". Nakonec můžete vybrat p, abyste se přesvědčili, že tabulka oddílů vypadá podobně, jako tato:

Výpis kódu 3.8: Výpis tabulky oddílů po vytvoření oddílu pro swap

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap

Vytvoření oddílu pro hlavní souborový systém

Nyní vytvořme oddíl pro uložení kořenového systému souborů, takzvanou "root partition". Nový oddíl vytvoříte napsáním n, poté p, aby fdisk věděl, že chcete vytvořit primární oddíl, a 3, neboť chcete vytvořit třetí primární oddíl, /dev/hda3. Při dotazu na první cylindr zmáčkněte Enter, totéž na dotaz o posledním, protože chcete, aby oddíl zabíral veškeré zbylé místo na disku. Nakonec se můžete pomocí p přesvědčit, jak jste to zvládli. Výsledek by měl vypadat přibližně takto:

Výpis kódu 3.9: Výpis tabulky oddílů po vytvoření oddílu pro kořenový systém souborů

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux

Uložení rozvržení oddílů

Pro uložení provedených změn a ukončení programu fdisk napište w.

Výpis kódu 3.10: Uložení a ukončení nástroje fdisk

Command (m for help): w

Nyní máme připravené diskové oddíly, můžeme tedy přistoupit k vytvoření souborových systémů.

4.d. Vytvoření souborových systémů

Úvod

Máte připravené diskové oddíly, je tedy čas na nich vytvořit systém souborů, filesystém. Pokud je Vám jedno, jaký filesystém si zvolit, a jste spokojeni s výchozí volbou, kterou používáme v této příručce, pokračujte vytvořením souborového systému na oddílu, jinak čtěte dále, abyste se dozvěděli o dostupných filesystémech.

Filesystémy?

K dispozici je několik filesystémů, z nichž některé jsou na amd64 stabilní, jiné ne. Za stabilní jsou považovány ext2 a ext3; jfs a reiserfs mohou pracovat, ale potřebují více testování. Pokud jste dobrodružné povahy, můžete zkusit nepodporované systémy souborů.

ext2 je pravý a vyzkoušený linuxový souborový systém, avšak nemá žurnálování metadat (metadata journaling), což znamená, že rutinní prohlídky filesystému při spuštění počítače mohou být časově poměrně náročné. Nyní je k dispozici široký výběr souborových systémů nové generace, u kterých probíhá kontrola konzistence velmi rychle a jsou proto všeobecně preferovány před svými nežurnálovými konkurenty. Žurnálové filesystémy zabraňují dlouhým prodlevám při spuštění počítače, kdy systém souborů nevypadá úplně v pořádku.

ext3 je žurnálovací verze souborového systému ext2, poskytující žurnálování metadat pro rychlou obnovu spolu s vylepšenými žurnálovacími režimy jako "full data journaling" a "ordered data journaling". ext3 je velmi dobrý a spolehlivý filesystém. Má možnost doplňkového indexování pomocí b-stromů, které umožňuje dosahovat vysokého výkonu v téměř každé situaci (pro jeho povolení přidejte příkazu mke2fs parametr -O dir_index). Zkrátka a dobře, ext3 je výborný filesystém.

ReiserFS je souborový systém založený na B*-tree, který poskytuje velmi dobrý celkový výkon a vysoce předčí jak ext2, tak ext3, pokud jde o zpracování malých souborů (menších než 4kB), často i 10x až 15x. ReiserFS je také velmi dobře škálovatelný a má žurnálování metadat. Od kernelu 2.4.18 je ReiserFS stabilní a použitelný stejně dobře jako všeobecný systém souborů i v extrémních případech, jako je vytváření obrovských filesystémů, uchování mnoha malých souborů a nebo naopak velmi velkých souborů či adresářů obsahujících desetitisíce položek.

XFS je systém s žurnálováním metadat přicházející s širokou paletou možností, optimalizovaný pro škálovatelnost. Doporučujeme ho pouze na linuxové systémy s high-end SCSI nebo Fibre Channel zařízeními pro ukládání dat a s UPS. Protože XFS uchovává mnoho dat v RAM, špatně navržené programy (ty, které si nedávají dobrý pozor při zápisu na disk, a jejich poměrně hodně) mohou ztratit velké množství dat, pokud systém havaruje.

JFS je vysoce výkonný žurnálovací systém souborů od IBM. Teprve nedávno se stal připraveným k produkčnímu nasazení a tudíž ještě nemůže být jeho stabilita objektivně hodnocena, ať už pozitivně či negativně.

Vytvoření souborového systému na oddílu

Pro vytvoření systému souborů na diskovém oddíle jsou k dispozici tyto odpovídající nástroje:

Filesystém Příkaz k vytvoření
ext2 mke2fs
ext3 mke2fs -j -O dir_index
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Chcete-li kupříkladu mít bootovací oddíl (v našem příkladu /dev/hda1) na ext2 a kořenový filesystém (/dev/hda3 dle příkladu) na ext3, použijete:

Výpis kódu 4.1: Vytvoření souborového systému na oddílu

# mke2fs /dev/hda1
# mke2fs -j -O dir_index /dev/hda3

Nyní vytvořte systémy souborů na svých diskových oddílech či logických svazcích.

Aktivace oddílu se swapem

mkswap je příkaz používaný k inicializaci oddílů se swapem:

Výpis kódu 4.2: Inicializace swap oddílu

# mkswap /dev/hda2

Pro aktivaci swap oddílu použijte swapon:

Výpis kódu 4.3: Aktivace swap oddílu

# swapon /dev/hda2

Vytvořte a aktivujte oddíl se swapem pomocí výše zmíněných příkazů.

4.e. Připojení souborových systémů

Nyní jsou oddíly připraveny a inicializovány, a je je tedy možno připojit, slouží k tomu příkaz mount. Nezapomeňte vytvořit nezbytné adresáře, do kterých budete připojovat každý vytvořený systém souborů. Jako příklad připojíme naše souborové systémy / a /boot:

Výpis kódu 5.1: Připojení souborových systémů

# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

Poznámka: Chcete-li, aby Váš /tmp byl na odděleném oddílu, změňte po připojení jeho práva: chmod 1777 /mnt/gentoo/tmp. Toto platí i pro /var/tmp.

Také budeme potřebovat připojit souborový systém proc (virtuální rozhraní jádra) na /proc, avšak nejdříve musíme na nové filesystémy umístit naše soubory.

Pokračujte instalací instalačních souborů.


[ << ] [ < ] [ Domů ] [ > ] [ >> ]


Tisk

Zobrazit všechny

Aktualizace: 30. srpen 2006

Poslední aktualizace původni verze tohoto dokumentu: 1. červen 2014

Shrnutí: Nyní je potřeba vytvořit diskové oddíly. Tato kapitola popisuje rozdělení disku pro další použití.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 vývojář

Tavis Ormandy
Gentoo Alpha vývojář

Jason Huebel
Gentoo AMD64 vývojář

Guy Martin
Gentoo HPPA vývojář

Pieter Van den Abeele
Gentoo PPC vývojář

Joe Kallar
Gentoo SPARC vývojář

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Korektor

Gerald J. Normandin Jr.
Korektor

Donnie Berkholz
Korektor

Ken Nowack
Korektor

Lars Weiler
Přispěvatel

Jan Kundrát
Překladatel

Jan Nárovec
Překladatel

Martin Tesař
Překladatel

Mirek Dvořák
Korektor

Adam Kudrna
Korektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.