Praca z LVM

LVM to system zarządzania przestrzenią dyskową z dodatkowym stopniem abstrakcji od warstwy fizycznej. Umożliwia elastyczne i wydajne zarządzanie przestrzenią dyskową, odporność na błędy danych, a także pomaga w rozwiązywaniu różnych zadań związanych z tworzeniem kopii zapasowych danych, wdrażaniem systemów pamięci masowej dla środowisk wirtualizacji itp.

W tym artykule zobaczymy, jak zainstalować i używać LVM w systemie Linux.

Instalacja

LVM jest zwykle instalowany wraz z systemem operacyjnym Linux, ale jeśli tak nie jest, można go zainstalować za pomocą menedżera pakietów danej dystrybucji Linuksa. W przypadku większości dystrybucji polecenie instalacji LVM będzie wyglądać następująco:

Dla Debiana lub Ubuntu:

sudo apt-get install lvm2

Dla CentOS, Fedora i RHEL:

sudo yum install lvm2

Tworzenie woluminów fizycznych

Przed utworzeniem woluminów logicznych należy utworzyć woluminy fizyczne (pv). Wolumin fizyczny jest urządzeniem wirtualnym, takim jak dysk twardy lub partycja dysku, którego LVM używa do tworzenia woluminów logicznych.

Uwaga: Zaleca się tworzenie woluminów fizycznych na dysku twardym bez użycia partycjonowania, ponieważ w przeciwnym razie proces dynamicznej zmiany rozmiaru LVM stanie się bardziej skomplikowany w dłuższej perspektywie.

Aby utworzyć wolumin fizyczny, wykonaj następujące kroki:

Użyj polecenia pvcreate, aby utworzyć wolumin fizyczny:

sudo pvcreate /dev/sdb

Gdzie /dev/sdb jest ścieżką do urządzenia fizycznego.

2. Sprawdź utworzony wolumin fizyczny za pomocą polecenia pvdisplay:

sudo pvdisplay

W danych wyjściowych zostaną wyświetlone informacje o utworzonym woluminie fizycznym.

Tworzenie grupy woluminów fizycznych

Grupa woluminów fizycznych (vg) to logiczny kontener, który może łączyć kilka woluminów fizycznych w jedną wspólną grupę. Jednak nic nie stoi na przeszkodzie, aby użyć go w ramach pojedynczego woluminu fizycznego. Aby utworzyć grupę woluminów fizycznych, należy wykonać następujące kroki:

1. użyj polecenia vgcreate, aby utworzyć grupę woluminów fizycznych:

sudo vgcreate vg0 /dev/sdb
# либо для нескольких pv
sudo vgcreate vg0 /dev/sdb /dev/sdc

Tworzenie woluminu logicznego

Teraz można utworzyć woluminy logiczne, które mogą być konwencjonalnie reprezentowane jako partycje na dysku twardym.

1. Utwórz wolumin logiczny w grupie woluminów fizycznych za pomocą polecenia lvcreate :

sudo lvcreate -n lv0 -L 10G vg0   # Создание логического тома lv0 размером 10 ГБ в группе физических томов vg0

Gdzie -n to nazwa woluminu logicznego, -L to rozmiar woluminu logicznego.

2. Sprawdź utworzony wolumin logiczny za pomocą polecenia lvdisplay:

sudo lvdisplay

Wyświetlone zostaną informacje o utworzonym woluminie logicznym.

3. Utwórz system plików na woluminie logicznym za pomocą polecenia mkfs:

sudo mkfs.ext4 /dev/vg0/lv0

4. Utwórz punkt montowania dla nowego systemu plików za pomocą polecenia mkdir:

sudo mkdir /mnt/lv0

5. Zamontować nowy system plików w punkcie montowania za pomocą polecenia mount:

sudo mount /dev/vg0/lv0 /mnt/lv0

Można teraz korzystać z nowego systemu plików znajdującego się na woluminie logicznym.

Korzystanie z LVM

LVM udostępnia wiele poleceń do zarządzania woluminami fizycznymi, grupami woluminów fizycznych i woluminami logicznymi. Poniżej wymieniono niektóre z najczęściej używanych poleceń:

  • pvcreate: Tworzy nowy wolumin fizyczny.
  • pvdisplay: Wyświetla informacje o woluminach fizycznych.
  • vgcreate: Tworzy nową grupę woluminów fizycznych.
  • vgextend: Dodaje wolumin fizyczny do grupy woluminów fizycznych.
  • vgdisplay: Wyświetla informacje o grupach woluminów fizycznych.
  • lvcreate: Tworzy nowy wolumin logiczny.
  • lvextend: Zwiększa rozmiar woluminu logicznego.
  • lvdisplay: Wyświetla informacje o woluminach logicznych.

LVM pozwala również na użycie go do zwiększenia rozmiaru woluminów fizycznych, grup woluminów fizycznych i woluminów logicznych podczas działania systemu. Istnieją odpowiednie polecenia do tego celu:

  • pvresize: Zmienia rozmiar woluminu fizycznego.
  • vgresize: Zmienia rozmiar grupy woluminów fizycznych.
  • lvresize: Zmienia rozmiar woluminu logicznego.

Wykonując dowolne z powyższych poleceń z parametrem --help można zapoznać się z dodatkowymi parametrami argumentów polecenia.

Umożliwiają one kontrolowanie rozmiaru woluminu logicznego:

Na przykład, aby zwiększyć rozmiar woluminu logicznego lv0 w grupie woluminów fizycznych vg0 o 5 GB, należy użyć polecenia:

sudo lvresize -L +5G /dev/vg0/lv0

lub całe pozostałe wolne miejsce na woluminie fizycznym:

sudo lvresize -l +100%FREE /dev/vg0/lv0
Należy zauważyć, że w ostatnim przykładzie użyto wielkiej litery l, podczas gdy w poprzednim przykładzie użyto wielkiej litery L.
W tym formacie można elastycznie ustawić procentową ilość wolnego miejsca z pozostałego miejsca na woluminie fizycznym, aby dodać je do woluminu logicznego.

Następnie można zmienić rozmiar systemu plików w locie za pomocą polecenia resize2fs:

sudo resize2fs /dev/vg0/lv0

Migawki LVM

LVM w systemie Linux obsługuje mechanizm migawek, który umożliwia tworzenie dokładnych kopii woluminów logicznych w określonym momencie. Jest to przydatna funkcja, która umożliwia zapisanie stanu danych w określonym momencie i przywrócenie go w razie potrzeby.

Technologia migawek LVM działa w następujący sposób: migawka jest tworzona poprzez zapisanie stanu woluminu logicznego w momencie tworzenia migawki. Po utworzeniu migawki wszelkie zmiany zachodzące w oryginalnym woluminie logicznym są przechowywane w dodatkowym różnicowym miejscu na dysku. Może to pomóc w tworzeniu kopii zapasowych i przywracaniu danych w momencie tworzenia migawki.

Przyjrzyjmy się, jak tworzyć i używać mechanizmu migawek LVM.

Tworzenie migawki LVM

Tworzenie migawki LVM odbywa się za pomocą polecenia lvcreate. Na przykład, aby utworzyć migawkę woluminu logicznego myvolume w grupie woluminów myvg, należy użyć następującego polecenia:

sudo lvcreate --snapshot --name myvolume_snap --size 1G /dev/myvg/myvolume

To polecenie utworzy migawkę woluminu logicznego myvolume o nazwie myvolume_snap o rozmiarze 1 GB.

Należy pamiętać, że aby utworzyć migawkę, należy określić jej rozmiar.

Korzystanie z migawki LVM

Po utworzeniu migawki można jej użyć do wykonania różnych zadań. Na przykład można użyć migawki do przywrócenia danych lub utworzenia kopii zapasowej. Użyj następującego polecenia, aby zamontować migawkę w systemie plików:

sudo mount /dev/myvg/myvolume_snap /mnt/snapshot

Tutaj /mnt/snapshot jest punktem montowania, w którym zostanie zamontowana migawka. Po zamontowaniu migawki można kopiować z niej dane lub używać jej do odzyskiwania danych.

Usuwanie migawki LVM

Po użyciu migawki można ją usunąć. Aby usunąć migawkę, należy użyć polecenia lvremove. Na przykład, aby usunąć migawkę myvolume_snapshot w grupie woluminów myvg, należy użyć następującego polecenia:

sudo lvremove /dev/myvg/myvolume_snap

Należy pamiętać, że usunięcie migawki spowoduje utratę wszystkich danych, które zostały zmienione po utworzeniu migawki.

Cienkie pule

Thin pool to mechanizm LVM, który pozwala na utworzenie woluminu logicznego, który wykorzystuje tylko część fizycznych urządzeń dyskowych, które faktycznie zawierają dane. Pozwala to zmniejszyć zużycie przestrzeni dyskowej i efektywniej nią zarządzać. Ta funkcja LVM stała się najbardziej powszechna w systemach wirtualizacji jako wygodne i ekonomiczne rozwiązanie do przydzielania przestrzeni dyskowej dla maszyn wirtualnych i kontenerów. Przyjrzyjmy się, jak utworzyć cienką pulę w LVM.

Tworzenie cienkiej puli LVM

Cienka pula jest tworzona za pomocą znanego polecenia lvcreate. Na przykład, aby utworzyć thin pool mythinpool w grupie woluminów myvg na woluminach fizycznych /dev/sdb i /dev/sdc, należy użyć następującego polecenia:

sudo lvcreate -L 50G -T myvg/mythinpool /dev/sdb /dev/sdc

Tutaj -L określa rozmiar cienkiej puli w gigabajtach, a -T wskazuje, że tworzymy cienką pulę. To polecenie utworzy cienką pulę mythinpool o wielkości 50 GB.

Tworzenie cienkiego woluminu LVM

Cienki wolumin to wolumin logiczny utworzony wewnątrz cienkiej puli. Cienkie woluminy można tworzyć za pomocą polecenia lvcreate. Na przykład, aby utworzyć cienki wolumin mythinvolume o rozmiarze 10 GB w cienkiej puli mythinpool w grupie woluminów myvg, należy użyć następującego polecenia:

sudo lvcreate -V 10G -T myvg/mythinpool -n mythinvolume

Tutaj -V określa rozmiar cienkiego woluminu w gigabajtach, a -n określa nazwę cienkiego woluminu. To polecenie utworzy cienki wolumin mythinvolume o rozmiarze 10 GB wewnątrz cienkiej puli mythinpool.

Używanie cienkiego woluminu LVM

Cienki wolumin może być używany jako zwykły wolumin logiczny. Na przykład, aby utworzyć system plików ext4 na cienkim woluminie mythinvolume, należy użyć następującego polecenia:

sudo mkfs.ext4 /dev/myvg/mythinvolume

Po utworzeniu systemu plików cienkiego woluminu można go zamontować i używać jako zwykłego woluminu logicznego.

Thin pool umożliwia tworzenie bardziej elastycznych i wydajnych konfiguracji pamięci masowej w systemie Linux. Cienka pula jest używana w połączeniu z cienkim woluminem w celu optymalnego wykorzystania przestrzeni dyskowej.