Hogyan növelhetem meg a fájlrendszert a VPS lemezének bővítése után?

Ha nagyobb tárhelyű csomagra vált (lásd: Hogyan bővíthetem VPS csomagom erőforrásait?), a virtuális lemez mérete megnő, de a df -h továbbra is a régi méretet mutatja. Ennek oka, hogy a lemezen lévő partíció és a rajta lévő fájlrendszer nem nő meg magától: ezeket egyszer, kézzel kell kiterjeszteni. A művelet a szerver futása közben, újraindítás nélkül elvégezhető.

Mielőtt elkezdi

  • Készítsen pillanatképet vagy mentést. A partíciótábla módosítása ritkán okoz gondot, de egy elgépelt eszköznév adatvesztéssel járhat.
  • A parancsokat root felhasználóként vagy sudo-val futtassa.

1. Nézze meg a lemez és a partíciók méretét

lsblk -f
df -hT /

Egy KVM VPS lemeze jellemzően /dev/vda vagy /dev/sda. Egy tipikus kimenet:

NAME                FSTYPE      SIZE MOUNTPOINT
vda                              80G
├─vda1              xfs           1G /boot
└─vda2              LVM2_member  39G
  ├─almalinux-root  xfs          35G /
  └─almalinux-swap  swap          4G [SWAP]

Itt a lemez (vda) már 80 GB, de a partíció (vda2) még csak 39 GB. Jegyezze fel:

  • a lemez nevét (vda) és a bővítendő partíció számát (2),
  • hogy a partíción közvetlenül fájlrendszer van, vagy LVM (LVM2_member),
  • a fájlrendszer típusát (xfs vagy ext4).

Ha a lemez mérete (vda sora) is a régi értéket mutatja, a rendszer még nem érzékelte a változást. Ilyenkor indítsa újra a szervert, majd folytassa.

2. Növelje meg a partíciót

A growpart parancs a partíciót a lemez végéig kiterjeszti. Telepítése:

# AlmaLinux, Rocky Linux
sudo dnf install cloud-utils-growpart

# Ubuntu, Debian
sudo apt install cloud-guest-utils

Ezután adja meg a lemezt és a partíció számát (szóközzel elválasztva, nem vda2 formában):

sudo growpart /dev/vda 2

A growpart csak a lemez utolsó partícióját tudja megnövelni. Ha a bővítendő partíció után még egy (például swap) partíció következik, a művelet nem végezhető el egyszerűen; ilyenkor kérje ügyfélszolgálatunk segítségét.

3/a. Fájlrendszer növelése LVM nélkül

Ha a partíción közvetlenül a fájlrendszer van, a fájlrendszer típusától függően:

# XFS (AlmaLinux, Rocky Linux alapértelmezése): a csatolási pontot kell megadni
sudo xfs_growfs /

# ext4 (Ubuntu, Debian alapértelmezése): az eszközt kell megadni
sudo resize2fs /dev/vda2

3/b. Fájlrendszer növelése LVM esetén

LVM esetén a partíció után a fizikai kötetet (PV), majd a logikai kötetet (LV) is növelni kell. Az LVM működéséről a Mi az az LVM? cikkben olvashat.

sudo pvresize /dev/vda2
sudo lvs

A lvs kimenetéből derül ki a kötetcsoport (VG) és a logikai kötet (LV) neve, a fenti példában almalinux és root. Ezután:

sudo lvextend -r -l +100%FREE /dev/almalinux/root

A -r kapcsoló a logikai kötettel együtt a rajta lévő fájlrendszert is megnöveli, típustól függetlenül, így külön xfs_growfs vagy resize2fs nem kell.

4. Ellenőrzés

df -h /

Ha a kimenet már az új méretet mutatja, a bővítés kész.

Gyakori hibák

  • NOCHANGE: partition 2 is size ... it cannot be grown: a partíció már a lemez végéig ér, vagy a rendszer még nem látja a nagyobb lemezt. Ellenőrizze az lsblk kimenetét, szükség esetén indítsa újra a szervert.
  • xfs_growfs: /dev/vda2 is not a mounted XFS filesystem: az xfs_growfs a csatolási pontot (pl. /) várja, nem az eszközt.
  • resize2fs: Bad magic number in super-block: a fájlrendszer nem ext4, hanem XFS (vagy LVM van a partíción). Nézze meg újra a típust az lsblk -f kimenetében.
  • XFS fájlrendszert nem lehet csökkenteni, csak növelni. Kisebb csomagra váltás előtt kérje ügyfélszolgálatunk segítségét.