GNU/Linux >> Znalost Linux >  >> Linux

Parted příkazy pro správu diskových oddílů

Parted je bezplatný nástroj GNU používaný ke správě oddílů pevného disku z příkazového řádku. Může vytvářet, mazat, měnit velikost a tisknout diskové oddíly a další v Linuxu.

Častěji používáme nástroj parted pro rozdělování disku pro běh více OS, alokaci specifického systémového prostoru nebo oddělování cenných souborů nebo rozšiřování svazků.

Tradičně mnoho uživatelů používá k rozdělení na oddíly nástroj fdisk, což je primární důvod pro použití parted, když je velikost disku větší než 2 TB. Zpočátku parted podporoval pouze GPT a od util-linux 2.23 fdisk také začal podporovat GPT.

V tomto tutoriálu ukážu, jak používat příkaz parted pro správu disků v Linux

Nainstalujte Parted na Linux

Parted je standardně nainstalován na většině moderních distribucí Linuxu. Pokud není součástí vaší distribuce, nainstalujte parted ručně.

Instalace parted na distribuce s příchutí Ubuntu a Debian:

$ sudo apt-get install parted

Instalace parted na CentOS a RHEL:

$ sudo yum install parted

Když spustíte příkaz parted bez jakýchkoli voleb, vytiskne se verze balíčku parted, ve výchozím nastavení vyberte první jednotku a počkejte na výzvu na další příkazy. Příkaz Parted musí být spuštěn jako root nebo uživatel s přístupem Sudo.

$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Zadejte quit pro ukončení výzvy k rozdělení.

Důležité: Všechny změny se na disku provedou ihned po zadání příkazu.

Seznam diskových oddílů

Podívejme se, jak vytisknout všechny informace o disku a jeho oddílech. Ve výchozím nastavení vyberte první jednotku. Chcete-li vytisknout všechny diskové oddíly, zadejte print all .

Poznámka:Varování zobrazené ve výstupu je způsobeno tím, že na disku je dosud nepřidělené místo na disku.

ubuntu@linoxide:~$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
                                                                       (parted) print all
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8590MB  8589MB  primary  ext4         boot

Warning: Not all of the space available to /dev/xvdb appears to be
used, you can fix the GPT to use all of the space (an extra 25165824
blocks) or continue with the current setting?
                                                                                                                                              Fix/Ignore? Ignore
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB  ext4         primary
 2      1024MB  2048MB  1023MB  ext4         primary
(parted)

Místo toho můžete také použít jeden příkaz:

$ sudo parted /dev/xvda print all

Pokud máte více disků, můžete si mezi diskem vybrat pomocí příkazu select:

Najděte nepřidělené místo na disku

Chcete-li najít nepřidělené místo, vyberte svůj disk a spusťte print free příkaz.

Později si probereme, jak použít příkaz resizepart k rozšíření oddílu, když máte více nepřiděleného místa na disku.

Vytvořte nový diskový oddíl pomocí parted

Obvykle je operační systém nainstalován na prvním disku /dev/sda . Když přidáte nový disk, OS vybere další číslo jako /dev/sdb . Pro ilustraci používám virtuální disk Xen, který používá konvenci pojmenování jako /dev/xvd .

Přidal jsem nový 20GB disk a vidíte jej jako unrecognised disk label .

Prvním krokem by bylo nastavení požadovaného štítku disku, podporované štítky disku jsou bsd, loop, gpt, mac, msdos, pc98 a sun.

(parted) mklabel msdos

Nyní rozdělím /dev/xvdb na dva primární oddíly, přičemž první oddíl má 10 GB a druhý oddíl má 5 GB.

K vytvoření nového oddílu použijeme mkpart příkaz se začátkem 0 a koncem 10000:

Chcete-li vytvořit druhý oddíl, spusťte znovu příkaz mkpart s uvedením počáteční a koncové velikosti

Poznámka:Pojem 'primární' vychází z MBR, GPT je to jedno, ale přesto musí přidat název.

Můžete také použít mkpart k vytvoření oddílu, který bude pokrývat celý disk, zadáním procenta, které se má použít (zde 0 % až 100 %).

Například:

$ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

Místo použití příkazu print můžete spustit alternativní příkazy, jako je lsblk , fdisk -l to see partitions created.

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   18M  1 loop /snap/amazon-ssm-agent/1566
loop1     7:1    0 93.8M  1 loop /snap/core/8935
loop2     7:2    0 93.9M  1 loop /snap/core/9066
xvda    202:0    0    8G  0 disk
└─xvda1 202:1    0    8G  0 part /
xvdb    202:16   0   20G  0 disk
├─xvdb1 202:17   0  9.3G  0 part
└─xvdb2 202:18   0  4.7G  0 part
$

Nyní můžeme naformátovat oddíl (/dev/xvdb1) se souborovým systémem ex4, použijte mkfs.ext4 následovně:

$ sudo mkfs.ext4 /dev/xvdb1

Změňte velikost diskového oddílu pomocí resizepart

Aby se oddíl zvětšil, musí se nejprve změnit jeho velikost. Jednoduchá změna velikosti znamená přesunutí koncové polohy oddílu.

Zde změním velikost druhého oddílu /dev/xvdb a posunu koncovou pozici na 20000:

(parted) resizepart


Poznámka:growpart je další užitečný nástroj dostupný v Linuxu pro rozšíření oddílu.

Chcete-li změnit velikost každého souborového systému na novou kapacitu, musíte spustit příkaz specifický pro souborový systém. Pro rozšíření souborového systému v Linuxu použijte resize2fs příkaz takto:

$ sudo resize2fs /dev/xvdb2
resize2fs 1.44.1 (24-Mar-2018)
Resizing the filesystem on /dev/xvdb2 to 2441340 (4k) blocks.
The filesystem on /dev/xvdb2 is now 2441340 (4k) blocks long.

Odstranit oddíl z vybraného disku

Chcete-li odstranit oddíl, měli byste znát číslo oddílu na disku. Použijte print příkaz in parted pro zobrazení celého oddílu a jeho odpovídající číslo.

K odstranění můžete použít příkaz rm následovaný číslem oddílu. Zde smažeme 2. oddíl, jak je znázorněno níže:

(parted) rm 2

Nastavte příznaky na oddílech

Parted umožňuje nastavit příznaky na oddílu. Nebuďte překvapeni, že některé příznaky závisí na označení disku. Příznak může být zapnutý nebo vypnutý. Nejběžnější příznaky jsou boot, lab, swap, raid, LVM atd.

Následující příkaz nastavil příznak LVM na oddílu 2:

(rozděleno) nastavit 2 LVM na

Další praktický příklad, kdy potřebujeme nastavit bootovací oddíl:

(parted) set 2 boot on

Záchrana oddílu disku Linux

Záchrana vám pomůže, když omylem smažete oddíl. Ztracený oddíl lze obnovit umístěním mezi začátek a konec.

Smažeme oddíl 1 na /dev/xvdb a pomocí příkazu Rescue jej obnovíme:

(parted) rescue

Nastavit výchozí jednotku

Unit command in parted pomáhá nastavit výchozí jednotku pro zobrazení kapacit a umístění.
podporované jednotky jsou:

KiB- kibibyte 
MiB - mebibyte
GiB - gibibyte
TiB - tebibyte
kB - kilobyte
MB - megabyte
GB - gigabyte
TB - terabyte
% - percentage of the device
cyl - cylinders
chs - cylinders, heads, sectors addressing
compact - Use human-readable representation for output

Následující příkaz nastaví jednotku na kompaktní:

(parted) unit compact
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8590MB  8589MB  primary  ext4         boot
(parted)

Můžete také tisknout v jednotkách následovně:

(parted) unit GB print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8.59GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      0.00GB  8.59GB  8.59GB  primary  ext4         boot

(parted)

Závěr

V době aktualizace tohoto tutoriálu používáme parted verzi 3.1 a je dobré ověřit aktuálně podporované příkazy pomocí -h volba. Parted zapisuje přímo na disk, takže buďte opatrní při spouštění jakýchkoli příkazů.

Při provádění jakýchkoli změn se ujistěte, že jste vybrali správný disk, jinak může dojít ke ztrátě dat.

Máte-li jakékoli dotazy nebo myšlenky, které byste k tomuto tématu mohli sdílet, použijte níže uvedenou sekci komentářů.


Linux
  1. 8 Linuxových „Parted“ příkazů pro vytvoření, změnu velikosti a záchranu diskových oddílů

  2. Jak spravovat swapovací oddíl v Linuxu

  3. Spravujte disky pomocí DiskPart

  1. Rozdělte disk na Linuxu pomocí GNU Parted

  2. Jak rozdělit disk v Linuxu

  3. Jak vytvořit oddíl v Linuxu pro velikost 2 TB pomocí Parted GPT

  1. 5 Linuxových příkazů pro kontrolu volného místa na disku

  2. Příkaz Fdisk v Linuxu (Správa oddílů)

  3. Jak odstranit diskový oddíl pomocí příkazu Parted