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 až
/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>
|
/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):
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ů ]
[ > ]
[ >> ]
Obsah tohoto dokumentu je licencován pod licencí Creative Commons -
Attribution / Share Alike.
|