Če preideš na paket z več prostora (glej: Kako povečam vire svojega paketa VPS?), se velikost navideznega diska poveča, df -h pa še vedno kaže staro velikost. Razlog je, da se particija na disku in datotečni sistem na njej ne povečata sama: razširiti ju je treba enkrat, ročno. Postopek je mogoče izvesti med delovanjem strežnika, brez ponovnega zagona.
Preden začneš
- Naredi posnetek ali varnostno kopijo. Sprememba particijske tabele redko povzroči težave, vendar lahko napačno vtipkano ime naprave pomeni izgubo podatkov.
- Ukaze zaganjaj kot uporabnik root ali s
sudo.
1. Preveri velikost diska in particij
lsblk -f
df -hT /
Disk KVM VPS je običajno /dev/vda ali /dev/sda. Tipičen izpis:
NAME FSTYPE SIZE MOUNTPOINT
vda 80G
├─vda1 xfs 1G /boot
└─vda2 LVM2_member 39G
├─almalinux-root xfs 35G /
└─almalinux-swap swap 4G [SWAP]
Tu je disk (vda) že 80 GB, particija (vda2) pa šele 39 GB. Zapiši si:
- ime diska (
vda) in številko particije za povečanje (2), - ali je na particiji neposredno datotečni sistem ali LVM (
LVM2_member), - vrsto datotečnega sistema (
xfsaliext4).
Če tudi velikost diska (vrstica vda) kaže staro vrednost, sistem spremembe še ni zaznal. Takrat znova zaženi strežnik in nato nadaljuj.
Na strežnikih, nameščenih iz cloud image, lahko cloud-init ob zagonu sam razširi korensko particijo in datotečni sistem. V preizkusu sta računalnik z Ubuntu 24.04 in računalnik z Debianom 12 ob prvem zagonu po povečanju diska na 12 GB že pokazala celotno velikost (df -h /), brez ročnega koraka. Po ponovnem zagonu zato najprej poglej izpis df -h; če že kaže novo velikost, ti ni treba storiti ničesar.
2. Povečaj particijo
Ukaz growpart particijo razširi do konca diska. Namestitev:
# AlmaLinux, Rocky Linux
sudo dnf install cloud-utils-growpart
# Ubuntu, Debian
sudo apt install cloud-guest-utils
Nato navedi disk in številko particije (ločeno s presledkom, ne v obliki vda2):
sudo growpart /dev/vda 2
Pri uspešnem povečanju je izpis CHANGED: partition=2 start=… old: size=… new: size=….
growpart lahko poveča le zadnjo particijo diska. Če za particijo, ki jo želiš povečati, sledi še ena (na primer swap), postopka ni mogoče preprosto izvesti; takrat prosi za pomoč našo podporo.
3/a. Povečanje datotečnega sistema brez LVM
Če je na particiji neposredno datotečni sistem, glede na vrsto datotečnega sistema:
# XFS (privzeto v AlmaLinux, Rocky Linux): navesti je treba priklopno točko
sudo xfs_growfs /
# ext4 (privzeto v Ubuntu, Debian): navesti je treba napravo
sudo resize2fs /dev/vda2
xfs_growfs po uspešnem zagonu izpiše tudi povečanje, na primer: data blocks changed from 523776 to 786171.
3/b. Povečanje datotečnega sistema pri LVM
Pri LVM je treba za particijo povečati še fizični nosilec (PV), nato pa logični nosilec (LV). O delovanju LVM preberi v članku Kaj je LVM?.
sudo pvresize /dev/vda2
sudo lvs
Iz izpisa lvs je razvidno ime skupine nosilcev (VG) in logičnega nosilca (LV), v zgornjem primeru almalinux in root. Nato:
sudo lvextend -r -l +100%FREE /dev/almalinux/root
Stikalo -r skupaj z logičnim nosilcem poveča tudi datotečni sistem na njem, ne glede na vrsto, zato ločen xfs_growfs ali resize2fs ni potreben. V preizkusu (z nosilcem LVM na particiji) je bil po growpart, pvresize in lvextend -r izpis Extended file system xfs on data/adat. in Logical volume data/adat successfully resized., datotečni sistem pa se je povečal s 4 na 6 GB.
4. Preverjanje
df -h /
Če izpis že kaže novo velikost, je povečanje končano.
Pogoste napake
NOCHANGE: partition 2 is size ... it cannot be grown: particija že sega do konca diska ali sistem večjega diska še ne vidi. Preveri izpislsblk, po potrebi znova zaženi strežnik. V preizkusu je to izpisal tudi drugi zagongrowpart, torej ponovni zagon ukaza ne povzroči škode.xfs_growfs: /dev/vda2 is not a mounted XFS filesystem: XFS je mogoče povečati le v priklopljenem stanju. V preizkusu (AlmaLinux 9 in 10) jexfs_growfspri priklopljenem datotečnem sistemu sprejel tudi ime naprave (/dev/vdc1), ta napaka se je pojavila po odklopu. Navedba točke priklopa (xfs_growfs /) deluje vedno.resize2fs: Bad magic number in super-block while trying to open /dev/…: datotečni sistem ni ext4, temveč XFS (ali pa je na particiji LVM). Vrsto znova preveri v izpisulsblk -f.- Datotečnega sistema XFS ni mogoče zmanjšati, le povečati. Pred prehodom na manjši paket prosi za pomoč našo podporo.
