2010年2月14日日曜日

ついでに"drbdlinks"も仕込んでみた

スズキです。

DRBDネタも、最後のNFS系を残すのみになりましたが、
その前に、"yum"で"drbd"を検索したときに気になった、"drbdlinks"を試してみました。
# yum search drbd
...
drbdlinks.noarch : A program for managing links into a DRBD shared partition
...

本家の情報は、こちらになりますが、
http://www.tummy.com/Community/software/drbdlinks/
実際の設定に関しては、こちらが参考になります。
http://people.equars.com/2007/3/16/postgresql-drbdlinks-heartbeat-on-debian

簡単に言ってしまえば、"drbdlinks"はシンボリックリンクを管理するプログラムで、
設定ファイルに書かれたルールでシンボリックリンクを作成したり、削除したりしてくれます。

まずは、インストールです。
# yum install drbdlinks

インストールすると、"/etc/init.d/drbdlinksclean"が作成されるので、
以下のように、起動時に実行されるようにします。
# chkconfig drbdlinksclean on

"drbdlinksclean"は一旦、設定ファイルに定義されたシンボリックリンクを
すべて削除するもので、シンボリックの作成(drbdlinks start)のタイミングは
Heartbeatに任せるため、起動時に呼び出すようにしています。

設定ファイルである、"/etc/drbdlinks.conf"は以下のようにしています。

--------【drbdlinks.conf】--------
mountpoint('/mnt/drbd')
cleanthisconfig(1)
link('/var/lib/mysql')
--------

この状態で、"drbdlinks start"すると、DRBDをマウントした"/mnt/drbd"の"var/lib/mysql"が
"/var/lib/mysql"にシンボリックリンクされます。
また、もとの"/var/lib/mysql"は"/var/lib/mysql.drbdlinks"にリネームされます。

つまり、
# mv /var/lib/mysql /var/lib/mysql.drbdlinks
# ln -s /mnt/drbd/var/lib/mysql /var/lib/mysql
といった感じです。

当然、"drbdlinks stop"は、この逆で、要は"/etc/init.d/drbdlinksclean"も、
これが呼ばれていることになります。

次は、Heartbeatの設定です。

まず、以下のように"/etc/ha.d/rc.d"以下に"drbdlinks"のシンボリックリンクを作成します。
# cd /etc/ha.d/rc.d
# ln -s /usr/sbin/drbdlinks drbdlinks

そして、Heartbeatが、この"drbdlinks"を利用するように
"/etc/ha.d/haresources-for-cib"を以下のようにします。

--------【suz-lab-ha1】--------
suz-lab-ha1 \
drbddisk::r0 \
Filesystem::/dev/drbd0::/mnt/drbd \
drbdlinks \
mysqld
--------【suz-lab-ha2】--------
suz-lab-ha2 \
drbddisk::r0 \
Filesystem::/dev/drbd0::/mnt/drbd \
drbdlinks \
mysqld
--------

そして例のごとく、
# rm -f /var/lib/heartbeat/crm/*
# /usr/lib/heartbeat/haresources2cib.py /etc/ha.d/haresources-for-cib
# /etc/init.d/heartbeat start
です。

すると、DRBDがプライマリなサーバは、以下のようになり、
# ls /var/lib
...
mysql -> /mnt/drbd/var/lib/mysql
mysql.drbdlinks
...
セカンダリなサーバや、プライマリなサーバのHeartbeatを落としたりすると、
次のようにもとの状態に戻ります。
# ls /var/lib
...
mysql
...

今のところ、いろんな意味でバランスがいい、HAになってる気がするなー。

--------
http://www.suz-lab.com

0 コメント: