Czasami zdarza się, że przydzielona wcześniej przestrzeń dyskowa na nasze strony internetowe na naszym serwerze okazuje się w końcu zbyt mała. Jeśli nasz system operacyjny zainstalowany jest na LVM (Logical Volume Manager), to stosunkowo łatwo możemy rozszerzyć rozmiar dysku do potrzebnych nam rozmiarów. W niniejszym artykule pokażę jak to zrobić.
Spis treści
ToggleNasze środowisko robocze:
- Maszyna wirtualna pracująca na XCP-ng
- System operacyjny Ubuntu 20.04 Server Edition
- Serwer www OpenLiteSpeed
- Panel do zarządzania CyberPanel
- Przestrzeń dyskowa oparta na LVM (Logical Volume Manager)
Przydzielone jakiś czas temu 64GB na strony internetowe na naszym serwerze po pewnym czasie okazało się zbyt mało. Po przekroczeniu 80% zajętości dysku serwer zwolnił i otwieranie stron przestało być komfortowe.
Co to jest LVM (Logical Volume Manager)
LVM to niezwykle elastyczne narzędzie pozwalające wygodnie zarządzać przestrzenią dyskową na naszych serwerach. LVM może znajdować na różnych dyskach twardych i różnych partycjach o różnej pojemności, a wielkość powierzchni dyskowej możemy zmieniać w locie nawet bez konieczności restartowania komputera lub maszyny wirtualnej.
Sprawdzenie zajętości dysku twardego
By sprawdzić zajętość naszego dysku twardego, skorzystaj z komendy df z parametrem -h, który pokazuje rozmiar dysków w formie przyjaznej człowiekowi.
root@solutionsinc:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.6G 0 7.6G 0% /dev
tmpfs 1.6G 18M 1.6G 2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 62G 56G 3.1G 95% /
tmpfs 7.7G 105M 7.6G 2% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/loop1 64M 64M 0 100% /snap/core20/1822
/dev/loop3 92M 92M 0 100% /snap/lxd/24061
/dev/loop5 50M 50M 0 100% /snap/snapd/18357
/dev/loop2 92M 92M 0 100% /snap/lxd/23991
/dev/loop4 50M 50M 0 100% /snap/snapd/17950
/dev/loop0 64M 64M 0 100% /snap/core20/1828
/dev/loop6 1.5G 2.6M 1.4G 1% /tmp
/dev/xvda2 1.5G 209M 1.2G 16% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/1000
W przypadku naszego systemu rozmiar dysku LVM (/dev/mapper/ubuntu–vg-ubuntu–lv) to 62GB, a zajęte jest 56GB, co daje 95% zajętości powierzchni dysku. To zdecydowanie zbyt mało wolnego miejsca by serwer działał wydajnie. Czas by przydzielić serwerowi więcej miejsca.
Zwiększamy rozmiar dysku w XCP-ng
Dla naszej maszyny wirtualnej na której jest zainstalowany system Ubuntu z serwerem www przydzieliliśmy jedynie 64GB, więc pierwszym krokiem będzie zwiększenie wirtualnego dysku twardego dla naszej maszyny wirtualnej. Aby wykonać tę operację będziemy musieli wyłączyć na chwilę naszą maszynę wirtualną. W tym celu uruchamiamy aplikację XCP-ng center. Następnie wybieramy interesująca nas maszynę wirtualną, i wyłączamy ją. Przechodzimy do zakładki Storage, klikamy w nasz Storage który chcemy powiększyć i klikamy Properties. Wybieramy Size and Location i zwiększamy rozmiar wirtualnego dysku twardego. Następnie możemy ponownie uruchomić naszą maszynę wirtualną.
Sprawdzenie wolnego miejsca w Grupie Woluminów
Aby wyświetlić informacje o posiadanych przez nas grupach woluminów, wpisz vgs.
root@solutionsinc:~# vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu-vg 1 1 0 wz--n- <126.50g 63.25g
Nasza grupa woluminów to ubuntu-vg o nowym rozmiarze 126.50GB i posiada ona 63.25GB wolnego miejsca. Aby wyświetlić więcej informacji o grupie woluminów, skorzystaj z polecenia vgdisplay.
root@solutionsinc:~# vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <126.50 GiB
PE Size 4.00 MiB
Total PE 32383
Alloc PE / Size 16191 / <63.25 GiB
Free PE / Size 16192 / 63.25 GiB
VG UUID I0qN7n-ZL46-6uwK
Widzimy tutaj, że przydzielone miejsce do naszej grupy woluminów to 63.25GB i mamy do dyspozycji jeszcze kolejne 63.25GB, które możemy dołączyć do naszej grupy woluminów.
Wyświetlanie listy woluminów logicznych
Aby wyświetlić nasze woluminy logiczne wpisz lvs.
root@solutionsinc:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ubuntu-lv ubuntu-vg -wi-ao---- <126.50g
W naszym przypadku wolumin logiczny ubuntu -lv należy do grupy woluminów ubuntu-vg.
UWAGA: Pamiętaj, żeby wpisując komendy zamieniać nasze nazwy woluminów, na swoje własne.
Zwiększamy rozmiar naszego woluminu logicznego
Aby przypisać więcej przestrzeni dyskowej naszej grupie woluminów skorzystamy z polecenia lvextend. Pamiętaj, aby zamienić ubuntu-vg, oraz ubuntu-lv na woluminy wykorzystywane w Twoim systemie.
root@solutionsinc:~# lvextend -L +63.25G /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from <63.25 GiB (16191 extents) to <126.50 GiB (32383 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
Parametr -L pozwala nam podać rozmiar o jaki chcemy zwiększyć nasz wolumen logiczny – w naszym przypadku zwiększamy o 63.25GB.
Uwaga: Należy pamiętać, że nie podajemy jednostek TB, GB, MB itd, ale P dla Petabajtów, T dla Terabajtów, G dla Gigabajtów, M dla Megabajtów itd.
Po ponownym wpisaniu komendy vgdisplay, widzimy w polu Alloc PE / Size, że zostało poprawnie przydzielone dodatkowe miejsce na dysku.
root@solutionsinc:~# vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <126.50 GiB
PE Size 4.00 MiB
Total PE 32383
Alloc PE / Size 32383 / <126.50 GiB
Free PE / Size 0 / 0
VG UUID I0qN7n-ZL46-6uwK
Powiększenie systemu plików
Nasze nowe miejsce na dysku nie jest jeszcze widoczne dla systemu. Musimy najpierw powiększyć system plików komendą resize2fs
root@solutionsinc:~# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 16
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 33160192 (4k) blocks long.
Podając komendę resize2fs musimy wskazać gdzie jest zamontowany nasz wolumin logiczny – w naszym przypadku jest to /dev/mapper/ubuntu–vg-ubuntu–lv
Po tej operacji nasza nowa przestrzeń dyskowa jest już widoczna dla systemu operacyjnego i CyberPanel. 47% zajętości dysku to całkiem przyzwoity rezultat i powinno to wystarczyć na jakiś czas.
Podsumowanie
Jak widzicie, LVM ma wiele zalet. Gdybyście mieli zainstalowany system operacyjny na normalnych dyskach i partycjach, pewnie nie obyło by się bez formatowania dysków i instalacji systemu od nowa. Podczas gdy LVM pozwala Wam na dołożenie nowego dysku do komputera, utworzenie na nim partycji i dodanie ich do już istniejącej grupy woluminów i woluminów logicznych. Łatwo, szybko i przyjemnie.
Gdybyście mieli jakieś pytania odnośnie zwiększania pojemności woluminów LVM, to nie wahajcie się zadawać ich w komentarzach.