Zaczynam otrzymywać kolekcję komputerów w domu i aby je wesprzeć, mam swój „serwerowy” system Linux z macierzą RAID.
Obecnie mdadm
RAID-1
będzie, RAID-5
kiedy będę miał więcej dysków (a potem RAID-6
mam nadzieję). Jednak słyszałem różne historie o uszkodzeniu danych na jednym dysku i nigdy tego nie zauważyłeś z powodu użycia drugiego dysku, aż do momentu awarii pierwszego dysku, i okazało się, że drugi dysk również jest zepsuty (i trzeci, czwarty , Piąty dysk).
Oczywiście kopie zapasowe są ważne i dbam o to również, ale wiem, że wcześniej widziałem skrypty, które twierdzą, że pomagają w rozwiązaniu tego problemu i pozwalają sprawdzić RAID podczas jego działania. Jednak teraz, gdy szukam tych skryptów, trudno mi znaleźć coś, co wydaje się podobne do tego, co uruchomiłem wcześniej i czuję, że jestem nieaktualny i nie rozumiem, co się zmieniło.
Jak sprawdzisz działającą macierz RAID, aby upewnić się, że wszystkie dyski nadal działają poprawnie?
Monitoruję SMART na wszystkich dyskach, a także mdadm
skonfigurowałem wysyłanie do mnie wiadomości e-mail w przypadku awarii, ale chciałbym wiedzieć, że moje dyski czasami też same „sprawdzają”.
Odpowiedzi:
RAID z redundancją polega na tym, że będzie działał tak długo, jak to możliwe, ale oczywiście wykryje błędy, które wprowadzą go w tryb awaryjny, taki jak awaria dysku. Możesz pokazać aktualny status tablicy za pomocą
mdadm -D
:Ponadto zwracany jest stan
mdadm -D
niezerowy, jeśli występuje jakikolwiek problem, taki jak uszkodzony komponent (1 oznacza błąd, który kompensuje tryb RAID, a 2 oznacza całkowity błąd).Możesz również uzyskać szybkie podsumowanie statusu wszystkich urządzeń RAID, patrząc
/proc/mdstat
. Możesz również uzyskać informacje o urządzeniu RAID/sys/class/block/md*/md/*
; zobaczDocumentation/md.txt
w dokumentacji jądra. Niektóre/sys
wpisy są również zapisywalne; na przykład możesz uruchomić pełne sprawdzenie zamd0
pomocąecho check >/sys/class/block/md0/md/sync_action
.Oprócz tych kontroli na miejscu mdadm może powiadomić Cię, gdy tylko wydarzy się coś złego. Upewnij się, że masz
MAILADDR root
w/etc/mdadm.conf
(niektóre dystrybucje (np Debian) ustawić to automatycznie). Następnie otrzymasz powiadomienie e-mailem, gdy tylko wystąpi błąd (zdegradowana tablica) .Upewnij się, że otrzymujesz pocztę wysyłaną do roota na komputerze lokalnym (niektóre nowoczesne dystrybucje pomijają to, ponieważ uważają, że cała poczta e-mail przechodzi przez zewnętrznych dostawców - ale odbieranie poczty lokalnej jest konieczne dla każdego poważnego administratora systemu). Przetestować ten korzeń wysyłając maila:
echo hello | mail -s test root@localhost
. Zwykle poprawna konfiguracja poczty e-mail wymaga dwóch rzeczy:Przekierowuj pocztę kierowaną na konta systemowe (przynajmniej
root
) na adres, który regularnie czytasz. Może to być Twoje konto na komputerze lokalnym lub zewnętrzny adres e-mail. W przypadku większości MTA adres można skonfigurować w/etc/aliases
; powinieneś mieć linię jakdla dostawy lokalnej lub
do zdalnej dostawy. Jeśli wybierzesz zdalną dostawę, upewnij się, że MTA jest skonfigurowany do tego. W zależności od MTA może być konieczne uruchomienie
newaliases
polecenia po edycji/etc/aliases
.źródło
Możesz wymusić sprawdzenie całej tablicy, gdy jest ona online. Na przykład, aby sprawdzić tablicę
/dev/md0
, uruchom jako root:Mam również zadanie cron, które uruchamia następujące polecenie raz w miesiącu:
Nie jest to dokładne sprawdzenie samego napędu, ale wymusza na systemie okresowe sprawdzanie, czy (prawie) każdy plik można odczytać z dysku. Tak, niektóre pliki zostaną odczytane z pamięci podręcznej zamiast z dysku. Ale sądzę, że jeśli plik znajduje się w pamięci podręcznej, to niedawno został pomyślnie odczytany z dysku lub wkrótce zostanie zapisany na dysku, a każda z tych operacji wykryje również błędy napędu. Zresztą uruchomienie tego zadania testuje najważniejsze kryterium macierzy RAID („Czy mogę z powodzeniem odczytać moje dane?”) I przez trzy lata obsługiwałem moją macierz, kiedy tylko dysk mi się zepsuł, było to to polecenie, które je odkryło.
Jedno małe ostrzeżenie jest takie, że jeśli twój system plików jest duży, to polecenie zajmie dużo czasu; mój system zajmuje około 6 godzin / TiB. Uruchamiam go
ionice
tak, aby reszta systemu nie zatrzymała się podczas sprawdzania dysku:źródło
ionice
będzie działać tylko wtedy, gdy użyjesz (domyślnego) harmonogramu We / Wy CFQ.pakiet „mdadm” Debiana i Ubuntu zawiera plik
który z kolei w pierwszą niedzielę każdego miesiąca uruchomi polecenie
to sprawdzi spójność wszystkich twoich tablic (chyba że ustawisz AUTOCHECK na false w / etc / default / mdadm ). Raport zostanie wysłany do użytkownika „root” (upewnij się, że otrzymujesz takie e-maile).
źródło
Używam tej prostej funkcji do sprawdzenia
/proc/mdstat
:źródło