Dostępnych jest kilka informacji na temat zmian kształtu w macierzach RAID, ale jestem trochę zdenerwowany i chciałbym potwierdzić:
Problem: Mam dysk 2 500 GB jako oprogramowanie raid 5 (mdadm). Chciałbym uwolnić jeden z dwóch dysków, ponieważ nadmiarowość RAID jest przeznaczona dla wimps ... Czy mogę po prostu
mdadm --grow --array-size=1
a następnie
mdadm --grow --raid-disks 1
?
To wydaje się zbyt proste. Jak określić, który dysk zostanie zwolniony? Jednym z powodów tego manewru jest to, że nie mam dodatkowej przestrzeni do uruchomienia kopii zapasowej.
Edycja: W tej chwili jest to implementacja RAID5 w innym standardzie (patrz komentarze Dave'a M lub gmana). Proszę jednak nie karcić mnie za lekkomyślność. Interesuje mnie po prostu najmniej ryzykowna metoda usuwania tego dysku. Załóżmy, że zająłem się problemem tworzenia kopii zapasowej, ale nie zamierzam jej używać do odbudowywania z kopii zapasowej.
$ sudo mdadm --detail --test /dev/md1
/dev/md1:
Version : 00.90
Creation Time : Sat Sep 1 18:08:21 2007
Raid Level : raid5
Array Size : 488383936 (465.76 GiB 500.11 GB)
Used Dev Size : 488383936 (465.76 GiB 500.11 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Persistence : Superblock is persistent
Update Time : Mon Nov 28 11:32:13 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : XXX (local to host XXX)
Events : 0.29336
Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 17 1 active sync /dev/sdb1
Odpowiedzi:
W przypadku mdadm macierz RAID 5 z dwoma dyskami jest binarnie identyczna z macierzą RAID1, a nie RAID 0 i nie ma magicznego, niewidocznego urządzenia. Możesz powiedzieć, ponieważ tablica ma taki sam rozmiar jak każdy z dwóch składników, a nie ich suma:
Możesz to potwierdzić, wykonując:
Md5 jest taki sam dla każdego, ponieważ dyski są redundantne. Ponieważ jest to to samo, co RAID, po jego zatrzymaniu możemy albo utworzyć RAID1 na tych samych urządzeniach i mieć te same dane:
Lub zrób RAID1 za pomocą tylko jednego urządzenia, uwalniając drugie:
Następnie wyczyść superblok na usuniętym:
Ponieważ jest to superblok mdadm w wersji 0.90, każdy dysk powinien również nadawać się do samodzielnego użytku. Ponieważ 1.1 i 1.2 umieszczają metadane blisko początku na tablicy, nie będzie działać w tych wersjach.
źródło
Zdaję sobie sprawę, że na to pytanie udzielono odpowiedzi kilka lat temu, ale ostatnio rozwiązałem podobny problem i myślę, że mogę dodać trochę jasności zarówno do pytania, jak i odpowiedzi Raya M ...
Podobny dwudyskowy RAID5 z systemem Superblock w wersji 1.2 jest, jak powiedział Ray M, binarnie identyczny z RAID1. Jednak w przeciwieństwie do tych z v0.9, tablice z metadanymi 1.x mogą pozostawić lukę między początkiem urządzenia a początkiem danych tablicy. Aby więc zweryfikować równoważność dwóch urządzeń, najpierw określ przesunięcie danych dla każdego elementu:
Powinieneś zobaczyć taki wiersz dla każdego urządzenia (domyślnie taki sam dla obu):
Tutaj zaczynają się dane urządzenia. Zaczynając tutaj, skopiuj niektóre dane:
Sumy md5 powinny być równe:
Ponieważ dyski są w rzeczywistości lustrzanymi odbiciami, możesz albo zawieść i usunąć jeden dysk, pozostawiając tablicę zdegradowaną:
Lub zacznij od nowa z macierzą RAID1 na jednym dysku:
Zauważ, że pomimo dwuwymiarowego binarnego odpowiednika RAID5 do RAID1, nie możesz po prostu:
z dwudyskowym RAID5.
źródło