md over multipathdを実現する方法
rhel5.5だと、/etc/rc.sysinitの中で以下のようなことをやっている
mdadm.confがあれば、自動的にraidデバイスを認識する
if [ -f /etc/mdadm.conf ]; then /sbin/mdadm -A -s fi
目的は、multipathd起動後にmd(Multiple Device driver aka Linux Software RAID)起動するだから、これだと嬉しくない。
ただ上記の条件(mdadm.conf)が存在しない、かつraidを構成するパーティションにシステムID「Linux Raild自動検出」が付与されていなければ、
mdの自動起動は抑制できるので、md over multipathdを実現するには/etc/init.d/multipathdが
# chkconfig: - 06 87
のことから、これ以降に起動してやれば良い。
※環境にもよるが、default RHEL5.5で 07が存在しないので、以下のようにしてあげればいいかもしれない。
# chkconfig: - 07 86
以下を追加してやれば良いかな
[root@web01 ~]# more /etc/init.d/mdadm #!/bin/bash # # /etc/rc.d/init.d/mdadm # # raidautorun instead of rc.sysinit # # chkconfig: - 07 87 # description: Manage md devices # processname: mdadmconfig=/opt/mdadm/mdadm.conf #initdir=/etc/rc.d/init.d #lockdir=/var/lock/subsys #sysconfig=/etc/sysconfig #syspath=/sys/block #system=redhat #if [ $system = redhat ]; then # # Source function library. # . $initdir/functions #fi #RETVAL=0 if [ -f $mdadmconfig ]; then /sbin/mdadm -As -c $mdadmconfig else RETVAL=1 fi exit $RETVAL
で、chkconfig --add mdadm して、再起動