Linux – wolumin LVM

Co to jest LVM? 

Czytając o Linuxie na pewno spotkałeś się z określeniem LVM. Jest to elastyczny system związany z zarządzaniem pamięcią dyskową. 

To rozwiązanie może być idealne zarówno dla użytkowników serwerów VPS Classic forpsi.pl, jak i klientów arubacloud.pl posiadających serwery VPS, Cloud Pro, itp.

Możesz z niej skorzystać w przypadku zmiany serwera VPS na wyższy pakiet, czy też dokupując dodatkową powierzchnię dla serwera Cloud Pro.

Pamiętaj, że przed wszystkimi zmianami mogącymi uszkodzić system należy wykonać snapshot, który w naszym przypadku jest usługą darmową. W razie uszkodzenia systemu będziesz mógł w łatwy sposób przywrócić migawkę sprzed wprowadzenia zmian.

Jedną z większych zalet LVM jest możliwość zmiany udziałów dyskowych w czasie rzeczywistym, tzn. nie musisz przed zmianą odmontować udziału w systemie operacyjnym.

LVM składa się z trzech elementów, które wyszczególniono w poniższej tabelce.

Element LVMOPIS
wolumin fizycznymożemy potraktować go jako partycje dysków. Przykładowo mogą to być: /dev/sda1 ; /dev/sdb2 ; /dev/sdc1
grupa woluminówjest to zbiór woluminów fizycznych, które tworzą grupę. Nazwę grupy nadajemy samodzielnie np.: mojagrupa
wolumin logicznytraktujmy go jako formę partycji. Wolumin ten wchodzi w skład woluminów logicznych. Powierzchnia zależna jest od powierzchni grupy do której przynależy. Woluminem logicznym może być dowolny utworzony przez nas katalog czy też inny istniejący w systemie np. /tmp
elementy LVM

Jak działa LVM?

Najprościej przedstawić to na przykładzie. Posiadasz serwer i dokupiłeś do niego drugi dysk, niech to będą dwa równe dyski po 100 GB każdy. Mamy na nich załóżmy, dwie fizyczne partycje, po jednej na dysku. Łącząc je w jedną grupę uzyskujesz całkowitą dostępną powierzchnię o wielkości 200 GB. Tak utworzoną przestrzeń możemy już przydzielić woluminom logicznym. Przydzielamy z niej, załóżmy, 150 GB dla jednego LVM’a. Możesz w pełni ją teraz wykorzystać i wgrać np. jeden plik o pojemności, przykładowo, 120 GB.

Gdybyś posiadał dwie partycje na dwóch różnych dyskach nie mógłbyś wgrać tego pliku, łącząc je natomiast w LVM staje się to możliwe, gdyż z punktu widzenia systemu operacyjnego staje się ona jednym logicznym udziałem.

Ciekawe jest również, to że woluminem fizycznym może być nie tylko partycja ale również cała macierz dyskowa.

Polecenia w LVM

Poniżej przedstawię podstawowe polecenia wykorzystywane do utworzenia i konfiguracji LVM’a.

pvcreate – tworzenie woluminów fizycznych. Za pomocą tego polecenia możemy przykładowo utworzyć woluminy fizyczne z partycji dysków twardych. Pamiętajmy, że wolumin fizyczny może być przypisany tylko do jednej grupy woluminów fizycznych.
pvs – podstawowe informacje o woluminach fizycznych. W podstawowych informacjach możemy dowiedzieć się co w systemie jest u nas woluminem fizycznym.
pvdisplay – szczegółowe informacje o woluminach fizycznych
vgcreate – tworzenie grup woluminów fizycznych. Ta komenda tworzy nam grupę woluminów fizycznych z woluminów, które wcześniej zadeklarowaliśmy w pvcreate
vgs – sprawdzanie podstawowych informacji o grupach woluminów fizycznych
vgdisplay – sprawdzanie szczegółowych informacji o grupach woluminów fizycznych
lvcreate – tworzenie woluminu logicznego. Za pomocą tej komendy utworzymy wolumin logiczny z grupy woluminów fizycznych, którą utworzyliśmy poleceniem vgcreate. Pojemność woluminu logicznego nie może przekroczyć pojemności wcześniej utworzonego woluminy fizycznego.
lvs – wyświetlenie podstawowych informacji o woluminach logicznych
lvdisplay – wyświetlenie szczegółowych informacji o woluminach logicznych

Co dalej?

Poznałeś co to jest LVM, jak działa, znasz również polecenia. Pomimo to, wydaje się to być dość skomplikowane, więc prześledźmy krok po kroku jak wdrożyć LVM’a. Zakładam posiadanie dwóch dysków.

W pierwszym kroku utworzymy folder, do którego zamontujemy wolumin logiczny. Dla przykładu niech to będzie mojkatalog

mkdir /mojkatalog

Tworzymy po jednej partycji dla dysków:

fdisk /dev/sdb
fdisk /dev/sdc

Kolejnym krokiem jest utworzenie woluminów fizycznych z partycji wykonanych w kroku poprzednim.

pvcreate /dev/sdb1 /dev/sdc1

Teraz czas na utworzenie grup z woluminów fizycznych.

vgcreate mojagrupa /dev/sdb1 /dev/sdc1

Utworzyłem grupę mojagrupa w skład której wchodzą pierwsze partycje z dysków sdb oraz sdc. Pamiętaj, że w skład grupy wejść mogą tylko i wyłącznie woluminy fizyczne.

Kolejnym krokiem jest utworzenie woluminu logicznego jaki zamontujemy w systemie operacyjnym. Wpiszmy więc:

lvcreate -L 700M -n loki mojagrupa

Co oznaczają poszczególne parametry?
-L – wielkość woluminu
-n – jest to nazwa woluminu, ja nazwałem go loki
mojagrupa – to nazwa grupy jaką utworzyliśmy poleceniem vgcreate

Kolejny krok jaki musimy wykonać to formatowanie logicznego woluminu. Przyjąłem system plików ext4

mkfs.ext4 /dev/mojagrupa/loki

Wpisz poniższe polecenie, by zamontować wolumin w systemie:

mount /dev/mojagrupa/loki /mojkatalog

Mam nadzieje, że powyższy przykład rozjaśnił trochę sposób tworzenia LVM.