Jak utworzyć macierz RAID 5 z LVM i odzyskać dane po uszkodzeniu
W tym poradniku pokażemy jak stworzyć programowo zdefiniowany LVM RAID w Linuksie. Przedstawimy również proste rozwiązanie, które pozwala odzyskać utracone informacje z LV RAID5 po przypadkowym usunięciu lub niespodziewanej awarii dysku.
- Wstęp
- Jak partycjonować dyski i utworzyć wirtualną grupę dla LV RAID
- Jak utworzyć programową macierz LVM RAID 5
- Jak sprawdzić status LVM RAID
- Jak odzyskać utracone dane z macierzy LVM
- Jak odzyskać utracone dane z LV RAID, jeśli dwa dyski nie działają
- Podsumowanie
- Pytania i odpowiedzi
- Komentarze
Wstęp
LVM RAID to metoda tworzenia woluminu logicznego (LV), która wykorzystuje wiele dysków fizycznych w celu poprawy wydajności lub odporności na błędy macierzy. W LVM dyski fizyczne (PV) składają się na pojedynczą grupę woluminów (VG).
Cecha | Opis |
---|---|
Nazwa | Linux Logical Volume Manager (LVM) |
Cel | Zarządzanie przestrzenią dyskową na dyskach twardych i macierzach |
Główne komponenty | Physical Volumes (PV), Volume Groups (VG), Logical Volumes (LV) |
Elastyczność | Umożliwia łatwą zmianę rozmiaru woluminów i łączenie przestrzeni |
Zmiana rozmiaru woluminów | Obsługuje zarówno powiększanie, jak i zmniejszanie woluminów |
Mirroring i dystrybucja | Możliwość mirroringu woluminów i dystrybucji danych na kilku dyskach |
Snapshoty | Wsparcie dla tworzenia zrzutów dla kopii zapasowej lub przywracania |
Integracja z RAID | Może integrować się z RAID dla dodatkowej ochrony danych |
Zalety | Elastyczne zarządzanie, powiększanie lub zmniejszanie woluminów bez ponownego uruchamiania |
Wady | Skupiona konfiguracja, ryzyko utraty danych bez kopii zapasowej |
Systemy przechowywania | Może być używany na lokalnych dyskach oraz w sieciach |
Komendy do zarządzania | pvcreate, vgcreate, lvcreate, lvextend, lvreduce |
Obsługiwane systemy operacyjne | Linux |
Rodzaje woluminów | Woluminy liniowe, woluminy lustrzane, woluminy rozproszone |
Wciąż bardziej solidne jest użycie MD RAID, ale jeśli trzeba migrować z konwencjonalnych dysków do RAID bez odmontowywania systemów plików, ta metoda budowy jest odpowiednia.
Umieszczenie bloków danych woluminów logicznych na dyskach fizycznych jest określone przez typ RAID. Aby zapoznać się z poziomami RAID, obejrzyjcie poniższe wideo.
Struktura LVM RAID wykorzystuje sterowniki Device Mapper (DM) i Multiple Device (MD) z jądra systemu Linux.
DM jest używany do tworzenia i zarządzania widocznymi urządzeniami LVM, a MD jest używany do hostowania danych na urządzeniach fizycznych.
LVM tworzy ukryte woluminy logiczne (urządzenia DM), które znajdują się pomiędzy widocznymi partycjami (LV) i urządzeniami fizycznymi.
Teraz pokażę Wam, jak utworzyć RAID5 z 5 dysków twardych w jednej wirtualnej grupie woluminów logicznych.
Jak partycjonować dyski i utworzyć wirtualną grupę dla LV RAID
Aby utworzyć LV RAID użyjcie lvcreate.
lvcreate
Jeśli nie macie jeszcze zainstalowanego Logical Volume Manager (LVM) na swoim komputerze, będziecie musiały najpierw uruchomić instalację. Proces ten jest szczegółowo opisany w poniższym filmiku.
Zainstalujcie menedżera poprzez uruchomienie narzędzia wiersza poleceń odpowiedzialnego za komunikację z systemem zarządzania pakietami. Wpiszcie to polecenie w oknie dialogowym: sudo apt install lvm2.
sudo apt install lvm2
Wykonajcie wszystkie czynności jako superużytkownik. Aby to zrobić, wpiszcie polecenie sudo -i. Zlikwiduje to konieczność ciągłego wpisywania hasła.
sudo -i
Następnie podzielcie dyski na partycje za pomocą narzędzia dyskowego lub terminala. Wystarczy wybrać żądany typ systemu plików i rozpocząć proces formatowania dysków.
W terminalu użyjcie specjalnego polecenia systemowego fdisk /dev/sdb.
fdisk /dev/sdb
Przed rozpoczęciem formatowania należy upewnić się, że dysk został poprawnie sformatowany, ponieważ po zakończeniu formatowania wszystkie dane na określonym nośniku zostaną usunięte (system nadpisze istniejące dane).
Określcie opcje formatowania, wpisując krok po kroku następujące atrybuty:
- n - tworzy nową partycję,
- p - ustawia partycję na main,
- 1 - przypisuje numer.
Proszę dwukrotnie nacisnąć Enter na klawiaturze, uzgadniając wartość pierwszego i ostatniego sektora.
Teraz skonfigurujmy ustawienia LVM. Zastosujcie następujące atrybuty, każdy w swoim wierszu:
- t - uruchamia proces zmiany nowego typu partycji,
- 8e - ustawia wartość LVM.
Upewnijcie się, że nowa partycja ma właściwy typ. W wierszu poleceń należy wpisać atrybut "p". Wasz system przetworzy zapytanie i przedstawi Wam tabelaryczne podsumowanie. Urządzenie jest oznaczone jako "sdb1" z "Linux LVM" typem systemu. Następnie użyjcie atrybutu "w", aby zapisać zmiany. Powtórzcie opisaną procedurę dla wszystkich pozostałych niezałatanych nośników i podzielcie je na partycje.
Następnym krokiem jest utworzenie woluminu fizycznego na nowej partycji. Wprowadźcie polecenie "pvcreate /dev/sdb1".
pvcreate /dev/sdb1
Powtórzcie polecenie dla każdego dysku, zastępując wartość "sdb1" innymi nazwami dysków ("sdc1", "sdd1", "sde1", "sdf1").
Następnie zbierzcie wszystkie media w jedną grupę. Wpiszcie "vgcreate" w znaku zachęty, wymieniając dyski, które chcecie utworzyć. W tym przykładzie komenda wyglądałaby następująco "vgcreate vg1 /dev/sdb1 dev/sdc1 dev/sdd1 dev/sde1 dev/sdf1". Atrybut "vg1" jest nazwą nowej grupy woluminów.
vgcreate vg1 /dev/sdb1 dev/sdc1 dev/sdd1 dev/sde1 dev/sdf1
Jak utworzyć programową macierz LVM RAID 5
Proces tworzenia programowej macierzy RAID 5 wymaga wykonania prostego polecenia w terminalu w następującym formacie:
lvcreate -n lvr5 --type raid5 -L 10G -i 4 vg1
W naszym przykładzie, w poleceniu reprezentowane są następujące atrybuty:
- -n - przypisuje nazwę do czegoś.
- --type raid5 ustawia typ macierzy.
- -L-ustala wielkość limitu dla woluminu logicznego (tutaj skonfigurowany na 10GB).
- -i - określa liczbę urządzeń, które będą wykorzystywane do przechowywania danych użytkownika. Nie obejmuje to dodatkowego urządzenia do przechowywania bloków parzystości. Liczba ta musi być większa lub równa 2, ponieważ minimalna liczba dysków dla tego typu wynosi trzy.
- vg1 - mówi systemowi, skąd ma wziąć odpowiednią ilość miejsca na dysku (określając konkretny wolumin lub całą grupę).
Po pomyślnym wykonaniu polecenia, proces odbudowy RAID 5 w grupie wirtualnej LVM jest zakończony. Pozostaje tylko sformatować macierz i zamontować ją. Wybrać format ext4 dla RAID 5. Wpiszcie polecenie:
mkfs -t ext4 /dev/vg1/lvr5
Polecenie zawiera informacje o wybranym przez nas systemie plików "ext4", nazwie grupy "vg1", nazwie woluminu "lvr5".
Teraz zamontujmy ukończoną tablicę. Piszemy więc "mkdir /mnt/lvr5" a następnie "mount -t ext4 /dev/vg1/lvr5 /mnt/lvr5".
mkdir /mnt/lvr5
mount -t ext4 /dev/vg1/lvr5 /mnt/lvr5
Po wykonaniu poleceń, wybrany wolumin zostanie zamontowany.
Jak sprawdzić status LVM RAID
Aby sprawdzić status LVM RAID, wykonajcie następujące polecenie:
lvs -a -o name,copy_percent,devices vg1
Na ekranie wyświetlane są informacje, których szukacie, w tym informacje o urządzeniach i grupach, których to dotyczy.
Jak odzyskać utracone dane z macierzy LVM
Jeśli ważne dane zostały utracone i trzeba je odzyskać, istnieje oprogramowanie do odzyskiwania danych dostępne w Hetman Software. Wybierzcie Hetman RAID Recovery z narzędzi poniżej.
To rozwiązanie programowe obsługuje odzyskiwanie utraconych plików z prawie wszystkich znanych lokalizacji RAID. Odzyskanie utraconych danych jest łatwe, działa szybko i nie wymaga żadnych specjalnych umiejętności ani dodatkowej wiedzy. Niestety, nie ma możliwości zainstalowania tego oprogramowania na systemie Linux. Potrafi jednak wykryć wszystkie główne systemy plików używane w systemach Linux, Unix, MacOS i Windows. Może również znaleźć i naprawić różne błędy logiczne oprogramowania, więc może odzyskać maksymalną liczbę utraconych plików użytkownika.
Jeśli krytycznie potrzebujecie użyć Hetman RAID Recovery na Linuksie, możecie to zrobić na jeden z trzech sposobów. Włączcie maszynę wirtualną, opcjonalnie zainstalujcie system Windows lub podłączcie problematyczny nośnik do komputera, na którym Windows jest już podstawowym systemem operacyjnym.
Po uruchomieniu, oprogramowanie automatycznie wykrywa ustawienia LVM RAID i wyświetla wszystkie znane informacje o RAID.
Aby uzyskać więcej informacji, kliknijcie prawym przyciskiem myszy na nośniku i wybierzcie element z wyświetlonego menu podręcznego «Właściwości». Albo nacisnijcie Alt + Enter.
Na karcie RAID w oknie podręcznym Właściwości można uzyskać różne informacje na temat macierzy. Na przykład można zobaczyć dyski w macierzy oraz ich numer seryjny, rozmiar i kolejność bloków. Informacje te będą pomocne podczas ręcznego tworzenia RAID w RAID builderze. Dlatego przy tworzeniu RAID należy pamiętać o wszystkich jego parametrach.
Aby odzyskać swoje dane, najpierw wykonajcie szybkie sprawdzenie. Kliknijcie prawym przyciskiem myszy ikonę dysku graficznego, a następnie kliknijcie "Otwórz".
W nowym oknie Kreatora odzyskiwania, wybierzcie sekcję "Szybkie skanowanie". Następnie kliknijcie przycisk "Dalej".
Oprogramowanie przeanalizuje nośnik, wykryje utracone dane i pokaże Wam usunięte pliki, opcjonalnie zaznaczając je czerwonym krzyżykiem.
Jeśli nie można znaleźć plików, których szukacie w trybie szybkiego skanowania, wybierzcie opcję Pełna analiza.
Następnie zaznaczcie elementy, które chcecie odzyskać. Kliknijcie przycisk "Odzyskaj".
Wskażcie ostateczną lokalizację, w której mają być zapisane gotowe pliki. Kliknijcie ponownie przycisk Odzyskaj.
Pliki zaznaczone w poprzednim kroku zostaną odzyskane i umieszczone w określonym repozytorium.
Jak odzyskać utracone dane z LV RAID, jeśli dwa dyski nie działają
Nawet przy dwóch uszkodzonych dyskach, Hetman RAID Recovery był w stanie zidentyfikować typ RAID i zgłosić wszystkie informacje o macierzy.
Po wykonaniu szybkiego skanowania tablicy, wszystkie wykryte elementy prezentowane są w osobnym oknie. Jednak większość z nich jest uszkodzona.
Po pełnej analizie nośnika, kreator odzyskiwania programu wyświetlił więcej uszkodzonych plików.
Wybierzcie żądane elementy, a następnie kliknijcie przycisk "Przywróć".
Teraz ustawcie, gdzie zapisać pliki, a następnie kliknijcie "Odzyskać" ponownie.
Wszystkie zaznaczone pliki zostaną natychmiast zapisane zgodnie z ustawionymi przez Was parametrami.
Jeśli oprogramowanie nie jest w stanie automatycznie wykryć RAID, proszę użyć wbudowanego narzędzia do budowania RAID.
Aby móc z niej skorzystać, należy znać wszystkie informacje o macierzy, które można znaleźć w oknie właściwości RAID.
Podsumowanie
LVM jest jedną z wielu technologii Linuksa, która pozwala na dużą elastyczność w zarządzaniu przestrzenią dyskową. W połączeniu z RAID, dobrze chroni dane przed ewentualną utratą, a także zapewnia łatwy sposób przechowywania, zarządzania i udostępniania plików użytkownika w repozytorium.
Może to być spowodowane następującymi czynnikami:
- dodatkowe zużycie przestrzeni narzucone przez parzystość;
- używanie MBR zamiast GPT do tworzenia partycji na RAID. MBR pozwala tylko na woluminy mniejsze niż 2TB.
Istnieją dwa rodzaje awarii macierzy RAID:
- jeden z dysków członkowskich wypadł z macierzy.
- dysk jest częściowo sprawny (np. operacje odczytu są normalne, ale operacje zapisu nie).
W obu przypadkach otrzymacie w końcu komunikat ostrzegawczy, że jeden z dysków członkowskich uległ awarii. RAID nadal będzie kontynuował zapis i odczyt danych, ponieważ RAID 5 jest macierzą redundantną. Znacznie spada jednak wydajność operacji odczytu.