/ / Jak zarządzać i używać LVM (Logical Volume Management) w Ubuntu

Jak zarządzać i używać LVM (Logical Volume Management) w Ubuntu

W naszym poprzednim artykule powiedzieliśmy, czym jest LVMi do czego możesz go użyć, a dzisiaj przeprowadzimy Cię przez niektóre z kluczowych narzędzi zarządzania LVM, dzięki czemu będziesz mieć pewność podczas konfigurowania lub rozszerzania instalacji.

Jak wspomniano wcześniej, LVM jest warstwą abstrakcjimiędzy systemem operacyjnym a fizycznymi dyskami twardymi. Oznacza to, że fizyczne dyski twarde i partycje nie są już powiązane z dyskami twardymi i partycjami, na których się znajdują. Dyski twarde i partycje, które widzi Twój system operacyjny, mogą być dowolną liczbą oddzielnych dysków twardych zebranych razem lub w programowej macierzy RAID.

Do zarządzania LVM dostępne są narzędzia GUI, aleaby naprawdę zrozumieć, co dzieje się z konfiguracją LVM, prawdopodobnie najlepiej jest wiedzieć, jakie są narzędzia wiersza poleceń. Będzie to szczególnie przydatne, jeśli zarządzasz LVM na serwerze lub dystrybucji, która nie oferuje narzędzi GUI.

Większość poleceń w LVM jest do siebie bardzo podobnych. Każde prawidłowe polecenie jest poprzedzone jednym z poniższych:

  • Objętość fizyczna = pv
  • Grupa woluminów = vg
  • Objętość logiczna = lv

Polecenia woluminu fizycznego służą do dodawania lubusuwanie dysków twardych w grupach woluminów. Polecenia grupy woluminów służą do zmiany tego, co abstrakcyjny zestaw partycji fizycznych jest prezentowany w operacjach w woluminach logicznych. Logiczne polecenia woluminu przedstawią grupy woluminów jako partycje, aby system operacyjny mógł wykorzystać wyznaczone miejsce.

Ściągawka LVM do pobrania

Aby pomóc Ci zrozumieć, jakie są poleceniadostępne dla każdego prefiksu stworzyliśmy ściągawki LVM. Omówimy niektóre polecenia w tym artykule, ale wciąż jest wiele rzeczy, które możesz zrobić, które nie zostaną omówione tutaj.

Wszystkie polecenia z tej listy będą musiały być uruchamiane jako root, ponieważ zmieniasz ustawienia systemowe, które będą miały wpływ na cały komputer.

(Kliknij miniaturę, aby wyświetlić obraz w pełnym rozmiarze)

Jak wyświetlić bieżące informacje o LVM

Pierwszą rzeczą, którą możesz zrobić, jest sprawdzenie konfiguracji LVM. The s i display polecenia działają z woluminami fizycznymi (pv), grupami woluminów (vg) i woluminami logicznymi (lv), więc jest to dobre miejsce, aby zacząć od próby ustalenia bieżących ustawień.

The display polecenie sformatuje informacje, dzięki czemu będzie łatwiejsze do zrozumienia niż s Komenda. Dla każdego polecenia zobaczysz nazwę i ścieżkę pv / vg, a także powinna zawierać informacje o wolnej i wykorzystanej przestrzeni.

Najważniejszą informacją będzie nazwa PV i nazwa VG. Dzięki tym dwóm informacjom możemy kontynuować pracę nad konfiguracją LVM.

Tworzenie woluminu logicznego

Woluminy logiczne to partycje, które Tysystem operacyjny używa w LVM. Aby utworzyć wolumin logiczny, najpierw musimy mieć wolumin fizyczny i grupę woluminów. Oto wszystkie kroki niezbędne do utworzenia nowego woluminu logicznego.

Utwórz wolumin fizyczny

Zaczniemy od zera zupełnie nowym dyskiem twardym bez partycji ani informacji na jego temat. Zacznij od znalezienia dysku, z którym będziesz pracować. (/ dev / sda, sdb itp.)

Uwaga: pamiętaj, że wszystkie polecenia będą musiały być uruchamiane jako root lub przez dodanie „sudo” na początku polecenia.

fdisk -l

Jeśli twój dysk twardy nigdy nie został sformatowany lubpodzielony na partycje, zanim prawdopodobnie zobaczysz coś takiego na wyjściu fdisk. Jest to całkowicie w porządku, ponieważ w kolejnych krokach będziemy tworzyć potrzebne partycje.

Nasz nowy dysk znajduje się w / dev / sdb, więc użyj fdisk do utworzenia nowej partycji na dysku.

Istnieje mnóstwo narzędzi, które mogą utworzyć nową partycję z GUI, w tym Gparted, ale ponieważ mamy już otwarty terminal, użyjemy fdisk do utworzenia potrzebnej partycji.

W terminalu wpisz następujące polecenia:

fdisk /dev/sdb

Spowoduje to wyświetlenie specjalnego polecenia fdisk.

Wprowadź polecenia w podanej kolejności, aby utworzyćnowa partycja podstawowa, która wykorzystuje 100% nowego dysku twardego i jest gotowa na LVM. Jeśli chcesz zmienić rozmiar partycji lub chcesz mieć wiele partycji, sugeruję użycie GParted lub samodzielne czytanie o fdisk.

Ostrzeżenie: następujące kroki sformatują dysk twardy. Upewnij się, że nie masz żadnych informacji na tym dysku twardym przed wykonaniem tych kroków.

  • n = utwórz nową partycję
  • p = tworzy partycję podstawową
  • 1 = ustawia partycję jako pierwszą na dysku

Naciśnij dwukrotnie klawisz Enter, aby zaakceptować domyślny pierwszy cylinder i ostatni cylinder.

Aby przygotować partycję do użycia przez LVM, użyj następujących dwóch poleceń.

  • t = zmień typ partycji
  • 8e = zmiany na typ partycji LVM

Sprawdź i zapisz informacje na dysku twardym.

  • p = zobacz konfigurację partycji, abyśmy mogli przejrzeć przed zapisaniem zmian na dysku
  • w = zapisz zmiany na dysku

Po tych poleceniach monit fdisk powinien zakończyć się, a wrócisz do monitu bash na terminalu.

Wchodzić pvcreate /dev/sdb1 aby utworzyć wolumin fizyczny LVM na właśnie utworzonej partycji.

Być może pytasz, dlaczego nie sformatowaliśmy partycji za pomocą systemu plików, ale nie martw się, ten krok nastąpi później.


Utwórz grupę woluminów

Teraz, gdy mamy wyznaczoną partycję i utworzony wolumin fizyczny, musimy utworzyć grupę woluminów. Na szczęście wymaga to tylko jednego polecenia.

vgcreate vgpool /dev/sdb1

Vgpool to nazwa nowej grupy woluminów mystworzony. Możesz nazwać go, jak chcesz, ale zaleca się umieszczenie vg na początku etykiety, więc jeśli odniesiesz się do niego później, będziesz wiedział, że jest to grupa woluminów.

Utwórz wolumin logiczny

Aby utworzyć wolumin logiczny, którego będzie używać LVM:

lvcreate -L 3G -n lvstuff vgpool

Komenda -L określa rozmiar logikiwolumin, w tym przypadku 3 GB, a polecenie -n określa wolumin. Odwołanie do Vgpool jest takie, że komenda lvcreate wie, z którego woluminu uzyskać przestrzeń.

Sformatuj i zamontuj wolumin logiczny

Ostatnim krokiem jest sformatowanie nowego woluminu logicznego za pomocą systemu plików. Jeśli potrzebujesz pomocy w wyborze systemu plików Linux, przeczytaj nasz poradnik, który pomoże Ci wybrać najlepszy system plików dla twoich potrzeb.

mkfs -t ext3 /dev/vgpool/lvstuff

Utwórz punkt montowania, a następnie zamontuj wolumin w miejscu, gdzie możesz go użyć.

mkdir /mnt/stuff
mount -t ext3 /dev/vgpool/lvstuff /mnt/stuff

Zmiana rozmiaru woluminu logicznego

Jedną z zalet woluminów logicznych jest to, że możeszspraw, aby Twoje udziały były fizycznie większe lub mniejsze bez konieczności przenoszenia wszystkiego na większy dysk twardy. Zamiast tego możesz dodać nowy dysk twardy i rozszerzyć grupę woluminów w locie. Jeśli masz nieużywany dysk twardy, możesz go usunąć z grupy woluminów, aby zmniejszyć wolumin logiczny.

Istnieją trzy podstawowe narzędzia do zwiększania lub zmniejszania woluminów fizycznych, grup woluminów i woluminów logicznych.

Uwaga: Każde z tych poleceń musi być poprzedzone pv, vg lub lv, w zależności od tego, z czym pracujesz.

  • resize - może zmniejszać lub rozszerzać woluminy fizyczne i woluminy logiczne, ale nie grupy woluminów
  • extend - może zwiększyć grupy woluminów i woluminy logiczne, ale nie mniejsze
  • reduce - może zmniejszyć grupy woluminów i woluminy logiczne, ale nie większe

Zobaczmy, jak dodać nowy dysk twardy do utworzonego właśnie woluminu logicznego „lvstuff”.

Zainstaluj i sformatuj nowy dysk twardy

Aby zainstalować nowy dysk twardy, wykonaj powyższe kroki, aby utworzyć nową partycję i dodać zmianę typu partycji na LVM (8e). Następnie użyj pvcreate, aby utworzyć wolumin fizyczny, który LVM może rozpoznać.

Dodaj nowy dysk twardy do grupy woluminów

Aby dodać nowy dysk twardy do grupy woluminów, wystarczy wiedzieć, jaka jest nowa partycja, w naszym przypadku / dev / sdc1 i nazwa grupy woluminów, do której chcesz go dodać.

Spowoduje to dodanie nowego woluminu fizycznego do istniejącej grupy woluminów.

vgextend vgpool /dev/sdc1

Zwiększ wolumin logiczny

Aby zmienić rozmiar woluminu logicznego, musimy powiedzieć jakbardzo chcemy rozszerzyć o rozmiar zamiast o urządzenie. W naszym przykładzie właśnie dodaliśmy dysk twardy 8 GB do naszego 3 GB vgpool. Aby wykorzystać tę przestrzeń, możemy użyć lvextend lub lvresize.

lvextend -L8G /dev/vgpool/lvstuff

Podczas gdy to polecenie będzie działać, zobaczysz, że to działazmieni rozmiar naszego woluminu logicznego do 8 GB zamiast dodawać 8 GB do istniejącego woluminu, tak jak chcieliśmy. Aby dodać 3 ostatnie dostępne gigabajty, musisz użyć następującego polecenia.

lvextend -L+3G /dev/vgpool/lvstuff

Teraz nasz wolumin logiczny ma rozmiar 11 GB.

Rozszerz system plików

Wolumin logiczny ma 11 GB, ale system plikówna tym woluminie jest nadal tylko 3 GB. Aby system plików mógł korzystać z całego 11 GB dostępnego miejsca, musisz użyć polecenia resize2fs. Wystarczy wskazać resize2fs na wolumin logiczny 11 GB, a zrobi to za Ciebie.

resize2fs /dev/vgpool/lvstuff

Uwaga: Jeśli używasz innego systemu plików niż ext3 / 4, zobacz narzędzia do zmiany rozmiaru systemu plików.

Zmniejsz wolumin logiczny

Jeśli chcesz usunąć dysk twardy z grupy woluminów, musisz wykonać powyższe kroki w odwrotnej kolejności i zamiast tego użyć lvreduce i vgreduce.

  1. zmień rozmiar systemu plików (przed zmianą rozmiaru przenieś pliki do bezpiecznego obszaru dysku twardego)
  2. zmniejsz wolumin logiczny (zamiast +, aby rozszerzyć, możesz również użyć - aby zmniejszyć według rozmiaru)
  3. usuń dysk twardy z grupy woluminów za pomocą vgreduce

Tworzenie kopii zapasowej woluminu logicznego

Migawki to funkcja, którą niektóre nowsze wprowadziłysystemy plików są dostarczane z, ale ext3 / 4 nie ma możliwości robienia migawek w locie. Jedną z najfajniejszych rzeczy w migawkach LVM jest to, że twój system plików nigdy nie jest przełączany w tryb offline i możesz mieć ich tyle, ile chcesz, bez zajmowania dodatkowego miejsca na dysku twardym.

Kiedy LVM wykonuje migawkę, robione jest zdjęciedokładnie jak wygląda wolumin logiczny, a tego obrazu można użyć do wykonania kopii na innym dysku twardym. Podczas tworzenia kopii wszelkie nowe informacje, które należy dodać do woluminu logicznego, są zapisywane na dysku tak jak normalnie, ale zmiany są śledzone, aby oryginalny obraz nigdy nie został zniszczony.

Aby utworzyć migawkę, musimy utworzyć nowąwolumin logiczny z wystarczającą ilością wolnego miejsca, aby pomieścić wszelkie nowe informacje, które zostaną zapisane na woluminie logicznym podczas tworzenia kopii zapasowej. Jeśli dysk nie jest aktywnie zapisywany, możesz użyć bardzo małej ilości pamięci. Po zakończeniu tworzenia kopii zapasowej po prostu usuwamy tymczasowy wolumin logiczny, a oryginalny wolumin logiczny będzie działał normalnie.

Utwórz nową migawkę

Aby utworzyć migawkę lvstuff, użyj polecenia lvcreate, tak jak poprzednio, ale użyj flagi -s.

lvcreate -L512M -s -n lvstuffbackup /dev/vgpool/lvstuff

Tutaj utworzyliśmy wolumin logiczny z jedynie 512 MB, ponieważ dysk nie jest aktywnie używany. 512 MB pomieści wszelkie nowe zapisy podczas tworzenia kopii zapasowej.

Zamontuj nową migawkę

Tak jak wcześniej musimy utworzyć punkt montowania i zamontować nową migawkę, abyśmy mogli z niej kopiować pliki.

mkdir /mnt/lvstuffbackup
mount /dev/vgpool/lvstuffbackup /mnt/lvstuffbackup

Skopiuj migawkę i usuń wolumin logiczny

Wystarczy, że skopiujesz wszystkie pliki z / mnt / lvstuffbackup / na zewnętrzny dysk twardy lub utworzysz archiwum, aby wszystko było w jednym pliku.

Uwaga: tar -c utworzy archiwum, a -f powie lokalizację i nazwę pliku archiwum. Aby uzyskać pomoc dotyczącą polecenia tar, użyj man tar w terminalu.

tar -cf /home/rothgar/Backup/lvstuff-ss /mnt/lvstuffbackup/

Pamiętaj, że podczas tworzenia kopii zapasowejwszystkie pliki, które zostałyby zapisane w lvstuff, są śledzone w tymczasowym woluminie logicznym, który wcześniej utworzyliśmy. Upewnij się, że masz wystarczającą ilość wolnego miejsca podczas tworzenia kopii zapasowej.

Po zakończeniu tworzenia kopii zapasowej odmontuj wolumin i usuń tymczasową migawkę.

umount /mnt/lvstuffbackup
lvremove /dev/vgpool/lvstuffbackup/

Usuwanie woluminu logicznego

Aby usunąć wolumin logiczny, musisz najpierw zrobićupewnij się, że wolumin jest odmontowany, a następnie możesz użyć lvremove, aby go usunąć. Możesz także usunąć grupę woluminów po usunięciu woluminów logicznych i wolumin fizyczny po usunięciu grupy woluminów.

Oto wszystkie polecenia korzystające z utworzonych przez nas woluminów i grup.

umount /mnt/lvstuff
lvremove /dev/vgpool/lvstuff
vgremove vgpool
pvremove /dev/sdb1 /dev/sdc1

To powinno obejmować większość tego, co musisz wiedzieć, aby korzystać z LVM. Jeśli masz jakieś doświadczenie na ten temat, pamiętaj, aby podzielić się swoją mądrością w komentarzach.