Główna » jak » 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 ci, czym jest LVM i do czego możesz go używać, a dzisiaj omówimy niektóre kluczowe narzędzia do zarządzania LVM, abyś był pewny podczas konfigurowania lub rozbudowy instalacji.

    Jak wspomniano wcześniej, LVM jest warstwą abstrakcji między twoim 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ą. Raczej dyski twarde i partycje, które widzi twój system operacyjny, mogą być dowolną liczbą oddzielnych dysków twardych połączonych razem lub w oprogramowaniu RAID.

    Do zarządzania LVM dostępne są narzędzia GUI, ale aby naprawdę zrozumieć, co dzieje się z konfiguracją LVM, 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 podobna. Każde prawidłowe polecenie jest poprzedzone jedną z następujących czynności:

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

    Polecenia dotyczące woluminu fizycznego służą do dodawania lub usuwania dysków twardych w grupach woluminów. Polecenia grupy woluminów służą do zmieniania tego, co abstrakcjonowany zbiór partycji fizycznych jest prezentowany do działania w woluminach logicznych. Polecenia dotyczące woluminów logicznych będą przedstawiać grupy woluminów jako partycje, aby system operacyjny mógł korzystać z wyznaczonej przestrzeni.

    Downloadable LVM Cheat Sheet

    Aby ułatwić zrozumienie, jakie polecenia są dostępne dla każdego prefiksu, przygotowaliśmy arkusz do ściągnięcia LVM. Omówimy niektóre z poleceń w tym artykule, ale jest jeszcze wiele rzeczy, które nie zostaną tu omówione.

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

    (Kliknij miniaturę, aby uzyskać obraz w pełnym rozmiarze)

    Jak wyświetlić bieżące informacje LVM

    Pierwszą rzeczą, którą musisz zrobić, to sprawdzić, jak skonfigurujesz swoją maszynę LVM. The s i pokaz komendy działają z woluminami fizycznymi (pv), grupami woluminów (vg) i woluminami logicznymi (lv), więc jest to dobre miejsce do rozpoczęcia próby ustalenia bieżących ustawień.

    The pokaz polecenie sformatuje informacje, dzięki czemu łatwiej je zrozumieć niż s dowództwo. Dla każdego polecenia zobaczysz nazwę i ścieżkę do pv / vg, która powinna również zawierać informacje o wolnej i używanej 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 logicznej objętości

    Woluminy logiczne są partycjami używanymi przez system operacyjny w LVM. Aby utworzyć wolumin logiczny, najpierw musimy mieć fizyczną grupę woluminów i woluminów. Oto wszystkie kroki niezbędne do utworzenia nowego woluminu logicznego.

    Utwórz wolumin fizyczny

    Zaczniemy od zera z nowym dyskiem twardym bez partycji lub 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 zostać uruchomione jako root lub przez dodanie "sudo" na początku polecenia.

    fdisk -l

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

    Nasz nowy dysk znajduje się w / dev / sdb, więc użyj fdisk, aby utworzyć nową partycję na dysku.

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

    Z terminala wpisz następujące polecenia:

    fdisk / dev / sdb

    Spowoduje to wyświetlenie specjalnego monitu fdisk.

    Wprowadź polecenia w podanej kolejności, aby utworzyć nową partycję podstawową, która używa 100% nowego dysku twardego i jest gotowa na LVM. Jeśli chcesz zmienić rozmiar partycji lub chcesz partycji, sugeruję używanie GParted lub czytanie o fdisk na własną rękę.

    Ostrzeżenie: Następujące kroki sformatują twój dysk twardy. Upewnij się, że nie masz żadnych informacji na temat tego dysku twardego przed wykonaniem poniższych kroków.

    • n = utwórz nową partycję
    • str = tworzy partycję podstawową
    • 1 = sprawia, że ​​partycja jest pierwszą na dysku

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

    Aby przygotować partycję do użycia przez LVM, użyj dwóch poniższych poleceń.

    • t = zmień typ partycji
    • 8e = zmienia typ partycji LVM

    Zweryfikuj i zapisz informacje na dysku twardym.

    • str = zobacz konfigurację partycji, abyśmy mogli przejrzeć ją przed zapisaniem zmian na dysku
    • w = zapisuj zmiany na dysku

    Po tych poleceniach, zachęta fdisk powinna zakończyć się, a wrócisz do wiersza bash terminalu.

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

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


    Utwórz wolumin Grupa

    Po utworzeniu partycji i utworzeniu woluminu fizycznego musimy utworzyć grupę woluminów. Na szczęście wymaga to tylko jednego polecenia.

    vgcreate vgpool / dev / sdb1

    Vgpool to nazwa utworzonej przez nas nowej grupy woluminów. Możesz nazwać to, co chcesz, ale zaleca się umieszczenie vg na początku etykiety, więc jeśli odwołasz 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

    Polecenie -L oznacza rozmiar woluminu logicznego, w tym przypadku 3 GB, a polecenie -n określa wolumin. Do Vgpool odwołuje się tak, że polecenie lvcreate wie, z którego woluminu pochodzi.

    Sformatuj i zamontuj wolumin logiczny

    Ostatnim krokiem jest sformatowanie nowego woluminu logicznego za pomocą systemu plików. Jeśli chcesz pomóc w wyborze systemu plików Linux, przeczytaj nasze instrukcje, które pomogą Ci wybrać najlepszy system plików dla Twoich potrzeb.

    mkfs -t ext3 / dev / vgpool / lvstuff

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

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

    Zmiana rozmiaru logicznej objętości

    Jedną z zalet woluminów logicznych jest możliwość fizycznego powiększania lub pomniejszania udziałów bez konieczności przenoszenia wszystkiego na większy dysk twardy. Zamiast tego możesz dodać nowy dysk twardy i rozszerzyć swoją grupę woluminów w locie. Lub jeśli masz dysk twardy, który nie jest używany, możesz go usunąć z grupy woluminów, aby zmniejszyć swój 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.

    • Zmień rozmiar - może zmniejszać lub rozszerzać woluminy fizyczne i woluminy logiczne, ale nie grupy woluminów
    • poszerzać - może sprawić, że grupy woluminów i woluminy logiczne będą większe, ale nie mniejsze
    • redukować - może sprawić, że grupy woluminów i woluminy logiczne będą mniejsze, ale nie większe

    Zobaczmy, jak dodać nowy dysk twardy do woluminu logicznego "lvstuff", który właśnie stworzyliśmy.

    Zainstaluj i sformatuj nowy dysk twardy

    Aby zainstalować nowy dysk twardy, wykonaj powyższe kroki, aby utworzyć nową partycję i dodaj jej typ partycji do LVM (8e). Następnie użyj pvcreate, aby utworzyć fizyczny wolumin rozpoznawany przez LVM.

    Dodaj nowy dysk twardy do grupy woluminów

    Aby dodać nowy dysk twardy do grupy woluminów, musisz tylko wiedzieć, jaka jest twoja nowa partycja, / dev / sdc1 w naszym przypadku, oraz nazwa grupy woluminów, którą chcesz dodać do.

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

    vgextend vgpool / dev / sdc1

    Zwiększ głośność logiczną

    Aby zmienić wielkość woluminu logicznego, musimy powiedzieć, ile chcemy rozszerzyć o rozmiar, a nie o urządzenie. W naszym przykładzie właśnie dodaliśmy dysk twardy o pojemności 8 GB do naszego vga o rozmiarze 3 GB. Aby uczynić tę przestrzeń użyteczną, możemy użyć lvextend lub lvresize.

    lvextend -L8G / dev / vgpool / lvstuff

    Chociaż to polecenie zadziała, zobaczysz, że faktycznie zmieni rozmiar naszego logicznego woluminu na 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 wynosi 11 GB, ale system plików na tym woluminie nadal ma tylko 3 GB. Aby system plików używał całego dostępnego 11 GB, musisz użyć polecenia resize2fs. Po prostu wskaż polecenie resize2fs na wolumin logiczny o wielkości 11 GB i 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 głośność logiczną

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

    1. zmiana rozmiaru systemu plików (pamiętaj, aby przenieść pliki do bezpiecznego obszaru dysku twardego przed zmianą rozmiaru)
    2. zmniejszyć objętość logiczną (zamiast + rozszerzyć można również użyć - aby zmniejszyć rozmiar)
    3. usuń dysk twardy z grupy woluminów za pomocą vgreduce

    Tworzenie kopii zapasowej woluminu logicznego

    Migawki to funkcja, z której korzystają nowsze nowsze systemy plików, ale ext3 / 4 nie ma możliwości robienia migawek w locie. Jedną z najfajniejszych rzeczy na temat migawek LVM jest to, że twój system plików nigdy nie jest w trybie offline i możesz mieć dowolną liczbę bez zajmowania dodatkowego miejsca na dysku twardym.

    Kiedy LVM wykonuje migawkę, robi się zdjęcie dokładnie tak, jak wygląda tom logiczny, a zdjęcie to może być użyte 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 zwykle, ale zmiany są śledzone, aby oryginalne zdjęcie nigdy nie uległo zniszczeniu.

    Aby utworzyć migawkę, musimy utworzyć nowy 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 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 jak poprzednio, ale użyj opcji -s.

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

    Tutaj stworzyliśmy wolumin logiczny o wielkości tylko 512 MB, ponieważ dysk nie jest aktywnie wykorzystywany. 512 MB przechowa wszystkie nowe zapisy podczas tworzenia kopii zapasowej.

    Zamontuj nową migawkę

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

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

    Skopiuj migawkę i usuń wolumin logiczny

    Pozostało ci tylko skopiować wszystkie pliki z / mnt / lvstuffbackup / na zewnętrzny dysk twardy lub skompresować go, aby wszystko było w jednym pliku.

    Uwaga: tar -c utworzy archiwum, a -f powie nazwę i nazwę pliku archiwum. Aby uzyskać pomoc dotyczącą użycia polecenia tar człowiek tar w terminalu.

    tar -cf / home / rothgar / Kopia zapasowa / lvstuff-ss / mnt / lvstuffbackup /

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

    Po zakończeniu tworzenia kopii zapasowej odłącz wolumin i usuń tymczasową migawkę.

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

    Usuwanie logicznej objętości

    Aby usunąć wolumin logiczny, najpierw upewnij się, że wolumin jest odłączony, a następnie możesz użyć polecenia lvremove, aby go usunąć. Można również usunąć grupę woluminów po usunięciu woluminów logicznych i woluminie fizycznym po usunięciu grupy woluminów.

    Oto wszystkie komendy korzystające z tomów i grup, które utworzyliśmy.

    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, koniecznie podziel się swoją mądrością w komentarzach.