Proč dělit disk
Linux je velmi variabilní systém a nedělá mu problém běžet na rozličně rozděleném (nebo nerozděleném) disku. Dokonce se obejde bez vlastního oddílu a spokojí se i s pouhým souborem na cizím souborovém systému. Nejjednodušší samozřejmě je nic nedělit (resp. pouze vyhradit jeden oddíl jako odkládací, swap, i když ani to není úplně nutné) a nainstalovat celý systém pohromadě. Není to ovšem nejlepší volba – sice nemusíme řešit problém s místem (volné místo je společné), ale přicházíme o celou řadu výhod, které rozdělený disk přináší. Základní výhody rozdělení disku jsou:
- bezpečnost
- snadná přeinstalace
- volba souborového systému
- lepší využití více disků
- možnost ochrany proti zápisu
První důvod, bezpečnostní, je zcela zřejmý. Poškodí-li se – například při výpadku napájení – některý souborový systém, ostatních se to nedotkne. Případné škody tak budou menší, než by byly v případě jediného oddílu.
Velmi důležitým důvodem je snadná přeinstalace systému. Je-li vše společně, musí se před přeinstalací veškerá uživatelská data někam zkopírovat a po instalaci zase přesunout zpět. To při umístění dat na samostatný oddíl odpadá.
Přínosem při dělení disku je též možnost zvolit pro každý oddíl nejvhodnější souborový systém a optimálně ho nastavit. Není tedy nutné dělat zbytečné kompromisy mezi výkonem a bezpečností.
Kdo má více disků, může zvolit, na který disk umístí určitou část hierarchie souborového systému. Lze tak získat výrazně lepší výkon.
Možnost ochrany proti zápisu je takovou třešničkou na dortu. Může ovšem zabránit nechtěnému smazání dat, případně zmenšit dopady případného útoku na systém.
Kolik, kam, jak
Zcela zásadní otázkou je, jak přesně disk rozdělit, tedy kolik místa kam přidělit (aby ho bylo všude dost) a jaké parametry jednotlivým oddílům nastavit. V tomto okamžiku je ovšem potřeba dodat, že volba konkrétních souborových systémů je záležitost způsobu využití počítače – proto budou v následujícím popisu použity pouze systémy ext2 a ext3. Komu více vyhovují reiserfs, JFS, XFS apod., nechť je použije.
Uváděné velikosti oddílů (které nelze považovat za dogma – multimédia požadují trochu něco jiného než třeba vývoj databází) budou odpovídat dnešním pevným diskům (tedy od 40 GB výše), pro menší disky se musí samozřejmě dělat určité korekce.
Kořenový oddíl
Každý systém musí mít kořenový oddíl. Bude na něm všechno to, co zůstane po přesunu některých částí na samostatné oddíly. Podle toho volíme i velikost – při vytvoření všech zde popsaných oddílů nemusí být příliš velký, stačí cca 1–3 GB (pokud nemáme samostatné oddíly /opt, /usr apod., dáme samozřejmě více). Je dobré, aby byl žurnálový, tedy ext3.
Oddíl /boot
Tento oddíl (obsahuje obrazy jader, mapy systému, počáteční RAMdisky apod.) vytvoříme v každém případě. Vhodná velikost je cca 100 MB, použijeme systém ext2 (žurnálování není třeba) a můžeme případně i pak zakázat zápis (nastavením v /etc/fstab).
Dříve bylo nutné (kvůli omezením starších BIOSu), aby se startovací oddíl (typicky /boot) nacházel v oblasti do 1024. stopy na disku. Již delší dobu si ale všechny běžně používané zavaděče (LILO, ELILO, GRUB a další) poradí s oddílem umístěným kdekoli na disku.
Oddíl /home
Oddíl s uživatelskými daty, velmi důležitý. Zvolíme souborový systém ext3. Velikost se bude odvíjet od dostupného místa a od způsobu využití počítače. Na běžném desktopu bude obvykle nejvhodnější odečíst od velikosti disku nějakých 10–30 GB a celý zbytek použít na tento oddíl.
Oddíl /opt
Sem se instalují programy určené pro větší počet různých distribucí – například JDK a různé programy napsané v Javě (včetně vývojových prostředí NetBeans a Eclipse). Místo přidělíme podle očekávané potřeby, obvykle stačí 1–3 GB. Lze se obejít bez žurnálování, postačí tedy systém ext2.
Oddíl /tmp
Tady se vytvářejí dočasné soubory a z toho vyplývá i přístup z hlediska dělení. Velikost 1 GB by měla být zcela dostatečná (pokud se tam nebudou ukládat obrovské soubory, jako např. celé obrazy DVD, pak zvolte větší). Souborový systém zvolíme ext2 (bez žurnálování) a pro zvýšení výkonu zakážeme záznam času přístupu (volba noatime v /etc/fstab).
Oddíl /usr
Zde se nacházejí nainstalované programy, knihovny a související data. Tento oddíl je vždy dobré vytvořit. Bude mít velikost podle předpokládaného objemu instalovaných programů, obvykle 5–15 GB. Žurnálování není potřeba, použijeme tedy ext2. Pokud se instaluje nebo aktualizuje méně často, lze též případně zakázat zápis do oddílu (s tím, že před instalací/aktualizací se musí opět povolit).
Oddíl /var
Do této oblasti se ukládají různá data celosystémového charakteru – protokoly (logy), poštovní zprávy, databáze, soubory tiskových úloh, soubory zámků, stažené balíčky programů atd. Vhodná velikost hodně závisí na způsobu použití počítače. Bude se pohybovat někde v rozmezí 1–10 GB. Použijeme systém ext3 (konzistenci systému je záhodno chránit).
Oddíl pro odkládání dat virtuální paměti (swap) je samozřejmostí, doporučuje se velikost odpovídající přibližně dvojnásobku fyzické paměti, ale není to dogma – pro menší paměť je lépe mít relativně více, u velkých pamětí (nad 1 GB) často není swap potřeba vůbec.
Lze vytvořit též další oddíly, pokud je to účelné. Například lze vytvořit oddíl pro /var/log a připojit ho v synchronním režimu, pokud je potřeba, aby byly všechny logové zprávy ihned uloženy na disk. Poštovní server zase může mít samostatný oddíl třeba na /var/spool/mail.
Co ještě zlepšit
Máme-li více disků, hodí se zapřemýšlet, jak oblasti rozložit. Jde o to, aby bylo možné do jisté míry paralelizovat přístup na tyto disky a zvýšit tak výkon. Optimální rozložení se liší podle využití počítače, přesto existuje pár pravidel, která se vyplatí dodržovat.
Zaprvé vždy seskupujeme na jeden fyzický disk silně využívané oddíly s málo využívanými (např. /usr a /opt). Dále je vhodné dávat využívanější oddíly na začátek disku (čtení/zápis jsou rychlejší než na konci) a pohromadě, tedy aby mezi nimi nebyl málo využívaný oddíl (kvůli omezení dlouhých přesunů hlav disku).
Často můžeme oddíly sdružit a použít volbu bind programu mount. Nejtypičtější příklad je asi sloučení /opt a /usr. V /usr můžeme vytvořit podstrom (například /usr/local/opt) a připojit ho jako /opt. To se hodí hlavně tehdy, bude-li podstrom zpočátku zcela nebo skoro prázdný a není předem jasné, kolik dat se tam postupem času objeví.
Kromě popisované práce s oddíly na fyzických discích lze použít i jiný přístup – tzv. Logical Volume Manager (LVM). LVM představuje logickou vrstvu na disky, která umožňuje prakticky zapomenout na omezení daná fyzickými disky. Oddíly lze zvětšovat přidáváním fyzických disků, podobně lze disky i odebírat (se zmenšením oddílů). LVM se hodí tam, kde lze očekávat velké změny prostorových nároků v čase a kde je potřeba mít možnost na takové změny rychle reagovat (bez většího narušení provozu).
Čím dělit
Nejjednodušším postupem je využít nástroj, který máme k dispozici při instalaci. Na prázdném disku si můžeme vytvořit oddíly podle potřeby a hned nastavit, kam se budou připojovat. Má to ale jednu nevýhodu – většinou nebudou možnosti programu (např. Disk Druid) příliš rozsáhlé a ne všechno půjde přizpůsobit podle potřeby (například sled oblastí na disku).
Máme-li možnost pracovat s diskem na plnohodnotném systému (třeba i z nějaké live distribuce), je to vždycky mnohem lepší, můžeme vybírat z více dostupných programů. Podívejme se na tři z nich: GParted, QtParted a fdisk.
GParted (Gnome Partition Editor)
Grafický program pro správu diskových oddílů, určený především pro prostředí GNOME. Práce s ním je velice intuitivní, využívají se kontextové nabídky, přetahování kurzorem myši, vše je dobře barevně odlišeno atd. – nejde zkrátka o nic složitého. Kromě dělení disku umožňuje oddíly posouvat, měnit jejich velikost, formátovat je na určitý souborový systém apod. Každý provedený krok lze vrátit zpět (operace se reálně provádějí později hromadně).
GParted je v současnosti zřejmě nejlepším programem tohoto druhu pro Linux. Existuje i v podobě speciálního bootovatelného CD (linuxová mikrodistribuce), právě pro snadné dělení bez potřeby instalovaného systému. Bohužel neumí nastavovat přípojné body (kam do stromu ten který oddíl připojit) a též mu zatím chybí nápověda.
QtParted
Opět grafický program, tentokrát však postavený na knihovně Qt, vhodný tedy především pro uživatele prostředí KDE. Je neméně dobře ovladatelný jako GParted, též škála funkcí je prakticky stejná (není divu, oba využívají stejnou knihovnu – libparted).
QtParted lze doporučit tomu, kdo zavrhuje programy využívající grafický toolkit GTK+. Jinak totiž není důvod, proč ho upřednostňovat. Možnost práce s přípojnými body mu chybí, stejně tak nápověda. Navíc je projekt delší dobu bez viditelné aktivity, je otázka, zda se někdy dočkáme další verze.
fdisk
Přátelé příkazové řádky mohou zvolit „klasiku“, tedy program fdisk (případně některý jiný konzolový „dělič“, např. sfdisk, cfdisk nebo GNU Parted). fdisk umí pouze vytvářet a rušit oddíly, tedy nikoli měnit jejich velikost nebo je přesouvat. Je to však program, který je k dispozici prakticky všude, kde je Linux. Ovládání je relativně jednoduché, ale nepříliš komfortní (na obrázku cfdisk).
fdisk neumí oddíly naformátovat. K tomu musíme využít programy mkfs a mkswap, případně další. Většinou je není třeba nijak parametrizovat, stačí je prostě spustit na danou oblast. Posledním krokem je samozřejmě vytvoření přípojných bodů v souboru /etc/fstab.
Rychle k cíli
Vzhledem k řečenému je nejefektivnějším postupem buď použít přímo program obsažený v instalátoru distribuce (pokud to jde), nebo ještě před instalací spustit GParted (třeba z live CD), v něm si rozdělit disk přesně podle potřeby a pak při instalaci pouze volit přípojná místa.
A to nejdůležitější nakonec. Před jakýmikoli operacemi s rozdělením disku se vřele doporučuje kompletně zálohovat veškerá data, která na disku jsou. I když dělicí programy fungují spolehlivě, může dojít třeba k výpadku proudu a data mohou být rychle ztracena.