Rozšíření disku u VPS nebo dedikovaného serveru s OS Linux

Poslední aktualizace 1. 9. 2021


Dříve, než začnete s rozšiřováním disku, zkontrolujte, zda máte 4 primární oddíly.

Zjistíte to pomocí příkazu fdisk –l. Zadáním tohoto příkazu se vám zobrazí počet primárních oddílů, které máte k dispozici. Máte-li k dispozici volné oddíly, pak využijte kapitolu Volné oddíly k dispozici. Pokud jsou všechny oddíly již zaplněny, postupujte podle kapitoly Obsazené primární oddíly.

Poznámka: Nakonec nezapomeňte rozšířit oddílové skupiny – tento krok je potřeba udělat v obou případech (při postupu s volnými nebo zaplněnými oddíly).

Volné oddíly k dispozici

Po zadání příkazu fdisk –l vypadá výsledek například takto:

fdisk –l
Disk /dev/sda: 187.9 GB, 187904819200 bytes
255 heads, 63 sectors/track, 22844 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device     Boot    Start     End      Blocks   Id  System
/dev/sda1    *        1       25       200781   83  Linux
/dev/sda2            26     2636    20972857+   8e  Linux LVM

Znamená to, že na disku jsou k dispozici ještě další 2 primární oddíly, a tak ho můžete bez problému rozšířit.

Pokud jste k serveru ještě nepřidali disk s větším prostorem nebo nezvýšili maximální hodnotu na virtuálním disku a potřebujete tak učinit za běhu, je nutné reskenovat isci zařízení.

Reskenování isci

Nejprve si všechna zařízení vypište pomocí příkazu:

ls /sys/class/scsi_device/

Výstupem bude například:

ls /sys/class/scsi_device/
0:0:0:0  0:0:1:0  1:0:0:0

Následně proveďte rescan jednotlivých sběrnic, a to jednotlivě pro každé ze tří zařízení zvlášť, příkazy:

„echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan“
„echo 1 > /sys/class/scsi_device/0\:0\:1\:0/device/rescan“
„echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan“
Upozornění: Označení isci zařízení může být server od serveru jiné, proto je potřeba vkládat správná označení, která byla vypsána po zadání příkazu ls /sys/class/scsi_device/.

Rozšíření disku

Po zadání příkazu fdisk –l v prvním kroku se zobrazilo i označení zařízení „sda“. Pomocí nástroje fdisk nyní rozšiřte oddíl.

  1. Použijte příkaz fdisk /dev/sda
  2. Zvolte n pro nový oddíl.
  3. Zvolte p pro primární oddíl.
  4. Nyní máte obsazeny 2 oddíly, proto zvolte 3.
  5. First sector zvolte defaultní (první z rozsahu).
  6. Last sector vyberte podle toho, kolik místa chcete přiřadit. V případě, že všechno, zvolte plný rozsah a potvrďte.
  7. Nyní zvolte t a vyberte číslo oddílu, který jste vytvořili. V tomto případě je to číslo 3.
  8. Zvolte kód 8e, čímž změníte typ oddílu na LINUX LVM.
  9. V dalším kroku pomocí w zapište změny.

Nakonec informujte operační systém, že změnila tabulka oddílů: partprobe /dev/sda.

Vytvoření nového fyzického oddílu

Vytvořte další fyzický oddíl. Na začátku postupu jste měli vytvořeny dva fyzické oddíly sda1 a sda2. Nyní tedy vytvořte sda3 příkazem: pcvreate /dev/sda3

Zjistěte jméno oddílové skupiny, do které fyzický oddíl přiřadíte. Oddílové skupiny na serveru si zobrazíte příkazem: vgdisplay


Na obrázku můžete vidět VG NAME „centos“.

Rozšiřte oddílovou skupinu o fyzický oddíl /dev/sda3 příkazem: vgextend centos /dev/sda3

Obsazené primární oddíly

Po zadání příkazu fdisk –l vypadá výsledek například takto:

fdisk –l
Disk /dev/sda: 187.9 GB, 187904819200 bytes
255 heads, 63 sectors/track, 22844 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes 
Device     Boot      Start     End      Blocks     Id  System
/dev/sda1   *            1         25      200781   83  Linux
/dev/sda2               26       2636   20972857+   8e  Linux LVM
/dev/sda3             2637      19581  136110712+   8e  Linux LVM
/dev/sda4            19582      22844   26210047+   8e  Linux LVM

Takový výsledek znamená, že všechny čtyři primární oddíly jsou již obsazené. Bude tedy potřeba editovat poslední oddíly.

  1. V první řadě zkontrolujte, zda oddíl není označen jako boot *. Pokud u /dev/sda4 nevidíte bootable příznak, můžete pokračovat v editaci.
  2. Zadejte příkaz, kterým zobrazíte jednotlivé cylindry.
    fdsk -uC /dev/sda
  3. Pomocí p vytiskněte začátky a konce bloků a typ zařízení.
  4. Nyní smažte poslední oddíl pomocí d, následně vyberte 4.
  5. Vytvořte nový oddíl pomocí n
  6. Vyberte primární oddíl p a potvrďte maximální velikost. Dbejte na to, aby se začátek nového oddílu shodoval s tím předchozím, který jste smazali.
  7. Dále změňte typ oddílu pomocí t a vyberte 4. oddíl.
  8. Zapište označení typu systému – v našem případě se jedná o typ systému Linux LVM, který je označený jako 8e. Zapíšeme tedy 8e.
  9. Změny zapište a potvrďte pomocí w.

Informujte operační systém o tom, že se změnila tabulka oddílů: partprobe /dev/sda

Rozšíření fyzického oddílu

Pomocí příkazu pvscan vypište všechny fyzické oddíly. Výstup může vypadat například takto:


U /dev/sda4 byste měli vidět volné nepřiřazené místo.

Nyní proveďte rozšíření fyzického oddílu, který jsme upravovali v předchozím kroku: pvresize /dev/sda4

Rozšíření oddílové skupiny

Vypište všechny logické oddíly na serveru příkazem:

lvdisplay 
--- Logical volume ---
LV Path                /dev/vg1/swap
LV Name                swap
LV Status              available
# open                 2
LV Size                2.00 GiB
Current LE             512
Segments               1 
--- Logical volume ---
LV Path                /dev/vg1/root
LV Name                root
VG Name                vg1
LV Status              available
# open                 1
LV Size                <88.00 GiB
Current LE             22527
Segments               1

Nyní proveďte rozšíření oddílové skupiny.

  1. Zadejte příkaz: lvextend -l +100%FREE /dev/vg1/root. Odkazuje se na LV Path předchozího příkazu. Rozšířit je potřeba root oddílu, nikoliv swap.
  2. Aktualizujte velikost /dev/vg1/root příkazem: mount.
  3. Nakonec proveďte samotné rozšíření.
    1. Pokud využíváte ext4 file systém, proveďte pomocí: resize2fs /dev/vg1/root
    2. Pokud využíváte XFS file systém rozšiřte pomocí: xfs_growfs /
  4. Následně proveďte remount: mount -o,remount /.

Nakonec si ověřte, že rozšíření proběhlo úspěšně a nový prostor byl přiřazen: df -Th.

Filesystem           Type      Size  Used Avail Use% Mounted on
devtmpfs             devtmpfs  2.9G     0  2.9G   0% /dev
tmpfs                tmpfs     2.9G     0  2.9G   0% /dev/shm
tmpfs                tmpfs     2.9G  282M  2.6G  10% /run
tmpfs                tmpfs     2.9G     0  2.9G   0% /sys/fs/cgroup
/dev/mapper/vg1-root xfs        88G   56G   33G  63% /
/dev/sdb1            xfs       196M  184M   13M  94% /boot
tmpfs                tmpfs     581M     0  581M   0% /run/user/0
tmpfs                tmpfs     581M     0  581M   0% /run/user/100018

Máte nejasnosti nebo nápad na zlepšení článku?

Napište nám