heartbeat でファイル共有する場合のメモ

  • 投稿日:
  • by
  • カテゴリ:

NFS じゃなく、fiberchannelで繋いでファイル共有領域を Active Stanby で使います。
今回はサーバ同士でのミラーリングはしていません。
ファイル共有のディスクはRAID 0+1 を使用します。RAID 5 だと容量は増えますが
速度的にはあまり速くありません。

heartbeat 経由でmount/umount するように設定してみました。

微妙なHDE の冗長化。同じような使い方している場合は参考になるかもしれません。

/etc/ha.d/haresources
zephel3 192.168.2.200 mountd hde-pgsql hde-mailfilter qmail-arc-smtpd qmail-gw-smtpd
qmail-sus-smtpd qmail-arc qmail-gw qmail-sus miserver aiserver gwcontroller

haresources に記載されている順番通りに動いてくれます。

・起動時の動作はIPの割り当て、mountd から順番に起動されます。
・停止時の動作はgwcontroller から順番に停止になります。

今のところ、サービスを監視して、スクリプトの停止を行うようにはしていない。
今後はsmtp 25 番に接続できるかどうかを確認してスクリプトを実行できれば。

heartbeat の起動スクリプトの検索順序は
/etc/ha.d/resource.d
/etc/init.d

mountd
#############################################################
#!/bin/bash
#
# mount /umount service
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin
export PATH

start() {
echo -n "Starting mount: "
/bin/mount -t ext3 -o noatime /dev/sda1 /home/hde-pgsql
/bin/mount -t ext3 -o noatime /dev/sda2 /home/misrv

return 0

}

stop() {
echo -n "Starting umount: "
/sbin/fuser -mk /home/hde-pgsql
/sbin/fuser -mk /home/misrv
/bin/umount -f /home/hde-pgsql
/bin/umount -f /home/misrv

return 0
}

case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac

exit 0
###########################################################

Filesystem::デバイス::マウントポイント::ファイルシステム
(;´Д`)まともに動かないよ。マウントするデバイス数が多いとだめだった。

フリーソフトで構築するときに情報となるソースが少ない。まあ自己責任だからしょうがない。
有料のソフトは本か、ベンダーに聞くしかないらしい。
想定できる検証は全部行うこと。想定外もできれば検査を行うこと。

追記:fuser -mk をすると正常にアンマウントできるらしい。
http://www.linux.or.jp/JM/html/psmisc/man1/fuser.1.html