
Zarządzanie LVM w systemie Linux – elastyczne zarządzanie przestrzenią dyskową
W miarę rozwoju infrastruktury IT tradycyjne metody partycjonowania dysków przestają być wystarczające. Administratorzy systemów potrzebują narzędzi, które pozwolą dynamicznie zarządzać przestrzenią dyskową, dodawać nowe wolumeny, rozszerzać istniejące i optymalizować wykorzystanie zasobów bez przerywania pracy systemu.
Jednym z najważniejszych rozwiązań w tym zakresie jest LVM (Logical Volume Manager) — system logicznego zarządzania wolumenami dostępny w większości dystrybucji Linux.
Czym jest LVM?
LVM to warstwa abstrakcji między fizycznymi urządzeniami dyskowymi a systemem plików. Umożliwia tworzenie elastycznych i dynamicznych struktur przechowywania danych, które można modyfikować w trakcie pracy systemu.
Struktura LVM składa się z trzech podstawowych elementów:
-
Physical Volume (PV) – fizyczny wolumen, czyli dysk lub partycja przygotowana do pracy z LVM.
-
Volume Group (VG) – grupa wolumenów, w której łączone są PV w jedną logiczną pulę przestrzeni.
-
Logical Volume (LV) – logiczny wolumen tworzony w ramach VG, który może być zamontowany i używany jak tradycyjna partycja.
Podstawowe operacje LVM
1. Tworzenie fizycznych wolumenów (PV)
Aby przygotować dysk lub partycję do pracy z LVM, używane jest polecenie:
sudo pvcreate /dev/sdb1 /dev/sdc1
Polecenie inicjalizuje urządzenia jako Physical Volumes.
2. Tworzenie grupy wolumenów (VG)
Po utworzeniu PV można połączyć je w grupę wolumenów:
sudo vgcreate vg_data /dev/sdb1 /dev/sdc1
W tym momencie powstaje logiczna pula przestrzeni o nazwie vg_data, z której będą tworzone wolumeny logiczne.
3. Tworzenie wolumenów logicznych (LV)
Z grupy VG tworzone są logiczne wolumeny, które odpowiadają partycjom systemowym:
sudo lvcreate -L 20G -n lv_backup vg_data
Powyższe polecenie tworzy wolumen o rozmiarze 20 GB o nazwie lv_backup w grupie vg_data.
4. Tworzenie systemu plików i montowanie
Na nowym wolumenie można utworzyć system plików i zamontować go w systemie:
sudo mkfs.ext4 /dev/vg_data/lv_backup
sudo mkdir /mnt/backup
sudo mount /dev/vg_data/lv_backup /mnt/backup
5. Rozszerzanie istniejącego wolumenu
Jedną z największych zalet LVM jest możliwość dynamicznego rozszerzania przestrzeni:
sudo lvextend -L +10G /dev/vg_data/lv_backup
sudo resize2fs /dev/vg_data/lv_backup
Wolumen lv_backup zostaje powiększony o 10 GB bez utraty danych.
6. Zmniejszanie wolumenu (z ostrożnością)
Aby zmniejszyć rozmiar wolumenu, najpierw należy zmniejszyć system plików:
sudo umount /mnt/backup
sudo e2fsck -f /dev/vg_data/lv_backup
sudo resize2fs /dev/vg_data/lv_backup 15G
sudo lvreduce -L 15G /dev/vg_data/lv_backup
sudo mount /dev/vg_data/lv_backup /mnt/backup
Zmniejszanie rozmiaru wymaga dużej ostrożności, aby uniknąć utraty danych.
Zaawansowane możliwości LVM
-
Snapshoty (migawki) – pozwalają utworzyć punkt w czasie do celów backupu lub testów:
sudo lvcreate -L 5G -s -n lv_backup_snap /dev/vg_data/lv_backup
-
Migracja danych – przenoszenie wolumenów między dyskami bez przerywania pracy systemu:
sudo pvmove /dev/sdb1 /dev/sdd1
-
Striping i mirroring – umożliwiają rozłożenie danych na wiele dysków dla zwiększenia wydajności lub redundancji.
Monitorowanie i zarządzanie
Do zarządzania i podglądu struktury LVM służą m.in. polecenia:
sudo pvs # lista fizycznych wolumenów
sudo vgs # lista grup wolumenów
sudo lvs # lista wolumenów logicznych
Przydatne mogą być także graficzne narzędzia, takie jak system-config-lvm lub Cockpit, które ułatwiają zarządzanie w środowiskach produkcyjnych.
Podsumowanie
LVM to niezwykle potężne narzędzie w arsenale administratora Linuksa. Zapewnia elastyczność, skalowalność i bezpieczeństwo danych. Dzięki niemu możliwe jest efektywne zarządzanie przestrzenią dyskową, dynamiczne dodawanie i rozszerzanie wolumenów oraz tworzenie migawkowych kopii zapasowych – wszystko bez konieczności przerywania pracy systemu.
W nowoczesnych środowiskach serwerowych, zwłaszcza wirtualizowanych i kontenerowych, LVM stanowi jeden z kluczowych elementów infrastruktury pamięci masowej.