起動時に iSCSI 上の LVM ボリュームを認識させるには
起動時に iSCSI 上の LVM ボリュームが認識されない問題([id:naga_sawa:20120422:1335110193])のむりやり解決編
ここにあるように、スクリプト走らせろ。
Bug 474833 – LVM on iSCSI do not work upon restart
ってことなので、こちら(Linux:iSCSI - Kaiseki)を参考にしてスクリプトを書いてみた。
iscsi, iscsid が走ってから実際に iSCSI ボリュームが認識されるまでタイムラグがあるようなので、ウエイト(iscsi_ready_wait)を仕込んでるので適宜調整。
CentOS 6.2 用。
スクリプトを作成する
# vi /etc/init.d/iscsimount #!/bin/bash # # iscsimount mount LVM group on iSCSI partitions # # Author: naga_sawa # # chkconfig: 2345 98 03 # description: mount LVM group on iSCSI partitions # # processname: iscsimount # pidfile: /var/lock/subsys/iscsimount ### BEGIN INIT INFO # Provides: iscsimount # Required-Start: libvirtd # Required-Stop: libvirtd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: mount LVM group on iSCSI partitions # Description: This is a script for mounting LVM group on iSCSI partitions # by /etc/fstabs ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 prog=iscsimount iscsi_ready_wait=5 start() { sleep $iscsi_ready_wait vgchange -ay mount -a touch /var/lock/subsys/iscsimount } stop() { rm -f /var/lock/subsys/iscsimount } case "$1" in start) echo -n $"Starting $prog: " start ;; stop) echo -n $"Stopping $prog: " stop RETVAL=$? ;; *) # do not advertise unreasonable commands that there is no reason # to use with this device echo $"Usage: $0 {start|stop}" exit 1 esac if [ $RETVAL = 0 ] ; then echo_success echo else echo_failure echo fi exit $RETVAL
起動時にこのスクリプトが走るようにする
# chmod 755 /etc/init.d/iscsimount # chkconfig --add iscsimount # chkconfig --list iscsimount iscsimount 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blkid コマンドでマウントするLVM論理ボリュームのUUIDを調べる([id:naga_sawa:20120422:1335099188])
わかった UUID を fstab に追記する~
# vi /etc/fstab UUID=100c65bb-71fd-484d-9b90-a013035d0abf /mnt/iscsi/virtimages1 ext4 _netdev 0 0