Konfiguruj i zarządzaj partycjami LVM w systemie Linux

LVM (Logical Volume Manager) - podsystem systemu operacyjnego Linux, umożliwiając korzystanie z różnych obszarów fizycznego dysku twardego lub różnych dysków twardych jako jednego woluminu logicznego. LVM jest wbudowany w jądro Linuksa i jest implementowany na podstawie mapera urządzeń.

Główne zalety LVM to wysoki poziom abstrakcji z dysków fizycznych, elastyczność i skalowalność. Możesz zmieniać rozmiar woluminu logicznego w locie, dodawać (i usuwać) nowe dyski. Woluminy LVM obsługują trwałe tworzenie migawek i rozkładanie (stratyfikacja danych między wieloma dyskami w celu zwiększenia wydajności).

W tym artykule rozważymy użycie partycji LVM na przykładzie Linux CentOS 8, pokażemy proces łączenia dwóch dysków w jedną grupę LVM, zobaczymy, jak tworzyć grupy, woluminy, montować, rozszerzać i zmniejszać rozmiar partycji LVM.

Treść

  • Instalowanie narzędzia lvm2
  • Tworzenie partycji LVM
  • LVM: tworzenie systemu plików, podłączanie woluminu logicznego
  • Zwiększ wolumin logiczny LVM
  • Zmniejszenie objętości LVM
  • Usuwanie grup i woluminów LVM
  • Utwórz dublowane woluminy LVM

Przede wszystkim musisz zrozumieć poziomy abstrakcji dysku LVM.

  • Objętość fizyczna (PV) - poziom fizyczny. Dyski fizyczne są inicjowane do użycia w LVM.
  • Grupa woluminów (VG) - poziom grupy woluminów. Zainicjowane dyski są łączone w logiczne grupy o nazwie.
  • Wolumin logiczny (LV) - tworzy wolumin logiczny w grupie woluminów, która obsługuje system plików i dane.

Instalowanie narzędzia lvm2

Na początek LVM, trzeba zainstalować narzędzie lvm2. Uruchom następujące polecenia:

apt-get install lvm2 - dla Ubuntu, Mint, Debian

mniam zainstaluj lvm2 - dla Centos, Red-Hat, Fedora

W różnych wersjach systemu Linux różni się tylko sposób instalacji narzędzia lvm2 (instalacja przez yum / dnf lub apt-get), dalsze polecenia do pracy z LVM, są takie same.

Tworzenie partycji LVM

Mamy więc maszynę wirtualną KVM, do której podłączone są dwa dodatkowe dyski. Sprawdź, czy są dostępne w systemie za pomocą polecenia:

fdisk -l

Jak widać, mam dwa dyski / dev / vdb i / dev / vdc.

Podczas konfiguracji LVM na serwerze wirtualnym lub fizycznym użyj etykietowania dysku.

Aby udostępnić dyski dla LVM, muszą być oznaczone (zainicjowane) przez narzędzie pvcreate:

pvcreate / dev / vdb / dev / vdc

Teraz, aby upewnić się, że można użyć tych dysków LVM, wprowadź polecenie pvdisplay:

Jak widać, oba dyski są wyświetlane. Przeanalizujemy informacje z danych wyjściowych polecenia:

  • Nazwa PV - nazwa dysku lub partycji
  • Nazwa VG - grupa woluminów, do której należy ten dysk (nie utworzyliśmy jeszcze grupy)
  • Rozmiar PV - rozmiar lub rozmiar dysku
  • Allocatable - dystrybucja według grup. W naszym przypadku nie było dystrybucji, dlatego NIE
  • Rozmiar PE - rozmiar fragmentu fizycznego. Jeśli dysk nie zostanie dodany do żadnej grupy, wartość zawsze będzie wynosić 0
  • Total PE - liczba fragmentów fizycznych
  • Free PE - liczba wolnych fragmentów fizycznych
  • Przydzielone fragmenty rozproszone PE
  • PV UUID - identyfikator sekcji

Za pomocą polecenia pvscan możesz skanować płyty w poszukiwaniu PV.

Następnym krokiem jest utworzenie grupy woluminów. Użyj polecenia, aby utworzyć grupy woluminów. vgcreate. Aby scalić wcześniej oznaczone dyski, używamy polecenia:
# vgcreate test / dev / vdb / dev / vdc

Pomyślnie utworzono „test” grupy woluminów

Aby sprawdzić wynik, wprowadź vgdisplay:

Jak widać dyski są pogrupowane test i Rozmiar Vg pokazuje całkowity rozmiar dysku.

Przeanalizujemy informacje z wykazu zespołu vgdisplay:

  • Nazwa VG - grupa woluminów, do której należy ten dysk.
  • Format - wersja podsystemu lvm, która jest używana do utworzenia grupy (w naszym przypadku wersja 2)
  • Obszary metadanych - obszar metadanych
  • VG Access - poziom dostępu do logicznej grupy woluminów
  • Rozmiar VG - całkowity wolumen dysków w grupie
  • Rozmiar PE - rozmiar fragmentu fizycznego
  • Alloc PE / Size - rozproszone miejsce (liczba i objętość fragmentów)
  • VG UUID - identyfikator grupy

Po utworzeniu wspólnej grupy dysków, możemy utworzyć wolumin logiczny w tej grupie. Podczas tworzenia woluminu użyj polecenia lvcreate.

Aby utworzyć wolumin logiczny o określonej wielkości i nazwie w grupie, użyj polecenia:

# lvcreate -L test 5G

Utworzono wolumin logiczny „lvol0”.

Jak widać na liście, w grupie test wolumin logiczny o nazwie lvol0 i rozmiar 5G.

Jeśli chcesz ustawić nazwę samodzielnie, użyj flagi -n:

# lvcreate -L 5G -n test1 test

Utworzono wolumin logiczny „test1”

Kilka przykładów tworzenia woluminów logicznych o różnych rozmiarach:

lvcreate -l 40% test VG - 40% miejsca na dysku grupy test

lvcreate -l 100% DARMOWY test - użyj całej wolnej przestrzeni dla grupy test

Aby wyświetlić informacje o woluminie logicznym, użyj lvdisplay:

Przeanalizujemy również listę tego polecenia:

  • LV Path - ścieżka do urządzenia woluminu logicznego (na dysk lub partycję)
  • Nazwa LV - nazwa woluminu logicznego
  • Nazwa VG - nazwa grupy woluminów
  • LV UUID - identyfikator woluminu logicznego
  • LV Write Access - poziom dostępu do woluminu logicznego
  • Host tworzenia LV, czas - informacje o hoście, data utworzenia woluminu logicznego
  • Rozmiar LV - rozmiar dysku dostępny do użycia przez wolumin logiczny
  • Aktualny LE - liczba logicznych fragmentów

LVM: tworzenie systemu plików, podłączanie woluminu logicznego

Aby utworzyć system plików na woluminie logicznym, użyj narzędzia mkfs:

Utwórz system plików ext4 na woluminie LVM:

mkfs.ext4 / dev / test / test1

System plików został utworzony bez błędów..

Teraz utwórz katalog testowy i podłącz wolumin logiczny do tego katalogu:

# mkdir / var / www / home
# mount / dev / test / test1 / var / www / home /

Jak widać, wszystko poszło bezbłędnie, a teraz katalog / var / www / home istnieje jako osobna sekcja.

Aby wolumin logiczny został zamontowany podczas rozruchu, musisz go dodać fstab i przypisz katalog do zamontowania.

Otwórz plik:
nano / etc / fstab

I dodaj do niego następujące informacje:

Domyślnie / dev / test / test1 / var / www / home ext4 1 2

Następnie możesz zamontować wolumin mount -a:

# mount -a
# df -h

Używany system plików Dostępny Wykorzystanie% Zamontowany na devtmpfs 485M 0 485M 0% / dev tmpfs 496M 0 496M 0% / dev / shm tmpfs 496M 6,7M 489M 2% / run tmpfs 496M 0 496M 0% / sys / fs / cgroup / dev / vda2 20G 1.3G 19G 7% / / dev / vda1 488M 100M 353M 23% / boot tmpfs 100M 0 100M 0% / run / user / 0 / dev / mapper / test-test1 4,8G 20M 4,6G 1% / var / www / home 

Aby sprawdzić ogólne informacje na temat dysków, partycji i woluminów, wprowadź polecenie lsblk:

Jak widać, nasz utworzony wolumin jest wyświetlany, a katalog, do którego jest podłączony, jest wskazany.

Zespół lvmdiskscan pozwala skanować dostępne dyski, pokazuje ich rozmiar i przynależność do LVM.

Zwiększ wolumin logiczny LVM

Aby dodać dodatkowy dysk do grupy woluminów, musisz użyć znanego schematu:

pvcreate / dev / nashdisk - inicjalizacja dysku dla lvm

vgextend test / dev / nashdisk - dodawanie dysku do grupy woluminów

Aby rozwinąć wolumin logiczny, użyj następującego diagramu:

lvextend -L10G / dev / test / test1

W ten sposób powiększysz partycję do 10 GB.

Kilka innych przykładów rozszerzenia sekcji LVM:

lvextend -L + 10G / dev / test / test1 - dodaj 10 GB do woluminu

lvextend -l + 100% ZA DARMO / dev / test / test1 - zaznacz całe nieprzydzielone miejsce w grupie test

Pozostaje zwiększyć partycję systemu plików:

resize2fs / dev / test / test1 - dla ext4

xfs_growfs / dev / test / test1 - dla XFS

Zmniejszenie objętości LVM

LVM pozwalają zmniejszyć rozmiar woluminu. Ale dla bezpieczeństwa, zmniejszając rozmiar partycji, musisz ją wyłączyć.

Odmontuj wolumin z katalogu:

umount / var / www / home /

Uruchom sprawdzanie dysku:

e2fsck -fy / dev / test / test1

Zmniejsz partycję systemu plików o 4 GB:

# resize2fs / dev / test / test1 4G

resize2fs 1.42.9 (28 grudnia 2013) Zmiana rozmiaru systemu plików w blokach / dev / test / test1 do 1048576 (4k). System plików w / dev / test / test1 ma teraz 1048576 bloków. 

# lvreduce -L-4G / dev / test / test1

OSTRZEŻENIE: Zmniejszenie aktywnego woluminu logicznego do 6,00 GiB. TO MOŻE ZNISZCZYĆ TWOJE DANE (system plików itp.) Czy naprawdę chcesz ograniczyć test / test1? [t / n]: y Rozmiar logicznego testu objętości / testu1 zmieniono z 10,00 GiB (2560 zakresów) do 6,00 GiB (1536 zakresów). Pomyślnie zmieniono rozmiar testu / testu logicznego objętości 1.

Teraz zmniejsz rozmiar samego woluminu LVM:

lvreduce -L-4G / dev / test / test1

Następnie musisz ponownie zainstalować wolumin i sprawdzić bieżący rozmiar:

Jak widać rozmiar zmniejszył się do 4 GB.

Usuwanie grup i woluminów LVM

Aby usunąć woluminy LVM, użyj polecenia lvremove:

lvremove / dev / test / test1

Aby usunąć logiczną grupę woluminów, użyj:

# test vgremove

Pomyślnie usunięto „test” grupy woluminów

Usuń tagi z LVM dyski:

# pvremove / dev / vdb / dev / vdc

Pomyślnie wyczyszczono etykiety woluminu fizycznego „/ dev / vdb”. Pomyślnie wyczyszczono etykiety woluminu fizycznego „/ dev / vdc”. 

Utwórz dublowane woluminy LVM

LVM umożliwia tworzenie kopii lustrzanych woluminów w celu zwiększenia odporności przechowywania danych. W kopii lustrzanej LVM dane są jednocześnie przechowywane na dwóch (lub więcej) dyskach fizycznych (podobnych do RAID-1). Procedura tworzenia dublowanego woluminu w LVM.

  1. Inicjalizacja dysku: pvcreate / dev / sd b, c
  2. Utwórz grupę LVM: vgcreate mirror1 / dev / sd b, c
  3. Utwórz dublowany wolumin LVM: lvcreate -L 5g -m1 -n lvMirr1 VGmirror1

Narzędzia LVM Są bardzo wygodne w pracy, za ich pomocą możesz łatwo zarządzać objętościami, przycinać je do potrzebnych rozmiarów i łatwo używać, aby dopasować do swoich potrzeb. W tym artykule starałem się poruszyć wszystkie główne punkty pracy LVM.