Po zwiększeniu rozmiaru dysku na VPS webh.pl nowa przestrzeń może nie pojawić się automatycznie w systemie plików. Część obrazów ma skonfigurowane automatyczne rozszerzanie i wtedy miejsce dochodzi samo. W pozostałych przypadkach dysk widzi więcej miejsca, ale partycja i system plików nadal mają stary rozmiar - musisz je rozszerzyć ręcznie.
Jakie mamy partycje w systemie?
Najpierw sprawdź df -h / - jeśli rozmiar zgadza się już z nowym dyskiem, nic nie musisz robić. Jeśli nie, wykonaj kroki poniżej.
Uwaga
Operacje na partycjach niosą ryzyko utraty danych. Choć growpart i resize2fs są praktycznie niezawodne, przed rozszerzaniem wykonaj kopię zapasową. W razie problemu przywrócisz stan sprzed zmiany.
Zanim cokolwiek rozszerzysz, sprawdź układ i typ partycji. Użyj cfdisk:
cfdisk
Narzędzie pokaże partycje na dysku. W typowym przypadku partycją do rozszerzenia jest /dev/vda2:
Disk: /dev/vda
Size: 80 GiB, 85899345920 bytes, 167772160 sectors
Label: dos, identifier: 0x1a2b3c4d
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 1050623 1048576 512M 83 Linux
>> /dev/vda2 1050624 41943039 40892416 19G 83 Linux
Free space 41943040 167772159 61G
┌─────────────────────────────────────────────────────────────┐
│ [ Bootable ] [ Delete ] [ Quit ] [ Type ] [ Help ] ... │
└─────────────────────────────────────────────────────────────┘
Oryginalny zrzut ekranu: lista partycji w
cfdiskz zaznaczoną partycją docelową/dev/vda2i widocznym wolnym miejscem (Free space) poniżej niej. Wolne miejsce to nowa przestrzeń dodana do dysku, której partycja jeszcze nie obejmuje.
Partycje typu Extended
Czasem jedna partycja zawiera się w drugiej. Partycja Extended (np. /dev/vda2) jest kontenerem, a wewnątrz niej znajduje się partycja logiczna (np. /dev/vda5) z faktycznym systemem plików:
Device Start End Sectors Size Id Type
/dev/vda1 2048 1050623 1048576 512M 83 Linux
>> /dev/vda2 1050624 41943039 40892416 19G 5 Extended
└ /dev/vda5 1052672 41943039 40890368 19G 83 Linux
Free space 41943040 167772159 61G
Oryginalny zrzut ekranu: układ partycji, w którym
/dev/vda5(logiczna) jest zagnieżdżona wewnątrz/dev/vda2(Extended). Wcięcie / oznaczenie typu Extended odróżnia kontener od partycji logicznej.
Wskazówka
Przy układzie Extended growpart uruchamiasz dwa razy: najpierw na partycji Extended /dev/vda 2, a potem na partycji logicznej /dev/vda 5. Inaczej powiększysz kontener, ale system plików w środku nadal nie urośnie.
Jak rozszerzyć partycję? (growpart)
Narzędzie growpart znajduje się w pakiecie cloud-utils. Na Ubuntu/Debian zainstaluj je:
apt-get update && apt-get install cloud-utils
Następnie rozszerz partycję, podając urządzenie i numer partycji jako dwa osobne argumenty:
growpart /dev/vda 2
Uwaga
Między /dev/vda a 2 jest spacja - to zamierzona składnia, nie literówka. growpart przyjmuje dysk i numer partycji jako dwa osobne argumenty (growpart /dev/vda 2), a nie growpart /dev/vda2.
Dla układu Extended z poprzedniej sekcji wykonaj kolejno:
growpart /dev/vda 2
growpart /dev/vda 5
Po tej operacji partycja obejmuje już nową przestrzeń dysku, ale system plików wciąż ma stary rozmiar - przed Tobą ostatni krok.
Jak rozszerzyć system plików? (resize2fs)
resize2fs dopasowuje rozmiar systemu plików (ext2/ext3/ext4) do dostępnej przestrzeni na powiększonej partycji. Wskaż partycję z systemem plików (nie sam dysk):
resize2fs /dev/vda2
Przy układzie Extended celem jest partycja logiczna:
resize2fs /dev/vda5
Bez argumentu rozmiaru resize2fs rozszerza system plików do maksymalnej dostępnej przestrzeni na partycji. Sprawdź wynik:
df -h /
Kolumna Size powinna pokazać nowy, większy rozmiar.
Wskazówka
resize2fs obsługuje rodzinę ext. Jeśli używasz XFS (np. domyślny system plików na części obrazów), zamiast resize2fs użyj xfs_growfs / - XFS rozszerza się tylko po zamontowaniu.
Pełna procedura w skrócie
| Krok | Komenda | Co robi |
|---|---|---|
| 1. Diagnoza | cfdisk |
Sprawdza układ i typ partycji |
| 2. Instalacja | apt-get install cloud-utils |
Dostarcza growpart |
| 3. Partycja | growpart /dev/vda 2 |
Powiększa partycję o wolne miejsce |
| 3a. Extended | growpart /dev/vda 5 |
Powiększa partycję logiczną w kontenerze |
| 4. System plików | resize2fs /dev/vda2 |
Rozszerza ext do rozmiaru partycji |
| 5. Weryfikacja | df -h / |
Potwierdza nowy rozmiar |
Typowe problemy
growpart: command not found
Pakiet cloud-utils nie jest zainstalowany. Wykonaj apt-get update && apt-get install cloud-utils (Debian/Ubuntu) lub yum install cloud-utils-growpart (CentOS/Rocky/AlmaLinux).
NOCHANGE: partition X is size ... it cannot be grown
Za partycją nie ma wolnego miejsca lub dysk nie został powiększony po stronie webh. Uruchom cfdisk i sprawdź, czy widać Free space za partycją. Jeśli go nie ma, najpierw zwiększ rozmiar dysku VPS w panelu / przez BOK.
Partycja urosła, ale df -h pokazuje stary rozmiar
Powiększyłeś partycję (growpart), ale nie system plików. Wykonaj resize2fs /dev/vda2 (ext) lub xfs_growfs / (XFS).
Rozszerzam Extended, a miejsca nadal brak
Powiększyłeś tylko kontener Extended. Uruchom growpart także na partycji logicznej (/dev/vda 5), a dopiero potem resize2fs /dev/vda5.
Coś poszło nie tak po operacji
Przywróć VPS z kopii sprzed zmiany. Dlatego backup przed rozszerzaniem partycji jest ważny.
Podsumowanie
Rozszerzenie dysku na VPS to dwa etapy: growpart powiększa partycję, a resize2fs (lub xfs_growfs dla XFS) - system plików. Najpierw zdiagnozuj układ przez cfdisk; przy partycjach Extended uruchom growpart zarówno na kontenerze, jak i na partycji logicznej. Pamiętaj o spacji w składni growpart /dev/vda 2 i o kopii zapasowej przed startem.