Odzyskiwanie danych z partycji LVM w Linuksie – Kompletny przewodnik
Chcecie dowiedzieć się jak wykorzystać technologię LVM w systemie Linux? Jak utworzyć wolumin LVM, skonfigurować go i zamontować w systemie, dodać i usunąć dyski oraz odzyskać przypadkowo usunięte z niego dane? Więcej na ten temat dowiemy się w naszym artykule poniżej.
- Co to jest LVM?
- Jak zainstalować LVM na swoim systemie?
- Jak podzielić dysk fizyczny na partycje
- Teraz utwórzcie grupę partycji
- Aby użyć LVM utwórzcie wolumin logiczny
- Jak sformatować i zamontować wolumin logiczny?
- Jak zmienić rozmiar?
- Jak odzyskać usunięte informacje z woluminu logicznego LVM
- Podsumowanie
- Pytania i odpowiedzi
- Komentarze
Co to jest LVM?
Zarządzanie woluminami logicznymi to standardowa opcja zarządzania dyskami, która jest dostępna w każdej dystrybucji systemu operacyjnego Linux. Zapewnia on poziom abstrakcji między systemem operacyjnym a używanymi dyskami. W tradycyjnym zarządzaniu, Linux najpierw szuka dostępnych dysków, a następnie widzi jakie partycje są dostępne na tych urządzeniach.
Z pomocą LVM możecie połączyć dyski lub partycje w jedną przestrzeń. W ten sposób system operacyjny nie zauważy żadnej różnicy, a menedżer dysków pokaże tylko te nośniki fizyczne lub grupy woluminów, które są potrzebne.
Cecha | Opis |
---|---|
Nazwa | Logical Volume Management (LVM) |
Główne przeznaczenie | Zarządzanie przestrzenią dyskową poprzez łączenie fizycznych dysków w woluminy logiczne w celu elastycznego przydzielania zasobów |
Obsługiwane systemy operacyjne | Linux, macOS, Android |
Typy nośników | Dyski twarde (HDD), dyski SSD, urządzenia zewnętrzne |
Główne funkcje | Tworzenie, zmiana rozmiaru i usuwanie woluminów logicznych bez utraty danych |
Rozszerzanie woluminów | Możliwość dynamicznego powiększania rozmiaru woluminów |
Zmniejszanie woluminów | Możliwość zmniejszenia rozmiaru woluminów bez uszkodzenia danych |
Funkcja migawki (snapshots) | Tak, obsługuje migawki do tworzenia kopii zapasowych i odzyskiwania |
Obsługa RAID | Tak, obsługuje poziomy RAID dla poprawy wydajności i bezpieczeństwa danych |
Bezpieczeństwo danych | Możliwość szyfrowania woluminów logicznych w celu ochrony danych |
Zgodność | Zgodny z wieloma systemami plików, takimi jak ext4, xfs, btrfs |
Elastyczność | Umożliwia łatwe zarządzanie przestrzenią dyskową i łączenie jej z różnych dysków fizycznych |
W rzeczywistości, LVM ma kilka dużych zalet:
- Może on utworzyć wolumin logiczny na podstawie dowolnej liczby nośników fizycznych, które będą wyświetlane jako pojedyncza przestrzeń w systemie.
- Liczba przychodzących nośników i wielkość samego wolumenu może być zmieniana w locie.
- Także technologia LVM umożliwia w locie kopiowanie pożądanych partycji, lub pełną konfigurację funkcji mirror jak w RAID-1.
Jak zainstalować LVM na swoim systemie?
Jeśli planujecie używać LVM po raz pierwszy, musicie go najpierw zainstalować. Aby zainstalować, wykonajcie następujące polecenie: sudo apt install lvm2
sudo apt install lvm2
A następnie wprowadźcie hasło administratora, a następnie Tak, aby potwierdzić.
W niektórych wersjach Linuksa ta opcja jest ustawiona domyślnie.
To jest łatwe do sprawdzenia, wystarczy wpisać lvm w oknie terminala.
lvm
Po tym można przystąpić do zarządzania dyskami.
Jak podzielić dysk fizyczny na partycje
Mam trzy puste, niepartycjonowane dyski twarde o pojemności 320 GB, które nie są podzielone na partycje.
Najprostszym sposobem partycjonowania jest użycie Narzędzia do zarządzania dyskami. Kliknijcie na wybrany dysk - i otwórzcie opcje zaawansowane - a następnie sformatujcie.
Wskażcie nazwę i system plików - Dalej i ponownie Formatować, aby potwierdzić.
Następnie musicie podać hasło do swojego konta administratora.
Dysk jest podzielony na partycje, powtórzcie operację z każdym niepodzielonym dyskiem.
Możecie również partycjonować dysk przez terminal, używając fdisk.
fdisk
Zalogujcie się jako root - sudo -i - wpiszcie swoje hasło.
sudo –i
A następnie uruchomcie następujące polecenie: fdisk /dev/sdb - gdzie sdb jest dyskiem niespartycjonowanym.
fdisk /dev/sdb
Przed przystąpieniem do dalszych czynności upewnijcie się, że podałyście właściwy dysk, ponieważ wszystkie informacje zostaną nadpisane.
Wpisujemy n - nowa partycja, p - partycja podstawowa, 1 - pierwsza partycja i dwukrotnie klikamy Enter.
Teraz musimy przygotować partycję do użycia LVM. Wpiszcie t, aby zmienić typ partycji, a następnie 8e, aby wpisać LVM.
Sprawdźcie ustawienia partycji - p, jak widać zakończyło się to sukcesem, pojawia się partycja sdb1, zmiany zapisu - w. Podzielcie na partycje wszystkie nie podzielone na partycje dyski.
Ponadto, aby utworzyć wolumin LVM na nowo dodanej partycji, wpiszcie: pvcreate /dev/sdb1.
pvcreate /dev/sdb1
Powtórzcie to dla każdego nośnika pvcreate /dev/sdc1, pvcreate /dev/sdd1.
pvcreate /dev/sdс1
pvcreate /dev/sdd1
Teraz utwórzcie grupę partycji
Po przygotowaniu trzech nośników, zmontujcie wymaganą partycję LVM. Pomoże nam w tym poniższe polecenie:
vgcreate vg1 /dev/sdb1 dev/sdc1 dev/sdd1
Gdzie vg1 jest nazwą (tytułem) nowej grupy. Możecie nazwać ją jak chcecie, ale zalecane jest dodanie vg, abyś wiedział, że jest to grupa.
Aby użyć LVM utwórzcie wolumin logiczny
Gdy dyski zostaną połączone w grupę, należy utworzyć nową partycję logiczną, aby móc z niej korzystać. W tym celu należy wpisać polecenie:
lvcreate -L 10G -n lv1 vg1
Gdzie, -L określa rozmiar, ja określiłam 10GB, polecenie -n podaje nazwę woluminu, a odwołanie do vg1 określa, z którego woluminu pobrać przestrzeń.
Jeśli na dysku znajdują się jakieś dane, system ostrzeże cię o tym, wpiszcie tak, aby potwierdzić nadpisanie ich.
Jak sformatować i zamontować wolumin logiczny?
Jest to tylko kwestia formatowania woluminu w Zarządzaniu dyskami i montowania go. Kliknijcie na niego i pociągnijcie w dół opcje zaawansowane, a następnie format, określcie nazwę i system plików - Dalej - a następnie Formatuj ponownie.
Wprowadźcie hasło root, a następnie kliknijcie przycisk montowania. Teraz jesteście gotowy do korzystania z nowej partycji.
Jeśli musicie sformatować go przez terminal, wpiszcie komendę:
mkfs -t ext4 /dev/vg1/lv1
Zobaczcie system plików Ext4, nazwę grupy i nazwę woluminu.
Aby zamontować, wpiszcie: mkdir /mnt/lv1 a następnie mount -t ext4 /dev/vg1/lv1 /mnt/lv1.
mkdir /mnt/lv1
mount -t ext4 /dev/vg1/lv1 /mnt/lv1
Wolumin jest zamontowany.
Jak zmienić rozmiar?
Jedną z zalet woluminów logicznych jest możliwość dodawania nowego dysku twardego w locie i rozszerzania grupy woluminów. A jeśli w grupie znajduje się nieużywany dysk twardy, można go z niej usunąć.
Istnieją trzy główne narzędzia do zwiększania lub zmniejszania grup logicznych, fizycznych i woluminów.
- Resize - może pomóc zmniejszyć lub rozszerzyć woluminy fizyczne i logiczne, ale nie może pomieścić grup
- Extend - rozszerza partycje logiczne lub grupy woluminów
- Reduce - może zmniejszać woluminy logiczne lub grupy woluminów.
Krok 1. Jak dodać nowy dysk twardy do grupy
Pierwszą rzeczą, którą musicie zrobić przed dodaniem do grupy, jest partycjonowanie nowego dysku twardego. W poprzednim artykule wyjaśniliśmy, jak wykonać to zadanie.
Następnie wykonajcie następujące polecenie: vgextend vg1 /dev/sde1
vgextend vg1 /dev/sde1
Gdzie vg1 jest nazwą grupy, a sde1 jest już zaznaczonym nowym dyskiem.
Krok 2. Jak wyświetlić szczegółowe informacje o LVM
Jeśli chcecie zobaczyć szczegółowe informacje o składzie grupy LVM, wpiszcie pvdisplay.
pvdisplay
Możecie tu zobaczyć ścieżkę do dysku fizycznego, nazwę grupy wirtualnej, do której należy, informacje o wolnej i używanej przestrzeni ID dysku i inne.
Krok 3. Jak usunąć wolumin logiczny
Jeśli chcecie usunąć wolumin logiczny, najpierw upewnijcie się, że jest on odmontowany (unmounted), a następnie uruchomcie lvremove, aby go odmontować, co usuwa partycję.
To polecenie usuwa grupę woluminów, ale zanim to zrobicie, musicie odmontować partycję logiczną: umount /mnt/lv1
lvremove
umount /mnt/lv1
Dalej, aby odmontować, wpiszcie polecenie: lvremove /dev/vg1/lv1, i Tak, aby potwierdzić operację.
lvremove /dev/vg1/lv1
Po pomyślnym usunięciu, zobaczycie następujący komunikat o pomyślnym usunięciu
Teraz możemy usunąć naszą grupę wpisując komendę: sudo vgremove vg1
sudo vgremove vg1
Teraz pozostaje już tylko usunąć wszystkie media, które tworzyły grupę, aby to zrobić należy wpisać polecenie: sudo pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1
sudo pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1
Wszystkie znaczniki na nośnikach fizycznych zostały pomyślnie usunięte, przyjęły one swój pierwotny wygląd.
Jak odzyskać usunięte informacje z woluminu logicznego LVM
Jeśli przypadkowo usunęłyście ważne informacje z woluminu logicznego LVM, możecie je odzyskać dzięki Hetman Partition Recovery.
Narzędzie obsługuje partycje LVM i umożliwia odzyskiwanie z nich danych. Obsługuje większość popularnych systemów plików pod Windows, Linux, Unix i MacOS. Zignoruje on błędy struktury logicznej dysku, przeskanuje dysk twardy i zwróci potrzebne pliki.
Hetman Partition Recovery nie jest obecnie dostępny w dystrybucji dla systemu Linux. Można go uruchomić za pomocą maszyny wirtualnej opartej na systemie Windows, instalując go jako drugi system na komputerze, lub podłączyć dyski do innego komputera.
Uruchomiony program, po zainicjowaniu, bez problemu wykrył wolumin logiczny i wyświetlił wszystkie znane o nim informacje.
Najpierw wykonajcie Szybkie skanowanie, kliknijcie prawym przyciskiem myszy na dysku - Otwórz - Szybkie skanowanie, po zakończeniu procesu program wyświetli informacje znajdujące się po prawej stronie okna. Usunięte pliki są oznaczone czerwonym krzyżykiem.
Jeśli Szybkie skanowanie nie znajdzie żądanych informacji, wykonajcie Pełną analizę.
Następnie zaznaczamy pliki, które chcemy przywrócić i klikamy Odzyskaj, wybieramy miejsce ich zapisania i ponownie Odzyskaj.
Po zakończeniu procesu wszystkie pliki znajdą się we wskazanym folderze.
Podsumowanie
W tym artykule próbowaliśmy pokazać, jak używać wbudowanego Zarządzania woluminami logicznymi pod Linuksem. Przeszliśmy przez wszystkie ważne kroki, aby utworzyć i skonfigurować partycję LVM, dodać i zamontować nowe dyski twarde, zmniejszyć i całkowicie usunąć. Funkcja LVM została zaprojektowana jako rozwiązanie serwerowe. Ale teraz możecie w pełni wykorzystać go nawet na domowym komputerze.
Jeśli używacie stabilnego 2.4 device mapper patch z archiwum lvm2, wszystkie podstawowe funkcje, których można oczekiwać od używania lvm1 są obsługiwane przez narzędzia lvm2.
Jeśli używacie wersji device mappera z serii 2.6 kernel.org, następujące polecenia i typy LV nie są obsługiwane:
- ruch pionowy
- migawki
Głównym powodem jest to, że "dmsetup mknodes" nie działa po restarcie do jądra z włączoną funkcją dm. Ten skrypt tworzy węzeł zarządzania dla urządzenia mapującego.
Jeśli nie macie "dmsetup mknodes", nie rozpaczajcie! (Chociaż prawdopodobnie powinieneś zaktualizować device-mapper do najnowszej wersji.) Jest dość łatwo stworzyć plik /dev/mapper/control samodzielnie:
Upewnijcie się, że macie załadowany moduł device-mapper (jeśli nie wbudowałyście go do jądra).
Uruchomcie # cat /proc/misc | grep device-mapper | awk '{print $1}' i zanotować wydrukowany numer. (Jeśli nie uzyskacie żadnego wyniku, przejdźcie do kroku 1).
Uruchomcie # mkdir /dev/mapper - Jeśli otrzymacie komunikat o błędzie, że /dev/mapper już istnieje, sprawdźcie czy jest to katalog i przejdźcie dalej.
Uruchomcie # mknod /dev/mapper/control c 10 $number gdzie $number jest liczbą wydrukowaną w kroku 2.
Zacznijcie od usunięcia wszystkich migawek LV w systemie. Nie są obsługiwane przez LVM 2 i uniemożliwiają aktywację źródła podczas uruchamiania LVM 2.
- Upewnicie się, że macie inny sposób na uruchomienie systemu niż standardowa partycja rozruchowa. Miej narzędzia LVM 1, standardowe narzędzia systemowe (montowanie) i jądro kompatybilne z LVM 1 na wypadek, gdybyście musiały wrócić i naprawić niektóre rzeczy.
- Weźcie kod źródłowy narzędzi LVM 2 oraz kod źródłowy mapera i skompiluj je. Przed kompilacją narzędzi LVM 2 należy zainstalować bibliotekę mapowania urządzeń za pomocą polecenia „make install”. Skopiujcie również skrypt dm/scripts/devmap_mknod.sh do /sbin. Na razie polecam tylko instalowanie binarnego lvm, aby mieć dostęp do narzędzi LVM 1, jeśli ich potrzebujecie. Jeśli macie dostęp do pakietów LVM 2 i device-mapper, możecie je zainstalować, ale uważajcie, że zastąpią one Twój zestaw narzędzi LVM 1.
- Uzyskajcie jądro kompatybilne z mapowaniem urządzeń, wbudowane lub jako moduł jądra.
- Dowiedzcie się, gdzie LVM 1 został aktywowany w twoich skryptach startowych. Upewnijcie się, że mapowanie urządzeń jest w tym momencie załadowane (jeśli używacie mapera urządzeń jako modułu) i dodajcie '/sbin/devmap_mknod.sh; lvm vgscan; lvm vgchange -ay' później.
- Zainstalujcie jądro z obsługą mapowania urządzeń. Przeładować. Jeśli wszystko pójdzie dobrze, powinieneście pracować z lvm2.