# [RAID1] Nie usuwa uszkodzonego dysku.

## lekto

Witam, dorwałem ostatnio sprawny komputer za darmo, miałem akurat dwa identyczne dyski, postanowiłem zrobić z nich RAID1 w celach edukacyjnych. Komputer wygląda tak:

AMD Duron 1.6GHz

2x512MB ram

2xWD 40GB IDE

System stawiałem wg tej instrukcji http://www.gentoo.org/doc/pl/gentoo-x86+raid+lvm2-quickinstall.xml

Podczas pobierania jądra posypały się błędy Pythona, google nie miało nic ciekawego do powiedzenia na ich temat. Według /proc/mdstat macierz stała i miała się dobrze, więc postawiłem zacząć wszystko od początku wraz ze stawianiem macierzy na nowo dla pewności. Tym razem przy wypakowaniu stage pokazał się błąd o uszkodzonym archiwum, no cóż, zdarza się, pobrałem jeszcze raz i tym razem udało się. Podobne błędy Pythona pokazały się podczas env-update && source /etc/profile. Wyszedłem z chroota, odmontowałem macierze i zrobiłem fsck, pokazało masę błędów, a macierz ciągle stała wg /proc/mdstat. Podejrzenia padły na ram, jedna kość była w komputerze oryginalnie, druga pochodzi z mojej szafy gdzie przeleżała około dwa lata, memtest86 nie wykrył żadnych błędów. Przyszła kolej na dyski, więc uruchomiłem badblocks na obu. Półtorej godziny później zobaczyłem masę błędów na /dev/sdb, jeden za drugim, około 8 tysięcy i ciągle przybywały nowe. Wymieniłem uszkodzony dysk na sprawny i już wszystko działa.

Dlaczego tak się stało? Dlaczego ten dysk nie został wykryty jako uszkodzony przez system i usunięty z macierzy? Niestety, nie zachowałem żadnych logów.

----------

## halvmork

Żaden softwarowy volume manager nie ma takiej opcji aby automatycznie odłączyć dysk i coś z nim zrobić, wymiana dysku, odbudowa macierzy itp. wymagają działań administratora. Na macierzach hardwarowych jest podobnie, automatycznie wysyłane jest powiadomienie o uszkodzonym dysku, macierze Enterprice mają wydzielone dodatkowe dyski na które automatycznie jest kopiowana zawartość tego uszkodzonego dysku, ale wymiana dalej wymaga podjęcia działań przez administratora a nie załatwia tego jakiś automat.

Pozdrawiam

----------

## lekto

W porządku, rozumiem, że człowiek powinien zająć się naprawą, ale nie rozumiem dlaczego twierdził, że macierz jest sprawna.

Po wymianie dysku postawiłem system i okazało się, że zamontowało /boot i / tylko do odczytu, stwierdziłem, że czegoś nie wkompilowałem w jądro lub gdzieś się pomyliłem. I faktycznie, zamiast 'defaults' wpisałem w fstab 'default', po zmianie zamontowało /boot jak trzeba i co dziwne / tylko do odczytu, chociaż mount pokazywało rw. Po dłuższej chwili postanowiłem sprawdzić ten drugi dysk i okazało się, że ten też ma badsectory. I znowu, /proc/mdstat twierdził, że macierz ma się dobrze.

RAID1 robię po to by mieć pewność, że w razie padnięcia jednego dysku na drugim jest ciągle sprawny system. Jeśli podczas pracy zrobi się badsector i system odczyta uszkodzony pliki myśląc że jest sprawny to może się wyłożyć lub nadpisać jakieś istotne dane na zdrowym dysku. Chyba że o to chodzi, dysk pada, system pada, wymieniam dysk i odbudowuję macierz, ale w takim razie co jeśli przez tą awarię zostaje nadpisane coś na zdrowym dysku? Czy może szansa na to jest na tyle mała, że nie bierze się tego pod uwagę?

----------

## halvmork

Te dyski to powinieneś sprawdzić czy są sprawne zanim z nich złożyłeś macierz, logika jest taka że przez pseudo urządzenie dane są zapisywane lub odczytywane dwutorowo z obu urządzeń na raz, a informacja o uszkodzonym dysku będzie wtedy gdy nie uda się zapis lub odczyt któregoś z bloków. W momencie jak demon składa macierz w całość to patrzy czy ma dostępne urządzenia, nie sprawdza natomiast powierzchni pod kątem bad sektorów.

----------

