2010年2月13日土曜日

そろそろDRBDに挑戦 (MySQL連携編)

スズキです。

よくある、Heartbeat、DRBD、MySQL、の構成です。

とりあえず、両マシン(suz-lab-ha1/suz-lab-ha2)でMySQLのインストールです。
# yum install mysql-server

MySQLを起動して、データディレクトリ(/var/lib/mysql)も作成しておきます。
# /etc/init.d/mysqld start
# /etc/init.d/mysqld stop


次は、Heartbeatが動いてなくて、DRBD動いてる状態での、
データディレクトリをDRBDに移す作業です。

一方のマシン(suz-lab-ha1)でDRBDをプライマリ&マウントして、
そこデータディレクトリを移します。
# drbdadm primary all
# mount /dev/drbd0 /mnt/drbd
# mkdir -p /mnt/drbd/var/lib
# mv /var/lib/mysql /mnt/drbd/var/lib/
# chown -R mysql.mysql /mnt/drbd/var/lib/mysql
# ln -s /mnt/drbd/var/lib/mysql /var/lib/mysql

もう一方のマシン(suz-lab-ha1)にも、切り替わった時のために、
"/var/lib/mysql"にシンボリックリンクを作成しておきます。
# rm -rf /var/lib/mysql
# ln -s /mnt/drbd/var/lib/mysql /var/lib/mysql

そして、両マシンで以下のようにcib.xmlを作成して、Heartbeatを起動します。
# cat /etc/ha.d/haresources-for-cib
--------【suz-lab-ha1】--------
suz-lab-ha1 \
  drbddisk::r0 \
  Filesystem::/dev/drbd0::/mnt/drbd \
  mysqld
--------【suz-lab-ha2】--------
suz-lab-ha2 \
  drbddisk::r0 \
  Filesystem::/dev/drbd0::/mnt/drbd \
  mysqld
--------
# rm -f /var/lib/heartbeat/crm/*
# /usr/lib/heartbeat/haresources2cib.py /etc/ha.d/haresources-for-cib
# /etc/init.d/heartbeat start

すると、こんな感じでMySQLも管理されていることがわかります。
# crm_mon
============
Last updated: Sun Feb 14 08:16:49 2010
Current DC: suz-lab-ha2 (4b65eb6f-2943-4ce0-8c42-1b47da86dbea)
2 Nodes configured.
1 Resources configured.
============

Node: suz-lab-ha2 (4b65eb6f-2943-4ce0-8c42-1b47da86dbea): online
Node: suz-lab-ha1 (3f126784-f608-4d06-ad8b-b40ac27ef3be): online

Resource Group: group_1
drbddisk_1 (heartbeat:drbddisk): Started suz-lab-ha2
Filesystem_2 (ocf::heartbeat:Filesystem): Started suz-lab-ha2
mysqld_3 (lsb:mysqld): Started suz-lab-ha2
--------

"suz-lab-ha2"のHeartbeatを落とすと、"suz-lab-ha1"のDRBDがプライマリになり、
データディレクトリがマウントされ、MySQLが切り替わってることが確認できます。
# crm_mon
============
Last updated: Sun Feb 14 08:18:37 2010
Current DC: suz-lab-ha1 (3f126784-f608-4d06-ad8b-b40ac27ef3be)
2 Nodes configured.
1 Resources configured.
============

Node: suz-lab-ha2 (4b65eb6f-2943-4ce0-8c42-1b47da86dbea): OFFLINE
Node: suz-lab-ha1 (3f126784-f608-4d06-ad8b-b40ac27ef3be): online

Resource Group: group_1
drbddisk_1 (heartbeat:drbddisk): Started suz-lab-ha1
Filesystem_2 (ocf::heartbeat:Filesystem): Started suz-lab-ha1
mysqld_3 (lsb:mysqld): Started suz-lab-ha1
--------

Heartbeat&DRBDネタ、まだまだ続きます…

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

0 コメント: