Fakeraid, a może fuckraid? (Adaptec AAR-1420SA)

11 08 2008

Nie odzywałem się długo bo męczyłem się nad tytułowym raidem. Mój raid nie wyglądał jak na zdjęciu obok, ale było z nim równie dużo problemów co mogłoby być z tym obok 🙂

Wszystko trzeba było postawić na Fedora Core 6. I nie było mowy nawet o innej wesji nie mówiąc o dystrybucji… Na początku w obroty poszedł fakeraid zintegorowany z płytą ASUS P5S WS PRO. Jeśli ktoś będzie potrzebował sterowniki do fedory to trzeba użyć tych które są dołączone do Red Hat 5 bodajże. Wrzucenie obrazu na dyskietkę to chyba każdy umie, a jak nie to wszystko jest w dokumentacji. Instalacja się udała, system wstał jednak po odłączeniu jednego z dysków był kenel panic. W opcjach biosu tego kernela nie było nawet build więc odpuściłem ten kontroler i spróbowałem na Adaptec AAR-1420SA. Tutaj już o wiele więcej opcji w biosie. I prawdopodobnie kontroler jes wspierany przez kernel bo instalacja nie wołała o drivery… korzysta z ‚sata_mv’. Po krótce opisze tworzenie RAID na tym kontrolerze, może przyda się potomnym.

Najpierw dodajemy dyski które chcemy skonfigurować, u mnie to były dwa dyski które miały być w RAID1, opcja nazywa się ‚configure drives’. Po dodaniu wchodzimy w ‚create array’. Najpierw musimy wybrać które dyski mają znaleść się w raid. Oczywiście wcześniej trzeba było dodać je do konfiguracji. Potem pojawi się nowe okno z wyborem rodzaju raidu. Ja miałem tylko do wyboru 1 i 0, z racji podłączonych tylko dwóch dysków. Potem dajemy nazwę pod jaką będą widniały urządzenia w /dev/mapper, przykładowo: /dev/mapper/ddf1_RAID1p1 będzie dla partycji /dev/sda1 na oby dwóch dyskach. Potem zostaje wybór jak ma być stworzony raid. Do wyboru 3 opcje. Build, clear i quick init. Przy instalacji na nowych dyskach wystarczy że wybierzemy quick init. Potem będzie pytanie czy wymazać tablice partycji odpowiadamy twierdząco w przypadku gdy są to nowe dyski i nic na nich nie ma. Jeśli przykładowo mamy jeden dysk i chcemy go mapować na drugim to wybieramy opcje pierwszą build i potem pada pytanie który z dysków ma być źródłowym. Czyli tym z którego dane będą skopiowane na nowy dysk. Wybieramy odpowiedni i musimy uzbroić się w cierpliwość. Przy dyskach 250GB proces ten trwa 1h. Jeśli będzie koniec to wychodzimy i po reboocie sytem powinnien wstać, jeśli mamy wkompilowane moduły obsługi raid w kernelu.

I tu był duży problem, bo po stworzeniu RAID1 i zainstalowaniu na nim sytemu, raid działał obsługiwany przez dmraid w systemie, ale po wypięciu jednego z dysków znów kernel panic:

device-mapper: table: device 253:0 Device Lookup failure
device-mapper: reload ioctl failed: No such device or address
Unable to access resume device (LABEL=SWAP-isw_cbaeda)
mount: could not find filesystem /dev/root'
setuproot: Moving /dev failed: no such file or directory
setuproot: error Mounting /proc: no such file or directory
setuproot: error Mounting /sys: no such file or directory
switchroot: Mount failed: no such file or directory
Kernel panic - not syncing: Attempted to kill init!

Walczyłem z tym długo, komilując kernel na nowo i wałkując cała dokumentacje rmraid. W rmraid niby wszystko ok, a uruchomić się nie chce z jednego dysku. W końcu po 3 dniach walki znalazłem rozwiązanie! Wypinamy jeden dysk z raidu – symulujemy jego awarie i uruchamiamy. Mamy błąd taki jak powyżej, a więc do działa:

Bootujemy z płytki, montujemy system gdzieś i dajemy chroot. Używamy rmmod do wyłączenia modułów: rm_mod, rm_mirror (wszystkie moduły rm_*) potem jeszcze moduły raid1 i inne które używają tych które już wymieniłem. Tworzymy wtedy nowy obraz kernela przez mkinitrd:

mkinitrd /boot/initrd-2.x.x.img 2.x.x

i dodajemy nową opcje do grub/lilo z nowym obrazem. Najlepiej skopiować obecny wpis który mamy i wstawić tylko nową linie z obrazem. Pierwotny wpis służy do uruchamiania systemu, gdy ten jest w raid, a drugi jeśli jest tylko jeden dysk. Wszystko to robiliśmy tylko na jednym dysku więc wszystko to co zrobiliśmy trzeba ‚dograć’ na drugi, więc halt i wpinamy drugi dysk. Wchodzimy do biosu kontrolera raid i usuwamy obecnie stworzony raid. Tworzymy nowy z taką samą nazwą urządzeń i wybieramy opcje build, a jako dysk źródłowy podajemy dysk z na którym pracowaliśmy przez chwilą. Dyski podpinane są w gniazda. Każde gniazdo nazywa się 00, 01…itd. od prawej strony licząc, więc wybieramy odpowiedni. Czekamy. Uruchamiamy i wybieramy w grubie pierwszą opcje żeby uruchamiał się z obrazu obsługującego raid 😉

Tak sprawa wygląda w fedorze. Nie wiem jak w innych dystrybucjach. Domyślam się że może być większy problem i np dmraid nie skonfiguruje się automatycznie, albo nie będzie modułów w kernelu. Powodzenia!


Opcje

Info

Odpowiedz

Możesz używać tagów : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>