Jak przekonwertować LV lub MD RAID1 i 0 do RAID5 bez utraty danych

W tym poradniku wyjaśnię jak przekonwertować z RAID 0 lub 1 do RAID 5. Jak przekonwertować oprogramowanie RAID1(0) do RAID5 w systemie Linux na mdadm lub LVM z zachowaniem wszystkich przechowywanych informacji.

Jak przekonwertować LV lub MD RAID1 i 0 do RAID5 bez utraty danych

Odzyskiwanie danych z uszkodzonych macierzy RAID, które nie są dostępne dla komputera.

Macierze RAID0 wyróżniają się wysoką prędkością dostępu do danych i są stosowane tylko ze względu na znaczne zwiększenie prędkości odczytu/zapisu danych. Jednak ich niezawodność i odporność na błędy pozostawiają wiele do życzenia. Ponieważ w przypadku awarii co najmniej jednego nośnika – wszystkie zapisane informacje nie będą dostępne. Przywrócenie go jest niezwykle trudnym zadaniem, a dane, które będzie można uzyskać, na pewno zostaną uszkodzone. Ten typ może być tylko pozornie uważany za tablicę, ponieważ nie ma absolutnie żadnej redundancji.

Przejdź do widoku
🐧 Jak przekonwertować LV lub MD RAID1 i 0 do RAID5 bez utraty danych 🐧

🐧 Jak przekonwertować LV lub MD RAID1 i 0 do RAID5 bez utraty danych 🐧

Typ RAID1 wyróżnia się solidnością i odpornością na awarie, ponieważ wszystkie dane są mirrorowane, tworząc kompletne “lustro” na drugim nośniku. Ale prędkość odczytu/zapisu cierpi i nie może dorównać wydajności “zero” typu.

Jeśli macie dodatkowe miejsce, możecie rozszerzyć “typ 1”do poziomu 5. To z kolei zapewnia dodatkowy poziom niezawodności w stosunku do “poziomu 0”, a także znacznie większe prędkości odczytu/zapisu niż “poziom 1”. Na wyjściu otrzymujemy całkiem solidną, odporną na błędy i szybką macierz RAID5.

Parametr RAID 0 RAID 1 RAID 5
StrukturaStripingLustrowanieStriping z parzystością
Liczba dyskówMinimum 2Minimum 2Minimum 3
WydajnośćWysokaŚredniaWysoka
Wykorzystanie miejsca100%50%(n-1)/n
WytrzymałośćNiskaWysokaŚrednia
OdzyskiwanieBrakŁatweBardziej skomplikowane
ZastosowanieDla prędkościDla danych krytycznychDla równowagi między prędkością a niezawodnością

Jak przekonwertować RAID1 (mirror) do RAID5 (parity)

Mamy więc programowy md_RAID1 utworzony w systemie operacyjnym Linux. Ta macierz składa się z dwóch dysków.

Macierz poziomu 1 z dwoma dyskami

Musimy przekonwertować go do RAID5 i dodać kolejny dysk, a informacje na nim muszą pozostać na swoim miejscu. Na macierzy dyskowej znajduje się wiele plików: zdjęcia, filmy, dokumenty itd.

Pliki przechowywane na raidzie

Przed rozpoczęciem operacji konwersji zaleca się wykonanie kopii zapasowej, gdyż w wyniku nieprawidłowego wykonania poleceń może dojść do utraty ważnych informacji.

Otwórzcie terminal, aby polecenia mogły być wykonywane jako root wykonajcie polecenie:

sudo -i

i wprowadźcie hasło.

Uzyskanie praw roota

Następnie, jeśli tablica jest zamontowana, musicie ją odmontować, więc wpiszcie następującą komendę:

umount /dev/md0

lub

umount /mnt

Odmontuj nośnik

Jeśli system pisze, że cel jest zajęty, spróbujcie go wymusić:

umount -f /dev/md0

Wymuszone odmontowywanie w Linuksie

Wtedy należy zatrzymać RAID1, wykonajcie następujące polecenie:

mdadm --stop /dev/md0

(md0 lub inna nazwa, aby zobaczyć ścieżkę)

gdzie md0 jest identyfikatorem naszego RAID.

Stopping the array

Jeśli bootujecie z tego raidu, to oczywiście nie ma sposobu, aby to zatrzymać, musisz użyć jakiegoś LiveCD.

Teraz musimy nadpisać metadane starego RAID1, więc tworzymy nad nim RAID5 używając tych samych dysków, które były w RAID1, sdb i sdc wpisując następującą komendę:

mdadm --create /dev/md0 -a yes -l 5 -n 2 /dev/sdb1 /dev/sdc1

gdzie,

  • l5 jest poziomem tablicy,

  • n2 - to liczba dysków, z których się składa, a następnie określacie te dyski.

Nadpiszcie metadane z 'poziomu pierwszego' na 'poziom piąty'

Po wykonaniu polecenia, program wyświetli ostrzeżenie, że te dyski są już używane w RAID1, naciśnij Enter, aby kontynuować.

Aby sprawdzić, czy konwersja się powiodła, wpiszcie polecenie:

cat /proc/mdstat

Rebuild Process

Teraz musimy poczekać na zakończenie odbudowy RAID5, wartość procentowa wskazuje jej status.

Po zakończeniu pracy polecenie cat /proc/mdstat wyświetli następujące dane.

Array przebudowany z nowym poziomem

Później można dodać nowy dysk do macierzy i uczynić z niej pełną macierz RAID5. Nowy dysk zostanie dodany jako zapasowy. Aby go dodać wpisz następującą komendę:

mdadm --add /dev/md0 /dev/sdd1

Dodanie trzeciego dysku

Następnie należy rozszerzyć raid do trzech aktywnych dysków, używając dysku zapasowego, za pomocą tego polecenia:

mdadm --grow /dev/md0 --raid-disks=3

Sprawdźcie, co wyszło z tego z polecenia:

cat /proc/mdstat

Rozszerzenie nalotu na trzy lotniskowce.

Rajd ma teraz 3 dyski sdb, sdc, sdd i proces reshapingu został rozpoczęty.

W procentach widać jego postęp i czekamy na jego zakończenie.

Po zakończeniu sprawdźmy, czy w macierzy dyskowej nie ma błędów, wykonując następujące polecenie:

e2fsck -f /dev/md0

i rozwinąć go za pomocą następującego polecenia:

resize2fs -p /dev/md0

Sprawdzanie błędów

A na koniec należy zaktualizować plik konfiguracyjny, wykonując to polecenie:

mdadm --examine --scan >> /etc/mdadm.conf

Aktualizacja pliku konfiguracyjnego

Jeśli podczas wykonywania tych poleceń nie wystąpią żadne awarie, wszystkie dane, które znajdowały się na macierzy RAID1 zostaną przeniesione do nowej macierzy RAID5.

Zamontujcie dysk i sprawdźcie, czy wszystkie pliki są nienaruszone, a poziom 5 macierzy został zmieniony.

Wszystkie pliki nienaruszone

Jak zmienić RAID 0 (striping) na RAID5 (parzystość)

Nie ma sposobu na konwersję z RAID0 do RAID5 bez formatowania i utraty informacji. Zamiast tego istnieje szybki sposób na wykonanie konwersji za pomocą jednego polecenia.

Migracja z RAID0 do RAID5 jest możliwa tylko w przypadku użycia dwóch dysków, gdzie RAID0 jest wygodnie taki sam jak RAID5. To po prostu zmienia poziom RAID bez wpływu na informacje na dyskach.

Ta komenda konwertuje RAID0 z dwoma dyskami do RAID5 z trzema dyskami.

mdadm --grow /dev/md0 --level=5 --raid-devices=3 --add /dev/sdd --backup-file=/tmp/grow_md0.bak

Przed wykonaniem tej czynności należy odmontować dysk.

Sprawdźcie za pomocą komendy:

cat /proc/mdstat

Oczekiwanie na reshap-a

Konwersja 'zerowego' raidu na 'piąty'

Po konwersji do RAID-5, można dodać dodatkowe dyski do macierzy tak jak napisałem powyżej:

mdadm --add /dev/md0 /dev/sdc1

Dodawanie dysków do raidu

Po ponownym uruchomieniu w zarządzaniu dyskami jego nazwa zmieni się na RAID5.

Jeśli w RAID0 znajdują się więcej niż dwa dyski, należy najpierw zredukować ich liczbę, zanim będzie można przekształcić ją w RAID5.

Jak przekonwertować LVRAID1 na LVRAID5

Jeśli użyto funkcji LVM do utworzenia macierzy RAID, można przekonwertować jeden typ na drugi za pomocą następującego polecenia:

lvconvert

Postępujcie zgodnie z poleceniem

pvdisplay

aby zobaczyć informacje o grupie dysków.

Zobacz informacje o dyskach przychodzących w raidzie

Więcej szczegółów na temat tworzenia macierzy RAID MD i LV można znaleźć w jednym z poprzednich filmów.

Przejdź do widoku
🐧 Jak odzyskać dane usunięte z partycji dysku LVM w systemie Linux 🐧

🐧 Jak odzyskać dane usunięte z partycji dysku LVM w systemie Linux 🐧

Tak więc, aby rozpocząć konwersję, trzeba odmontować wolumin logiczny. Wpiszcie polecenie:

umount /dev/vg1/lv1

Należy przekonwertować poziom RAID wpisując następujące polecenie:

lvconvert --type raid5 /dev/vg1/lv1

Teraz pozostaje tylko dodać trzeci dysk do istniejącej grupy dysków, wykonując polecenie:

vgextend vg1 /dev/sdd1

Po wykonaniu tego polecenia zostaniecie poproszone o potwierdzenie, że dysk jest już podzielony na partycje, więc wpiszcie yes, aby potwierdzić i naciśnijcie enter.

Jeśli chcecie wiedzieć, czy dysk został dodany do grupy, możecie to zrobić uruchamiając

pvdisplay

Jak widać w grupie znajdują się 3 dyski.

Dodanie nowego dysku do grupy

Zamontujcie nasz dysk ponownie i otwórzcie go w menadżerze plików, jak widać wszystkie dane nadal tam są.

Wszystkie informacje zapisane

Jak przekonwertować LVRAID0 na LVRAID5

To samo polecenie jest używane do konwersji RAID0 do RAID5. Jedyną rzeczą, którą należy zrobić przed wykonaniem konwersji, jest dodanie trzeciego dysku do grupy, w przeciwnym razie system poinformuje, że nie ma wystarczającej ilości miejsca do wykonania polecenia.

Dodajcie trzeci dysk:

Aby rozwiązać poziom RAID, wprowadź następujące polecenie:

lvconvert --type raid5 /dev/vg1/lv1

Montujemy naszą tablicę i sprawdzamy co na niej zostało. Jak widać, wszystkie pliki są na miejscu.

Wszystkie informacje pozostały nienaruszone

Jak odzyskać dane z uszkodzonych macierzy RAID

Jeśli wystąpi awaria podczas konwersji z jednego poziomu RAID na inny, lub jeśli przypadkowo nadpisać informacje, można użyć oprogramowania do odzyskiwania danych, Hetman RAID Recovery. To narzędzie wyodrębnia z systemu wszystkie informacje o kontrolerze, płycie głównej lub oprogramowaniu, na którym została utworzona macierz dyskowa.

Odzyskiwanie danych z uszkodzonych macierzy RAID, które nie są dostępne dla komputera.
Program bez problemu zidentyfikował tablicę

Odtworzy on zniszczony RAID i pozwoli na skopiowanie z niego utraconych informacji.

Program znalazł wszystkie usunięte dane i można je odzyskać

Więcej szczegółów na temat odzyskiwania RAID MD LV można zobaczyć w jednym z poprzednich filmów, zostawię link w opisie.

Przejdź do widoku
🐧 Jak odzyskać dane z LVM RAID 5, 0 lub 1 w systemie Linux (Ext4) 🐧

🐧 Jak odzyskać dane z LVM RAID 5, 0 lub 1 w systemie Linux (Ext4) 🐧

Podsumowanie

Modyfikacja z jednego typu RAID na inny wymaga tylko kilku kroków. Najpierw musicie przekonwertować tablicę na typ średni, a następnie ponownie na typ, który chcecie. Na przykład, aby przekonwertować z "pierwszego" typu do "szóstego" musielibyście najpierw przekonwertować go do "piątego" poziomu i dopiero potem możecie go przekonwertować do szóstego poziomu

Oksana Volyniuk

Autor: , Pisarz techniczny

Oksana Volyniuk jest autorem pracującym w Hetman Software. Ma prawie trzyletnie doświadczenie w zakresie technologii IT, a wcześniej pracowała jako HR menedżer w IT kompanii. Oksana kocha technologię i jest zapalona tworzeniem każdego aktykułu, który może pomóć ludziom.

Michał Mirosznyczenko

Redaktor: , Pisarz techniczny

Michał Mirosznyczenko jest jednym z czołowych programistów firmy Hetman Software. Bazując na piętnastoletnim doświadczeniu w tworzeniu oprogramowania, dzieli się swoją wiedzą z czytelnikami naszego bloga. Oprócz programowania Michał jest ekspertem w dziedzinie odzyskiwania danych, systemów plików, urządzeń do przechowywania danych i macierzy RAID.

Rekomendujemy

Witamy w asystencie Hetman Software opartym na sztucznej inteligencji.
Rozpocznij czat