Dodawanie dysków do macierzy RAID 10

11

Jak rozwinąć macierz RAID10 za pomocą mdadm?

Oczywiście musiałbym dodawać 2 dyski na raz, czy może to być 4 dyski?

Mam wrażenie, że to zły pomysł.

A może po prostu mądrzej byłoby wybrać RAID5?

stuartc
źródło
Zwykle jeśli ktoś pyta mnie, czy potrzebuje RAID 10, oznacza to, że go nie potrzebuje. Dlaczego nie Raid 5 lub Raid 6?
surfasb
Miałem nadzieję na lepszą wydajność zapisu niż RAID5 .. Ale myślę, brak zasad elastyczności że się ..
stuartc
Ogólnie RAID 5/6 zapewni lepszą wydajność zapisu niż RAID 10/01. Ponieważ rozprowadzasz zapisy na wszystkie dyski, a tylko na połowę dysków.
surfasb
6
@surfasb „RAID 5/6 zapewni lepszą wydajność zapisu niż RAID 10” nie, nie zrobi tego, ponieważ dystrybucja zapisów na większej liczbie dysków jest większa niż kara za zapis RAID5 / 6
@JackDouglas: Bardzo dobra informacja.
surfasb

Odpowiedzi:

5

Ostatnim razem, gdy sprawdzałem, mdadm nie pozwoli ci - powiększ raid10. Przejrzałem teraz stronę podręcznika mdadm i nadal mówi: Obecnie obsługiwane opcje wzrostu, w tym zmiana aktywnego rozmiaru urządzeń składowych i zmiana liczby aktywnych urządzeń w poziomach RAID 1/4/5/6, zmiana poziomu RAID między 1, 5, i 6, zmieniając rozmiar i układ porcji dla RAID5 i RAID5, a także dodając lub usuwając bitmapę przeznaczoną do zapisu.

płaszczka
źródło
Dzięki! Doceniany, a także kolejna dobra wskazówka, że ​​to się nie wydarzy szybko, że nie mogę znaleźć jednej sprzętowej karty RAID, która by to
zrobiła
2
RAID5 może być boleśnie powolny przy niektórych obciążeniach. Co zamierzasz zrobić?
Stingray,
Przeważnie po prostu przechowywanie multimediów, ale także montowanie udziału NFS do edycji zdjęć, więc liczyłem na dobre prędkości zapisu i odczytu.
stuartc
16

Aby rozwijać RAID 10, potrzebujesz mdadm w wersji min. 3.3 i wersja jądra min 3.5. Potrzebujesz także parzystej liczby dysków - niesparowane mogą działać tylko jako zapasowe lub ostatecznie przekształcić się w tryb degradacji (nie testowany).

Oto przykład powiększenia RAID 10 z 4 dysków do 6 za pomocą mdadm 3.3-2ubuntu2 @ Linux 4.2.0-10-generic. Testowany z danymi ext4, system plików został odmontowany, ext4 został rozszerzony po tym, jak RAID powiększył się bez żadnego problemu.

~$ cat /proc/mdstat
md126 : active raid10 sdd1[1] sdc1[0] sdf1[3] sde1[2]
976428032 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk

~$ sudo mdadm /dev/md126 --add /dev/sdi1 /dev/sdj1
mdadm: added /dev/sdi1
mdadm: added /dev/sdj1
~$ sudo mdadm --grow /dev/md126 --raid-devices=6

~$ cat /proc/mdstat
md126 : active raid10 sdj1[5] sdi1[4] sdd1[1] sdc1[0] sdf1[3] sde1[2]
1464642048 blocks super 1.2 512K chunks 2 near-copies [6/6] [UUUUUU]
bitmap: 0/6 pages [0KB], 131072KB chunk
Cieniek
źródło
1
To powinna być obecnie akceptowana odpowiedź. Zrobiłem to sam.
Kyle
jak się właśnie dowiedziałem na własnej skórze, dotyczy to tylko raidu 10, układów near2. raid10, far2 jest nadal nie do zdobycia. patrz np. tutaj: wiki.archlinux.org/index.php/RAID#Nested_RAID_levels
gabtub
9

Zdaję sobie sprawę, że ma ponad rok, ale ktoś może uznać to za pomocne ...

Możesz rozwinąć tablicę RAID 10, ale nie tak, jak tego oczekujesz. Będziesz musiał zagnieździć wiele poziomów nalotu. Można to zrobić za pomocą mdadm na 2 dyskach w RAID 10, które całkiem niezłą wydajność zależą od układu, ale trzeba by było zrobić wiele tablic RAID 10 z 2 dyskami, a następnie dołączyć je do węzła logicznego. Następnie, aby rozwinąć, dodaj jeszcze kilka i nałóż na to paski. Jeśli taki jest twój przypadek użycia (trzeba dużo rozszerzyć), rozsądnie byłoby użyć tablicy parzystości, którą można rozwijać.

Takie są ograniczenia związane z raidem 10 przy jednoczesnym utrzymaniu lepszej wydajności odczytu / zapisu. I wyjaśnienie, rajd 5/6 absolutnie nie „Ogólnie zapewnia lepszą wydajność zapisu ...”. Raid 5/6 ma swoje zalety / wady, podobnie jak raid 10, ale wydajność zapisu nie jest zaletą dla raidu 5/6.

Ponadto nie określiłeś rozmiaru dysków, ale uważaj na raid 5 na nowych dużych dyskach. Mimo że zachowujesz ostrożność, możesz odzyskać dane po nieodwracalnym błędzie odczytu, ryzykujesz przestoje i możliwość braku możliwości odzyskania.

- edytuj, aby dodać informacje - Użyj narzędzi takich jak hdparm (hdparm -i) i lshw, aby uzyskać numery seryjne wraz z nazwą urządzenia (/ dev / sda), gdy wystąpi awaria. Zapewni to usunięcie prawidłowego urządzenia podczas wymiany. Strzałka w górę komentarza Travisa, ponieważ jest on bardzo poprawny i ma ładny układ, ale jak zwykle ważą zalety i wady każdego rozwiązania.

edong23
źródło
9

Kilka świetnych wiadomości z ogłoszenia wydania mdadm 3.3:

To ważna nowa wersja, więc nie zdziw się, jeśli pojawi się kilka problemów ...

Niektóre najważniejsze to:

...

  • Macierze RAID10 mogą być przekształcane w celu zmiany liczby urządzeń , zmiany wielkości porcji lub zmiany układu między „bliskim” a „przesunięciem”. To zawsze zmieni przesunięcie danych i zakończy się niepowodzeniem, jeśli nie będzie miejsca na przesunięcie przesunięcia danych.

...

Zgodnie z tą odpowiedzią na U&L, będziesz potrzebował przynajmniej Linuksa 3.5.

Społeczność
źródło
3
Eksperymentowałem z rosnącą liczbą raid10 przy użyciu mdadm v3.3.2 z mieszanymi wynikami. Odkryłem, że nie mogę wyhodować raid10, który stworzyłem we wcześniejszej wersji mdadm. Raid10, który został stworzony w wersji 3.3, mogłem przekształcić / rozwinąć. Więc jeśli jesteś w sytuacji, gdy chcesz wyhodować raid10 (ale nie możesz), dobrym pomysłem może być utworzenie nowego raid10 przy użyciu najnowszego mdadm.
adalle
6

Wiem, że to więcej pracy i może być mylące, ale zawsze możesz rozłożyć wiele lusterek.

Na przykład właśnie skonfigurowałem macierz RAID z 4 dyskami 10, a ta ostatnia chce dodać kolejną macierz RAID z 4 dyskami. Wystarczy użyć mdadm, aby utworzyć nową macierz RAID 10 na nowych dyskach. Możesz następnie utworzyć inną tablicę RAID 0, korzystając z dwóch istniejących urządzeń RAID. Chciałbym jednak użyć funkcji lvm do utworzenia paska, utrzymując w ten sposób konfiguracje mdadm i urządzenia / dev / md w łatwym do zrozumienia stanie. Każda z metod zadziałałaby i prawdopodobnie jest ich więcej, ale to właśnie mogłem zrobić z czubka głowy.

Travis
źródło
Świetny sposób zarządzania rosnącym zestawem danych, znacznie łatwiejszy niż większość. Podstępne jest śledzenie, które dyski uległy awarii w którym zestawie lusterek. Ale tak, świetna sugestia!
stuartc
3

Nie można wyhodować macierzy RAID10, to prawda. Ale można rozpocząć w dwa napędy (kosztem braku redundancji w tym momencie), a później, dodać dwa więcej. Użyłem tej metody, aby przełączyć się z macierzy RAID5 z czterema dyskami na RAID10 z czterema dyskami.

Zdegradowałem RAID5 i usunąłem jeden dysk z macierzy. To dało mi dwa dyski, z których można swobodnie korzystać. Następnie stworzyłem macierz RAID10 z czymś w rodzaju „mdadm --create --level 10 / dev / md0 / dev / sda1 missing / dev / sdc1 missing”. To wystarczyło, aby uruchomić tablicę.

Kiedy przeniosłem dane ze zdegradowanej macierzy RAID5 do macierzy RAID10, dodałem dwa dyski RAID5 do macierzy RAID10 i dodałem dodatkowy jako zapasowy.

Prawdopodobnie dobrym pomysłem jest, jeśli ktoś, kto jest bardziej kompetentny niż ja, może mówić o jakimkolwiek wpływie na wydajność. Ale głównym powodem mojego postu jest pokazanie, że można zacząć od RAID10 i dwóch dysków.

Uwaga: przeczytaj poniższy post na forum, który pyta i odpowiada, czy kolejność dysków w mdadm ma znaczenie .

ogień bębna
źródło