Parted je řádková utilitka o velikosti asi 80 kB, která byla navržena pro manipulování s diskovými oddíly na linuxových operačních systémech. Jak jste si mohli všimnout v titulku tohoto článku, parted patří do rodiny GNU. Snaží se k moderním diskům přistupovat moderně ve smyslu takzvaného zarovnávání velikosti oddílů. Na rozdíl třeba od známé utilitky fdisk už nepracuje s cylindry, takže vám nebude hlásit varování, pokud se netrefíte na dnes už nepoužívané rozměry podle cylindrů. Zato si dává pozor, abyste náhodou nenarušili velikost sektoru.
Dnešní disky mají sektory o velikosti 512 B a občas se najde i takový, který má sektor 4096 B (4 KiB). Hlavně u 4 KiB se občas programy pro rozdělení disku (například při instalaci systému) netrefily přesně na hranici 4 KiB, což způsobovalo výrazné zpomalení veškerých operací na disku. Ve skutečnosti ale nevíme, co přesně se v pevném disku děje, takže můžeme nastavení optimálních hodnot nechat na disku samotném, resp. na programu parted, který „správné“ hodnoty spočítá z informací, které mu disk sdělí. To provedeme tímto způsobem:
# parted -a optimal /dev/sda
Parametr -a určitě typ zarovnání a může použít hodnoty:
- none – použití co nejmenšího zarovnání, které disk umožňuje
- cylinder – zarovnání na cylindry
- minimal – zarovnání tak, aby nedošlo k degradaci výkonu (výchozí)
- optimal – zarovná nové oddíly tak, aby byl maximální výkon zajištěn
Pokud už oddíly vytvořené máte a chcete zjistit, zda jsou dobře zarovnané, parted dokáže být užitečný. Nejprve si ho spusťte v interaktivním módu nad nějakým vaším diskem.
# parted /dev/sda
A vypište si seznam oddílů.
(parted) print
Model: ATA ADATA SSD S510 6 (scsi)
Disk /dev/sda: 60,0GB
Sector size (logical/physical): 512B/512B
Tabulka oddílů: gpt
Číslo Začátek Konec Velikost Systém souborů Název Přepínače
1 17,4kB 512MB 512MB ext4
2 512MB 10,5GB 10,0GB ext4
3 10,5GB 14,6GB 4096MB linux-swap(v1)
4 14,6GB 60,0GB 45,4GB ext4
Všimněte si vypsané velikosti sektoru, které se snažte držet při počítání velikostí jednotlivých oddílů. Pokud si chcete ověřit, jak na tom jsou vaše oddíly, použijte funkce align-check.
(parted) align-check minimal 1
1 aligned
V případě použití optimal zarovnání to ale u mého disku už tak dobré není.
(parted) align-check optimal 1
1 not aligned
Pokud jste na tom stejně nebo hůře, nezbývá než se pustit do vytvoření tabulky nové.
Na oddíly od píky
V dnešní době už není potřeba používat zastaralé MBR a vcelku s klidnou rukou můžete nasadit GPT. GRUB2 i linuxové jádro s tím nebudou mít problém. Pokud o GPT ještě nic nevíte, přečtěte si náš článek Na disky větší než 2 TB s GPT. S GPT si budete moct vytvořit hromadu oddílů bez zbytečných obezliček a průprava se vám bude hodit, až si pořídíte disk větší než 2 TB, resp. 4 TB, kde hranice MBR končí. V případě, že se rozhodnete pro GPT, stačí do parted zadat následující:
(parted) mktable gpt
V případě, že GPT nedůvěřujete a postačí vám MBR, použijte toto:
(parted) mktable msdos
A teď už můžete vytvářet nové oddíly. Zkusíme vytvořit boot, root, swap a home. Na testování tu mám jen 2 GB USB flash paměť, takže velikosti berte prosím s rezervou a na svém disku si zvolte, kolik potřebujete.
(parted) mkpart
Název oddílu? []? boot
Typ souborového systému? [ext2]? ext4
Začátek? 1
Konec? 100
Parametry lze zadávat buď interaktivně nebo jako parametr pro příkaz mkpart. Není potřeba hledat kódy oddílů jako u fdisku, ale postačí zadat název souborového systému. Parted umí na cílovém oddílu souborový systém také vytvořit, ale tato funkce pravděpodobně zmizí v jednom z dalších vydání. Pokud si nějakým parametrem nejste jisti, můžete si ho nechat našeptat pomocí klávesy TAB.
(parted) mkpart root ext4 100 1000
(parted) mkpart swap linux-swap 1000 1250
(parted) mkpart home ext4 1250 2013
Vytvořené oblasti pak vypadají takto:
Číslo Začátek Konec Velikost Systém souborů Název Přepínače
1 1049kB 99,6MB 98,6MB boot
2 99,6MB 1000MB 901MB root
3 1000MB 1250MB 250MB swap
4 1250MB 2012MB 762MB home
Všechny jsou zarovnané pro maximální výkon a pokud použijete podobný postup, nemělo by se vám stát, že by IO operace na vašem disku byly pomalé. Pokud váháte, kde má začínat první oddíl, mělo by to být někde za 18 kB, protože kousek před touto hodnotou končí GPT tabulka. Řiďte se tím i v případě MBR, které je později možné překonvertovat na GPT bez ztráty dat. Nemusíte se bát, že by vás parted pustilo do nebezpečné oblasti, nedovolí vám přepsat ani tabulku oblastí, ani zavaděč, ani jinou oblast. Výchozí jednotky pro vytváření oblastí jsou MB. Stejně tak je možné použít B, KB (K), GB (G) a podobně. Když si nejste jisti, kolik máte v jaké oblasti disku místa, použijte print free.
Číslo Začátek Konec Velikost Systém souborů Název Přepínače
17,4kB 1049kB 1031kB Volné místo
1 1049kB 99,6MB 98,6MB boot
2 99,6MB 1000MB 901MB root
3 1000MB 1250MB 250MB swap
1250MB 2013MB 763MB Volné místo
Další funkce, které Parted má, jako třeba změna velikosti nebo přesun oddílů, nefungují na všech souborových systémech. Změna polohy nebo velikosti oddílu se tak musí řešit vždy smazáním a znovuvytvořením. Dejte si také pozor na to, že parted se na potvrzení změn neptá a co mu zadáte, to udělá. Občas se vám může stát, že smažete důležitý oddíl, který jste původně smazat nechtěli. Naštěstí tu je příkaz rescue, který vás z problémů dostane, stačí znát přibližnou polohu (± 10 MB) původního oddílu.
(parted) rescue 990MB 1350MB
Informace: Byl nalezen oddíl ext4 primary na 1000MB -> 1250MB. Chcete jej přidat do tabulky oddílů?
Ano/Yes/Ne/No/Zrušit/Cancel? Cancel
Co by se vám mohlo hodit, je změna flagů. Ty se nastavují pomocí toggle:
(parted) toggle
Číslo oddílu? 1
Přepínač, který změnit?
atvrecv bios_grub boot diag hidden hp-service lvm msftres raid skrytý
Přepínač, který změnit? boot
Pokud byste váhali nad použitím nějakého příkazu nebo chcete vědět, co dalšího parted umí, podívejte se do nápovědy, kterou vyvoláte zadáním help, případně do man stránky. Na webu projektu je k dispozici také uživatelská příručka.
Shrnutí
Parted najdete téměř v každé distribuci a používají ho i instalátory některých distribucí. Pokud nemáte k dispozici GParted, měl by to být hned druhý nástroj tohoto typu, na který byste měli sahat. Na rozdíl od GParted, parted dává uživateli větší kontrolu nad tím, co se děje a pomáhá jen tam, kde to je potřeba. Pokud chcete použít GPT, ale parted se vám z nějakého důvodu nelíbí, zkuste třeba gfdisk, který najdete v balíčku gnu-fdisk.