Przede wszystkim chciałbym powiedzieć, że jestem nowy w zarządzaniu macierzami RAID w Linuksie, więc moje pytania są prawdopodobnie bardzo proste, ale nie mogę znaleźć mojego dokładnego scenariusza w Internecie.
Mam system RAID1 z 2 dyskami twardymi i wszystkie partycje są instalowane na macierzy RAID, w tym na partycji / boot.
Dzisiaj mdadm
ostrzegł mnie, że tablica została zdegradowana (prawdopodobnie jeden z dysków twardych się nie powiódł), a tablica została automatycznie przekształcona w stan awaryjny, gdy sprawdziłem, co następuje:
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[0]
204736 blocks super 1.0 [2/1] [U_]
md2 : active raid1 sdb2[0]
151858048 blocks super 1.1 [2/1] [U_]
bitmap: 2/2 pages [8KB], 65536KB chunk
md1 : active raid1 sdb3[0]
4092864 blocks super 1.1 [2/1] [U_]
Następnie przystąpiłem do wyłączenia serwera, wymiany uszkodzonego napędu i próby uruchomienia z pozostałego dysku, ale teraz witam następujący komunikat po tym, jak GRUB próbuje uruchomić jądro:
Error 17: Cannot mount selected partition.
Czy ktoś wie, dokąd się udam, aby uruchomić system z dysku roboczego? Zasadniczo nie mam wiedzy o GRUB-u i kilka razy próbowałem czytać dokumentację, ale jest to dla mnie zbyt skomplikowane i bardzo się spieszę, ponieważ mam w rękach wyłączony serwer. Każda pomoc będzie doceniona.
Odpowiedzi na moje własne pytanie dwa lata później ...
Skończyło się na tym, że wyeksportowałem wszystko z tego serwera i sformatowałem, ale ostatnio znowu stanąłem przed problemem i postanowiłem zająć się tym problemem.
Wszystko, co tu wymieniam, jest zrobione z:
ml
jądro zELRepo
.raid1
podczas instalacji systemu operacyjnego ( tak jak ) i wszystko partycje zostały zamontowane na szczycie nalotu1 (/boot
,/
iswap
). LVM lub nie wydaje się mieć wpływ na ten temat.GRUB2
zamiast dziedzictwaGRUB
, duże rozróżnienie, ponieważ większość dokumentacji online znajduje się w wersji 1.EFI
przegroda. Z tego, co odkryłem, EFI nie działa na macie RAID, tak duża uwaga tutaj, ponieważ poniższa procedura nie zadziała poprawnie, jeśli masz EFI.Stało się dla mnie jasne, że problem polegał na tym, że CentOS instalował tylko bootloader (GRUB2) w pierwszym fizycznym urządzeniu. Podobno używa malutkiego
MSDOS
partycja (czy partycja to poprawna terminologia? Może "flaga"?), która nie może działać na macie RAID. Z tego powodu nawet po prostu wymiana dysków powoduje, że system nie może się uruchomić, mimo że dysk dodatkowy ma pełną kopię systemu, nie ma on bootloadera.Teraz, aby odkryć rozwiązanie, które, mam nadzieję, jest wystarczająco proste: skopiuj program ładujący z dysku głównego na dysk dodatkowy.
Nie wiedziałem, jak postępować, ponieważ nie wiedziałem dokładnie, jak bootloader wywołuje urządzenia. Może po prostu dublowanie bootloadera od pierwszego spowoduje konflikty, więc było możliwe, że musiałem odwrócić te wpisy, żeby wiedziało, które urządzenie faktycznie jest.
Odkrywając to, znalazłem rozwiązanie, którego można użyć
dd
skopiować bootloader na drugi dysk. Znalazłem wpis od użytkownika mówiącego, że zawsze to robił i zawsze działał, ale dla mnie z jakiegokolwiek powodu nie.Próbując lepiej zrozumieć, jak działa GRUB2, odkryłem, że zawiera on narzędzie "install", które z łatwością dodaje bootloader do pożądanego urządzenia, i voila to było dokładnie to, czego potrzebowałem! Wszystko, co musiałem zrobić, to:
Następnie po wymianie dysków system nadal uruchamiał się zgodnie z oczekiwaniami! Połowa misji ukończona.
Następnie po potwierdzeniu, że oba urządzenia mogą się uruchomić, po prostu musiałem usunąć uszkodzony dysk (teraz 'sdb') z tablicy (dokumentacja tego można znaleźć w Internecie, oznacza to oznaczenie urządzenia jako nieudane, a następnie usunięcie go z tablicy) i zamieniając go na nowy dysk, a na końcu dodając go z powrotem do tablicy mdadm i mam nadzieję, że powinien on rozpocząć automatyczną synchronizację (możesz śledzić postępy z
watch cat /proc/mdstat
).Nie zapomnij też biegać
grub2-install
ponownie na nowym urządzeniu po zakończeniu.Mam nadzieję, że może to pomóc komuś innemu w obliczu tego samego problemu.
Jeśli masz partycję EFI, prawdopodobnie będziesz musiał znaleźć sposób na skopiowanie jej na początek urządzenia dodatkowego (
dd
powinien wykonać to zadanie, chociaż nie mam pojęcia, jakie parametry musiałbyś mu podać).źródło