mdadm
nie obsługuje powiększania tablicy z poziomu 1 na poziom 10.
Mam dwa dyski w macierzy RAID 1. Chcę dodać dwa nowe dyski i przekonwertować macierz na czterodyskową macierz RAID 10.
Moja obecna strategia:
- Zrób dobrą kopię zapasową.
- Utwórz zdegradowaną macierz RAID 10 z 4 dyskami i dwoma brakującymi dyskami.
rsync
the RAID 1 array with the RAID 10 array.
jeden dysk z macierzy RAID 1.fail
and remove- Dodaj dostępny dysk do macierzy RAID 10 i poczekaj na zakończenie resynchronizacji.
- Zniszcz macierz RAID 1 i dodaj ostatni dysk do macierzy RAID 10.
Problemem jest brak redundancji w kroku 5.
Czy jest lepszy sposób?
linux
software-raid
mdadm
Hans Malherbe
źródło
źródło
Odpowiedzi:
Z Linuksem Softraid możesz stworzyć macierz RAID 10 za pomocą tylko dwóch dysków.
Nazwy urządzeń użyte poniżej:
md0
to stara tablica typu / poziomu RAID1.md1
to nowa tablica typu / poziomu RAID10.sda1
isdb2
są nowe , puste partycje (bez danych).sda2
isdc1
są starymi partycjami (z kluczowymi danymi).Zamień nazwy, aby pasowały do Twojego przypadku użycia. Użyj np.,
lsblk
Aby wyświetlić bieżący układ.0) Backup, Backup, Backup, Backup oh i BACKUP
1) Utwórz nową tablicę (4 urządzenia: 2 istniejące, 2 brakujące):
Zauważ, że w tym przykładzie układ
sda1
ma brakujący odpowiednik isdb2
ma inny brakujący odpowiednik. Twoje danemd1
nie są w tym momencie bezpieczne (w rzeczywistości jest to RAID0, dopóki nie dodasz brakujących członków).Aby wyświetlić układ i inne szczegóły utworzonej tablicy, użyj:
Uwaga! Powinieneś zapisać układ tablicy:
2) Sformatuj i zamontuj.
/dev/md1
Powinny być natychmiast użyteczny, ale muszą być sformatowane i następnie montowane.3) Skopiuj pliki. Użyj np. Rsync, aby skopiować dane ze starej macierzy RAID 1 na nową macierz RAID 10. (jest to tylko przykładowa komenda, przeczytaj strony podręcznika dla rsync)
4) Niepowodzenie 1. części starej macierzy RAID1 (md0) i dodanie jej do nowej macierzy RAID10 (md1)
Uwaga! Spowoduje to usunięcie danych z
sda2
.md0
Nadal powinien być użyteczny, ale tylko wtedy, gdy inny członek nalot był w pełni sprawny.Pamiętaj też, że rozpocznie się proces synchronizacji / odzyskiwania
md1
. Aby sprawdzić status, użyj jednego z poniższych poleceń:Poczekaj na zakończenie odzyskiwania.
5) Zainstaluj GRUB na nowej macierzy (zakładając, że uruchamiasz się z niego). Niektóre dyski CD ratunkowe / rozruchowe systemu Linux działają najlepiej.
6) Uruchom nową tablicę. JEŚLI DZIAŁA PRAWIDŁOWO Zniszcz starą tablicę i dodaj pozostały dysk do nowej.
PUNKT BEZ POWROTU
W tym momencie zniszczysz dane ostatniego członka starej tablicy md0. Bądź absolutnie pewien, że wszystko działa.
I jeszcze raz - poczekaj, aż
md1
zakończy się odzyskiwanie .7) Zaktualizuj konfigurację mdadm
Pamiętaj o aktualizacji
/etc/mdadm/mdadm.conf
(usuń md0).I zapisz config w initramfs (aby był dostępny po ponownym uruchomieniu)
źródło
Postępuj zgodnie z tą samą procedurą, co Mark Turner, ale kiedy tworzysz tablicę RAID, wspomnij o 2 brakujących dyskach
Następnie przejdź do innych kroków.
Krótko mówiąc, utwórz RAID10 z 4 dyskami (z których brakuje 2), zsynchronizuj, dodaj kolejne dwa dyski.
źródło
Właśnie skończyłem przechodzenie z LVM na dwóch dyskach 2 TB mdadm RAID 1 do LVM na czterech dyskach RAID 10 (dwa oryginalne + dwa nowe dyski).
Jak zauważył @aditsu, kolejność napędów jest ważna podczas tworzenia macierzy.
Powyższy kod daje użyteczną tablicę z dwoma brakującymi dyskami (dodaj numery partycji, jeśli nie używasz całych dysków). Po dodaniu trzeciego dysku rozpocznie się synchronizacja. Dodałem czwarty dysk, zanim trzeci zakończył synchronizację. Pokazał się jako zapasowy, dopóki trzeci dysk się nie skończył, a następnie zaczął synchronizować.
Kroki w mojej sytuacji:
Zrób dobrą kopię zapasową.
Utwórz zdegradowaną macierz RAID 10 z czterema dyskami z dwoma brakującymi dyskami (nazwiemy brakujące dyski nr 2 i 4).
Powiedz żonie, aby nie zmieniała / nie dodawała żadnych plików, na których jej zależy
Awaria i usunięcie jednego dysku z macierzy RAID 1 (dysk 4).
Przenieś fizyczne zakresy z macierzy RAID 1 do macierzy RAID 10, pozostawiając dysk 2 pusty.
Zabij aktywną macierz RAID 1, dodaj teraz pusty dysk (dysk 2) do macierzy RAID 10 i poczekaj na zakończenie ponownej synchronizacji.
Dodaj pierwszy dysk usunięty z RAID 1 (dysk 4) do macierzy RAID 10.
Daj żonie naprzód.
W kroku 7 myślę, że dysk 1, 2, OR 4 może zawieść (podczas resynchronizacji dysku 4) bez zabijania tablicy. Jeśli dysk 3 ulegnie awarii, dane w tablicy są wznoszone.
źródło
Przeniosłem teraz mój raid1 na raid10 i chociaż ta strona pomogła mi, ale w powyższych odpowiedziach brakuje kilku rzeczy. Szczególnie moim celem było dotrzymywanie 4 godzin porodowych.
konfiguracja była:
jak ktoś wcześniej powiedział: krok zerowy powinien stanowić kopię zapasową, a proces może zawsze pójść źle, powodując ekstremalną utratę danych
UTWORZYĆ KOPIĘ ZAPASOWĄ
konfiguracja nowego nalotu
stwórz nowy nalot
(odkryłem, że układ jest ważny .. 2. i 4. wydają się być duplikatami w domyślnym nalocie „near”)
migrować
teraz otrzymuję dane ... najpierw próbowałem użyć rsync, który działał, ale nie udało mi się zachować porodu ... użyj dd, aby sklonować stary raid na nowy
CZEKAJ NA TO
możesz sprawdzić wysyłając USR1 do tego procesu
napraw raid
gparted to świetne narzędzie: każesz sprawdzić i naprawić partycję i zmienić rozmiar do pełnego rozmiaru tego dysku za pomocą kilku kliknięć myszką;)
ustaw nowy identyfikator UUID na tej partycji i zaktualizuj go za pomocą fstab (zmień identyfikator UUID)
przechowuj swój nalot w konf
i usuń stary
niszczenie starego
oblać pierwszego i dodać do nowego nalotu
następnie zrób gpt na tym urządzeniu i ustaw nową pustą partycję
CZEKAJ NA TO
możesz sprawdzić
zatrzymaj drugi
następnie zrób gpt na tym ostatnim urządzeniu i ponownie ustaw nową pustą partycję
CZEKAJ NA TO ponownie
źródło
Zrobiłem to z LVM. Początkowa konfiguracja: - sda2, sdb2 - i utworzono raid1 md1 na górze. sda1 i sdb1 zostały użyte do drugiego raid1 dla partycji / boot. - md1 był pv w przestrzeni grup woluminów, z niektórymi lvm na nim.
Dodałem dyski sdc i sdd i utworzyłem tam partycje jak na sda / sdb.
Więc:
utworzył md10 jako:
mdadm --create / dev / md10 --level raid10 --raid-devices = 4 / dev / sdc2 missing / dev / sdd2
rozszerz vg na to:
pvcreate / dev / md10 vgextend space / dev / md10
przeniesiono woluminy z md1 na md10:
pvmove -v / dev / md1 / dev / md10
(poczekaj na zakończenie) 4. zmniejsz grupę woluminów:
zatrzymaj tablicę md1:
mdadm -S / dev / md1
dodaj dyski ze starego md1 do md10:
mdadm -a / dev / md10 / dev / sda2 / dev / sdb2
zaktualizuj konfigurację w /etc/mdadm/mdadm.conf:
mdadm -E --scan >> / dev / mdadm / mdadm.conf
(i usuń tam stary md1)
Wszystko odbywa się w systemie na żywo, z aktywnymi woluminami używanymi dla KVM;)
źródło