Junko IKEDA
ikeda****@intel*****
2009年 8月 20日 (木) 10:56:48 JST
倉前様 池田です。 ip_start(), ip_stop() のそれぞれで 仮想IPの起動もしくは停止に成功したら $OCF_SUCCESSを返しているところがあるはずなんですが その前でスクリプトを実行すればよいのではないでしょうか。 スクリプトの実行に成功したら/失敗したら うんぬんの処理も加えてどう動くかは 実機で試してみたほうがはやいと思います。 とりあえず以下3パターンを試してみて 期待通りの動作をするかどうかというところでしょうか。 (1) 仮想IPの起動に成功 → スクリプト成功(正常起動) (2) 仮想IPの起動に成功 → スクリプト失敗(フェイルオーバ) (3) 仮想IPの起動に失敗(フェイルオーバ) (3)はスクリプトの実行まではいたっていないので IPaddr2からip_start()とip_stop()が順次呼び出されるかと思います。 (スクリプトが実行されるよりも前にIPaddr2からエラーを返す) このとき、ip_stop()からスクリプトも呼び出されるはずなので スレーブ状態のサーバに対してスレーブ遷移命令を 出しても大丈夫なようにしておかないといけないですね。 (2)は実際にやってみないとわからないのですが Heartbeat からは結局、IPaddr2が失敗したとみなされるため ip_start()とip_stop()が順次呼び出され (3)と同じ動きになるのではないかと思います。 仮想IPが起動した後にスクリプトを実行するか 仮想IPが起動する前にスクリプトを実行するか または スクリプトを実行する前に仮想IPを停止するか スクリプトを実行した後に仮想IPを停止するか のそれぞれの順番は、 そちらの要件次第かと思いますので スクリプトを追加する箇所で制御してください。 以上よろしくお願いいたします。 池田淳子 On Thu, 20 Aug 2009 10:27:51 +0900, <yusuk****@baycu*****> wrote: > 池田様 > > 倉前です。 > すいません、御回答いただいた内容を誤解していたようです。 > >> > 1.ip_start()からスクリプトを呼び出す > の場合、かつ仮想IPの実行にocfリソースIPaddr2を利用していいた場合、 > > /usr/lib/ocf/resource.d/heartbeat/IPaddr2 > > 内の > ip_start() > にてレプリケーションマスタとなるスクリプトを叩く、 > ip_stop() > にてレプリケーションスレーブとなるスクリプトを叩く。 > > ということでよろしかったでしょうか。 > > 以上よろしくお願いいたします。 > > 倉前 > > > >> 倉前様 >> >> 池田です。 >> >> > 1.ip_start()からスクリプトを呼び出す >> > 2.マスタ/スレーブを管理するRAを新しく作成する >> > 3.anythingRAを利用する >> >> 1. の場合、cib.xmlを編集する必要はありません。 >> 2,3 の場合は、新規に作成したRA、もしくは anything RA を >> IPaddr とグループにして追加する必要があります。 >> >> 以上よろしくお願いいたします。 >> >> 池田淳子 >> >> On Wed, 19 Aug 2009 14:34:17 +0900, <yusuk****@baycu*****> > wrote: >> >> > 池田様 >> > >> > お世話になります、倉前です。 >> > 返信遅くなり申し訳ありません。 >> > >> > 御教授いただいたheartbeatからスクリプトをつつく手段としては、 >> > 1.ip_start()からスクリプトを呼び出す >> > 2.マスタ/スレーブを管理するRAを新しく作成する >> > 3.anythingRAを利用する >> > ということでよろしいでしょうか。 >> > >> > 上記の中ですと、当方heartbeatにそれほど習熟していないため >> > 一番単純そうな1.を利用を検討してみます。 >> > >> > この場合、cib.xmlにはどのように記述すればよろしいのでしょうか。 >> > (記述方法に全く見当がつかないので・・お手数ですが、例示いただければ > 幸い >> > です。 >> > 初歩的なことなのでしょうが、ご迷惑をおかけします。) >> > >> > 以上よろしくお願いいたします。 >> > >> > 倉前 >> > >> >> 倉前様 >> >> >> >> 池田です。 >> >> >> >> Heartbeat 2.1.4 には含まれていませんが >> >> 開発版には、直接コマンドを実行する「anything」というRAがあります。 >> >> このRAから「マスタに昇格/スレーブに降格」のコマンドを >> >> 実行してみてもうまくいくかもしれません。 >> >> >> >> http://hg.linux-ha.org/agents/file/b99191549520/heartbeat/anything >> >> http://www.gossamer-threads.com/lists/linuxha/users/48790 >> >> >> >> 以上よろしくお願いいたします。 >> >> >> >> 池田淳子 >> >> >> >> >> >> On Tue, 18 Aug 2009 19:06:24 +0900, Junko IKEDA <ikedaj @ intellilink > .co >> > .jp> wrote: >> >> >> >> > 倉前様 >> >> > >> >> > 池田です。 >> >> > >> >> > 「フェイルオーバー時にサービスを引き継いだサーバ上で >> >> > マスタに昇格するスクリプト」は >> >> > すでに作成済みということであれば >> >> > 仮想IP(IPaddr RA:/usr/lib/ocf/resource.d/heartbeat/IPaddr) >> >> > のip_start()から、そのスクリプトを呼び出してみてはどうでしょうか > 。 >> >> > (ちなみにHeartbeatはV2モードですか?) >> >> > >> >> > 仮想IPの起動に成功すれば、マスタに昇格するスクリプトが >> >> > 呼び出されることになります。 >> >> > また、ip_stop()からもマスタからスレーブに降格する >> >> > スクリプトを呼び出せば、それらしい動きになるのでは >> >> > ないでしょうか。 >> >> > >> >> > 他に考えられる方法としては >> >> > マスタ/スレーブを管理するRAを新しく作成します。 >> >> > >> >> > start() → スレーブからマスタへ昇格 >> >> > monitor() → 自ノードがマスタ状態であるかチェック >> >> > stop() → マスタからスレーブへ降格 >> >> > >> >> > というRAを作成して、IPaddrとグループ構成にすれば >> >> > うまくいくような気がします。 >> >> > >> >> > どちらの方法にしても、一時的に両ノードとも >> >> > スレーブ状態になります。 >> >> > >> >> > 以上よろしくお願いいたします。 >> >> > >> >> > 池田淳子 >> >> > >> >> > >> >> > On Fri, 14 Aug 2009 16:25:04 +0900, <yusuk****@baycu***** > .jp >> >> wrote: >> >> > >> >> >> お世話になります、倉前と申します。 >> >> >> >> >> >> 現在、heartbeatとmysqlレプリケーションを組み合わせて >> >> >> 以下のようなクラスタの構築を考えております。 >> >> >> >> >> >> Server1・・Act,通常時はレプリケーションマスタとなる >> >> >> Server2・・Stb,通常時はレプリケーションスレーブとなる >> >> >> >> >> >> 双方で常時MySQLを稼動しておき、仮想IPのみをフェイルオーバー、 >> >> >> フェイルオーバー時にはServer2をレプリケーションマスタとする、と > いう >> > 動き >> >> >> を想定しています。 >> >> >> >> >> >> 恐らく、「フェイルオーバー時にサービスを引き継いだサーバ上でマス > タ >> > に昇格 >> >> >> するスクリプトを動かす」 >> >> >> という動作になるかと思うのですが、(他にいい方法があればアドバイ > ス >> > いただ >> >> >> けると助かります)、 >> >> >> このようにフェイルオーバー時に特定のスクリプトを動作させる、 >> >> >> という場合はどのように設定すればよろしいのでしょうか。 >> >> >> >> >> >> 本来ならDRBDと連携させると楽なのでしょうが、今回は要件上レプリケ > ー >> > ション >> >> >> と連携させる必要があるため御質問させていただきました。 >> >> >> もしその他MySQLレプリケーションとHeartbeatの連携において役立つ情 > 報 >> > 等あり >> >> >> ましたら御教授いただけますでしょうか。 >> >> >> >> >> >> 以上、よろしくお願いいたします。 >> >> >> >> >> >> 倉前 >> >> >> >> >> >> _______________________________________________ >> >> >> Linux-ha-japan mailing list >> >> >> Linux****@lists***** >> >> >> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >> >> >> >> >> > >> >> > _______________________________________________ >> >> > Linux-ha-japan mailing list >> >> > Linux****@lists***** >> >> > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >> >> > >> >> >> >> _______________________________________________ >> >> Linux-ha-japan mailing list >> >> Linux****@lists***** >> >> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >> >> >> > >> > _______________________________________________ >> > Linux-ha-japan mailing list >> > Linux****@lists***** >> > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >> > >> >> _______________________________________________ >> Linux-ha-japan mailing list >> Linux****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >> > > _______________________________________________ > Linux-ha-japan mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >