LVM, czyli Local Volume Manager jest mechanizmem do zarządzania przestrzenią dyskową. Teoretycznie możemy na działającym systemie zmniejszać wielkości partycji w sposób szybki i w miarę bezpieczny.
Wielokrotnie zdarzyło mi się postawić serwer i źle rozplanować podział partycji. Zdarza się nawet najlepszym, więc mój pech i złe zaplanowanie nie jest niczym dziwnym. Co w takim razie zrobić?
Zmiana rozmiaru partycji jest bardzo prosta, jednak czasami trzeba zmienić wielkość partycji root
. Nie zalecam wykonywać tej operacji na działającym systemie.
LVM – wstęp
LVM najlepiej wykonać OFFLINE jeśli próbujemy robić go na partycjach zawierających systemowe narzędzia lub na partycji aktualnie wykorzystywanej. Po wyłączeniu serwera i uruchomieniu go za pomocą jakiegoś LiveCD możemy bezpiecznie zacząć zmianę rozmiaru naszej systemowej partycji.
Na początek sprawdźmy dostępność LVM na livecd:
vgdisplay
Jeśli mamy, to musimy ją pierw aktywować za pomocą komendy:
vgchange -a y
Po aktywowaniu możemy przejść do kolejnych zabaw 🙂
Powiększenie przestrzeni
lvextend -L +5G /dev/centos/root
Powiększanie jest bardzo prostą operacją. Jeśli posiadamy już wolne miejsce na dysku, wystarczy powiększyć je o konkretną ilość potrzebnego miejsca. -L
oznacza rozmiar, zaś +5G
powiększa o 5Gb. Bez podania +
zmienimy jej rozmiar do 5G (jeśli np.: posiada 4G lub 6G).
Następnie trzeba powiększyć partycję:
resize2fs /dev/centos/root
Zmieni wielkość filesystemu do odpowiedniego rozmiaru przydzielonego w LVM.
Na koniec można jeszcze sprawdzić filesystem, dla na wszelki wypadek:
e2fsck -fy /dev/centos/root
Pomniejszenie
Ta operacja jest niebezpieczna – przy błędzie można stracić dane. Postępuj z nią ostrożnie, by nie uciąć zbyt dużej ilości miejsca.
Na początek dostosujmy partycję do ilości wykorzystanych danych. Np.: jeśli partycja posiada 100G (a zmniejszamy ją do 80G), a pliki zajmują 60G, to zmniejszmy ją do np.: 62G, by zostawić sobie margines.
e2fsck -fy /dev/centos/home # Sprawdzamy filesystem resize2fs /dev/centos/home 62G # Zmniejszamy filesystem do 62G
Czas na redukcję wolumenu:
lvreduce -L 80G /dev/centos/home # Zmniejszamy do rozmiaru 80G lvreduce -L -20G /dev/centos/home # Zmniejszamy o 20G
Na koniec wypełnijmy filesystem do dostępnego miejsca:
resize2fs /dev/centos/home
Więcej przydatnych informacji znajdziecie np.: na wiki projektu ArchLinux
Inne wpisy znajdziesz tutaj.