2010年2月20日土曜日

Heartbeat でMySQL止めたらフェイルオーバー(その3)

スズキです。

その2で完結と思いきや...
http://blog.suz-lab.com/2010/02/heartbeat-mysql2.html

内容は、OCF(Open Cluster Framework)形式のRA(リソース・エージェント)
を用いた方法となります。

その1で"/etc/init.d/mysqld"を利用したやり方を紹介しましたが、
http://blog.suz-lab.com/2010/02/heartbeatmysql1.html
mysqldに手を入れるのは、いやだなーと思いながら、たまたま、
"haresources"から"cib.xml"を作成する"/usr/lib/heartbeat/haresources2cib.py"
を覗いてみたら、以下のような記述があり、

--------【haresources2cib.py】--------
...
"mysql": {"params": [
  "binary",
  "config",
  "datadir",
  "user",
  "group",
  "log",
  "pid",
  "socket",
  "test_table",
  "test_user",
  "test_passwd",
  "enable_creation",
  "additional_parameters"
], "time": ["120s", "60s"]},
...
--------

実際、"/usr/share/ocf/resource.d/heartbeat/mysql"も存在しってことで、試してみました。

具体的な"haresources"は以下のようにしています。

--------【haresources-for-cib】--------
ha-back-0x \
  drbddisk::r0 \
  Filesystem::/dev/drbd0::/mnt/drbd \
  drbdlinks \
  mysql::/usr/bin/mysqld_safe \
  IPaddr2::172.21.10.153/24/eth1
--------
※上記の通り、mysqlの設定項目はいろいろありますが、最低限"binary"を指定しておけばOKです。

あとは、いつもの通り、Heartbeatが停止している状態で、

# rm -f /var/lib/heartbeat/crm/*
# /usr/lib/heartbeat/haresources2cib.py /etc/ha.d/haresources-for-cib
# /etc/init.d/heartbeat start

です。

でも、drbdはうまくいかなかった...

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

0 コメント: