Tag Archives: softraid

Softraid i autodetekcja

Zdarzyło mi się niedawno dołączyć dodatkowy dysk do działającego już systemu celem utworzenia redundancji na wszystkich partycjach (lub też na wolumenach LVM). Wszystko to działo się na Ubuntu 8.04 LTS, a więc prawie na debianie :-)

Całość procesu jest dość prosta i opisywana już w wielu artykułach w sieci ( m.in. tutaj ). Wszędzie niemalże wspomina się o ustawianiu typu partycji na fd, czyli Linux raid autodetect. Nazwa sugeruje, że ma to coś wspólnego z autowykrywaniem raidu. Otóż okazuje się, że miało w przeszłości. Parametry konfiguracyjny CONFIG_MD_AUTODETECT zniknął już jakiś czas temu z kernela i tym samym zniknęła też autodetekcja. Opisuje to ten artykuł. Jest tam geneza usunięcia autodetekcji i rozwiązanie problemu bootowania z raidu 1. Wiąże się to z odpowiednio wygenerowanym plikiem initramfs. Ja się złapałem na tym, że system nie wstawał poprawnie, gdyż liczyłem że odpowiednio poustawiane typy partycji zrobią swoje i podczas startu wszystkie macierze samoczynnie wystartują. Krótka analiza struktury initramfs i kilka minut na googlach przyniosły rozwiązanie. Musiałem powiadomić mdadm o istnieniu macierzy, a zatem po ich utworzeniu wywołać polecenie

mdadm --examine --scan >> /etc/mdadm.conf

Następnie należy wygenerować plik initramfs uwzględniający te zmiany – załączy on ten plik do swojego drzewa i podczas startu odpowiednio wywołany mdadm z poziomu initramfs wystartuje podane tam macierze.
W Ubuntu generujemy nowy initramfs dla obecnego kernela poleceniem

update-initramfs -u

Teraz już możemy cieszyć się mirrorowaną partycją /boot.