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
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.