udev + mdadm

Przemek Iskra sparky w sparky.homelinux.org
Śro, 7 Wrz 2005, 23:09:40 CEST


Problem:
mam partycje /dev/md1, /dev/md2; nie są one oczywiście assemblowane w
initrd więc powinieno być to zrobione w rc.sysinit

do tego jest użyty mdadm
używam udev HEAD'owe, więc przy starcie systemu urządzenia /dev/md? nie
istnieją (udev tworzy urządzenie dopiero jeśli ono naprawdę istnieje, w
przeciwieństwie do devfs które tworzy urządzenie jeśli załadowano moduł
potrafiący je obsłużyć)

rc.scripst uruchamia:

mdadm --assemble --scan
które kończy się niepowodzeniem ponieważ /dev/md? nie istnieje,
ale potrafi on sobie ręcznie stworzyć urządzenie jeśli poda mu się
opcję: --auto=yes

problem polegał na tym że mdadm w wersji <2.0 nie radził sobie z opcjami
--scan i --auto=yes jednocześnie


dodatkowo warto by było do HEAD'owego udev'a dopisać
Confilcts:	mdadm < 2.0
Conflicts:	rc-scripts < 'jaka to będzie wersja'

i koniecznie trzeba by to było zrobić jeśli miałby wejść do AC


patch na wersję z svn

-- 
 ____  Sparky{PI] -- Przemyslaw _  ___  _  _  ..Mail,MSN  LANG...Pl..Ca..Es..En
/____) ___  ___  _ _ || Iskra  |  | _ \| |  | : WWW........ppcrcd.pld-linux.org
\____\| -_)'___| ||^'||//\\// <   |  _/| |  | : JID......sparky<at>jabberes.org
(____/||   (_-_|_||  ||\\ ||   |_ |_|  |_| _| :..sparky<at>sparky.homelinux.org
-------------- następna część ---------
Index: rc.d/rc.sysinit
===================================================================
--- rc.d/rc.sysinit	(revisiĂłn: 6354)
+++ rc.d/rc.sysinit	(copia de trabajo)
@@ -556,7 +556,7 @@
 	    
 	    if [ -x /sbin/mdadm -a -f /etc/mdadm.conf ]; then
 		if (grep -qE "^([[:blank:]]|)ARRAY[[:blank:]]" /etc/mdadm.conf); then
-		    run_cmd "Starting up RAID devices" /sbin/mdadm --assemble --scan
+		    run_cmd "Starting up RAID devices" /sbin/mdadm --assemble --scan --auto=yes
 		    rc=$?
 		    [ "$rc" -eq 0 ] && goraidtab=0 && golvm=1
 		fi


Więcej informacji o liście dyskusyjnej pld-rc-scripts