Midnightjapan

Heartbeatのリソース解放方法

by jun on 1月.22, 2011, under Linux, Mysql, Programing

WEB DBシステムを開発中のJUNです。
こんばんわ。

世間から隔離されてはや2週間、皆様いかがおすごしですか?
さて、表題の件ですがこんな問題が発生しました。

MySQLサーバーのデータベースをコールドバックアップの手法でデータの入れ替えを行いました。

理由は単純で、MySQLサーバーのデータを社内の試験サーバーで開発し定期的に進捗報告を行うため、簡単に言うと提出するわけです。

そんなわけで、なれた手つきで試験サーバーデータを送信して、本サーバーに。

本サーバーでMySQLを停止します。

# /etc/rc.d/init.d/mysql stop
# MySQL を停止中:                                            [  OK  ]

OKかと思いきや、しまったHeartbeatでフェイルオーバーするぞ!

と思ったら

# crm_mon
Defaulting to one-shot mode
You need to have curses available at compile time to enable console mode

============
Last updated: Sat Jan 22 18:54:08 2011
Current DC: main.pokepoke.lan (***)
2 Nodes configured.
1 Resources configured.
============

Node: main.pokepoke.lan (****): online
Node: sub.pokepoke.lan (******): online

Resource Group: group_1
    IPaddr2_1   (heartbeat::ocf:IPaddr2):       Started main.pokepoke.lan
    MailTo_2    (heartbeat::ocf:MailTo):        Started main.pokepoke.lan
    drbddisk_3  (heartbeat:drbddisk):   Started main.pokepoke.lan
    Filesystem_4        (heartbeat::ocf:Filesystem):    Started main.pokepoke.lan
    httpd_5     (lsb:httpd):    Started main.pokepoke.lan
    mysqld_6    (lsb:mysqld):   Started main.pokepoke.lan (unmanaged) FAILED

Failed actions:
    mysqld_6_stop_0 (node=main.pokepoke.lan, call=39, rc=1): Error

ふむ・・・これは・・・ログやら調べてみると、heartbeatがリソースの障害を検知してフェールオーバを実行しようとしたとき、管理下のリソースを停止させようとしたけれども、停止させようとしたリソースの停止要求がタイムアウトしたらしい。

そりゃ止めてるからね。

そんなわけでheartbeatはそのリソースをUnmanagedとしてマークする。

これを解放するための方法を記録する。

# crm_resource -H main.pokepoke.lan -r mysqld_6 -C

これは「 crm_resource -H <ホスト名> -r <リソース名> -C 」と解釈してください。

数秒でカリカリ終わったので、確認してみると。

# crm_mon
Defaulting to one-shot mode
You need to have curses available at compile time to enable console mode

============
Last updated: Sat Jan 22 18:56:18 2011
Current DC: main.pokepoke.lan (***)
2 Nodes configured.
1 Resources configured.
============

Node: main.pokepoke.lan (****): online
Node: sub.pokepoke.lan (******): online

Resource Group: group_1
    IPaddr2_1   (heartbeat::ocf:IPaddr2):       Started main.pokepoke.lan
    MailTo_2    (heartbeat::ocf:MailTo):        Started main.pokepoke.lan
    drbddisk_3  (heartbeat:drbddisk):   Started main.pokepoke.lan
    Filesystem_4        (heartbeat::ocf:Filesystem):    Started main.pokepoke.lan
    httpd_5     (lsb:httpd):    Started main.pokepoke.lan
    mysqld_6    (lsb:mysqld):   Started main.pokepoke.lan

問題は解消してくれた。

しかし、ほんとにフェイルオーバーしてくれるのか心配・・・・

:,

コメント返信

*



何かお探しですか?

以下にキーワードを入力してサイト内検索が可能です:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!