K.Enomoto
eno.j****@gmail*****
2012年 1月 10日 (火) 09:26:33 JST
松島 様 榎本です。 回答ありがとうございます。 これから、自分なりに試してみたいと思います。 kernelのWarningはRHEL6.2では修正されたとの記事を目にしましたので、 CentOS6.2 も、そのうち修正されると思いますので、この件は暫く様子を見ます。 以上、ありがとうございます 2012年1月10日8:57 Takehiro Matsushima <takeh****@gmail*****>: > 榎本 様 > > 松島です、遅くなりまして申し訳ございません。 > 両方に到達できなければF/Oするのでしたら、両方のpingdを1つにまとめてしまうのもありかもしれません。 > (すみません、よく検討していないので不都合があるかもしれません) > > kernel/sched.cのWarningですが、RHEL6.2のkernelの最新版で出たという報告を目にしました。 > Updateをしないか、修正版を待つのがよさそうですね。 > > > > 2012年1月7日22:17 K.Enomoto <eno.j****@gmail*****>: >> 松島 様 >> >> 榎本です。 >> ありがとうございます。 >> >> 両方に到達できなければF/Oをと考えています。 >> >> 現在、なんとか環境的に起動できた状態で、動作検証はまだ何もしていません。 >> 良く理解していないので、時間がかかりそうです。 >> >> >> >> 関係ありませんが気づいたら、あまり見たくないメッセージ >> kernel: WARNING: at kernel/sched.c:5914 thread_return+0x232/0x79d() >> (Not tainted) >> が確認されました。 >> >> 2012年1月6日21:39 Takehiro Matsushima <takeh****@gmail*****>: >>> 榎本 様 >>> >>> 松島です。 >>> 死活監視用の2つのIP addressがありますが、Fail-overする条件はどういったものでしょうか。 >>> 例えば、2つのうちどちらかに到達できなければF/Oとか両方に到達できなければF/Oなどです。 >>> >>> pingdのprimitiveが2つありますが、nameパラメタを一意なものにしなければ後のlocationで >>> 両者の区別ができなかったと思います(検証したことが無いですが)。 >>> >>> pingdは「返事が得られたホストの数×multiplierで指定した数」の値を返します。 >>> この値を評価して、例えばDRBDのようなリソースを動かすノードを決定するのがlocationだと理解しています。 >>> リソースに対して"inf"を与えるとリソースは「必ず」そのノードで動き、"-inf"を与えるとそのノードを「避け」ます。 >>> >>>> rule $id="master-location_db-rule-1" $role="master" -inf: defined default_ping_set and default_ping_set lt 100 >>> という部分は、drbd_dbの"master"ロールに対して"-inf"を与える条件になります。 >>> rule $id="master-location_db-rule-1" $role="master" -inf: not_defined >>> default_ping_set or default_ping_set lt 100 >>> とすると、default_ping_setが無い場合かpingが1つ未満に対して成功した(つまりdefault_ping_set eq 0も等価)となります。 >>> >>> >>> 日本語で参考になるサイトですが、私はLinux-HA JapanとNovell社の「High Availability ガイド」をよく見ていました。 >>> 英語では、本家のPacemakerやHeartbeat、crmのマニュアルが参考になりました。 >>> >>> 問題を取り違えていましたら申し訳ございません。 >>> 当たっているか外れているかわかりませんが、おかしな点がございましたらご指摘ください。 >>> >>> >>> >>> 2012年1月6日13:08 K.Enomoto <eno.j****@gmail*****>: >>>> 松島 様 >>>> >>>> 榎本です。 >>>> ご指摘ありがとうございます。 >>>> #よく理解しないまま記述していました。(まだ理解していません) >>>> >>>> 定義したかったのは、死活監視用の2つのポートに対してping が失敗した場合だったので、 >>>> 見当違いですね。 >>>> >>>> rule $id="master-location_db-rule-1" $role="master" -inf: defined >>>> default_ping_set and default_ping_set >>>> lt 100 >>>> にすれば良いのかも理解していません。 >>>> >>>> 日本語で参考になるサイト等がありましたら、教えてください。 >>>> >>>> 以上、よろしくお願いいたします。 >>>> >>>> 2012年1月6日1:05 Takehiro Matsushima <takeh****@gmail*****>: >>>>> 榎本 様 >>>>> >>>>> 松島と申します。 >>>>> >>>>>> rule $id="master-location_db-rule-1" $role="master" -inf: defined default_ping_set or default_ping_set lt 100 >>>>> 勘違いでしたら申し訳ございません。 >>>>> この部分は、「"master"のロールに対してスコア"-inf"を与える: pingdが動いている または pingが通らない 時」 >>>>> だと思うのですが、pingdが動いていたらmasterに昇格できないという動作になりませんか? >>>>> group_db-location も同様に見えます。 >>>>> >>>>> >>>>> >>>>> 2012年1月5日15:37 K.Enomoto <eno.j****@gmail*****>: >>>>>> 榎本です。 >>>>>> 申し訳ありません。 >>>>>> >>>>>> drbd_resource で指定した値が、drbd で定義したresource名と違っていました。 >>>>>>> primitive drbd_db ocf:linbit:drbd params drbd_resource="r0" >>>>>> 私のミスです。 >>>>>> >>>>>> これを修正したところ、下記のようになりました。 >>>>>> ============ ここから >>>>>> Last updated: Thu Jan 5 15:27:59 2012 >>>>>> Stack: Heartbeat >>>>>> Current DC: testdb02 (b5feda07-cd6d-4a74-8b5a-704021dc0841) - >>>>>> partition with quor >>>>>> um >>>>>> Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87 >>>>>> 2 Nodes configured, 2 expected votes >>>>>> 4 Resources configured. >>>>>> ============ >>>>>> >>>>>> Online: [ testdb02 testdb01 ] >>>>>> >>>>>> pingd_web (ocf::pacemaker:pingd): Started testdb02 >>>>>> Master/Slave Set: ms_drbd_db >>>>>> Slaves: [ testdb01 testdb02 ] >>>>>> Clone Set: clnPingd_db >>>>>> Started: [ testdb01 testdb02 ] >>>>>> ======= ここまで >>>>>> >>>>>> ただ、drbd のstatus を確認すると >>>>>> drbd driver loaded OK; device status: >>>>>> version: 8.4.1 (api:1/proto:86-100) >>>>>> GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by >>>>>> eno @ testdb01, 2011-12-27 17:22:50 >>>>>> m:res cs ro ds p mounted fstype >>>>>> 0:r0 Connected Secondary/Secondary UpToDate/UpToDate C >>>>>> >>>>>> と、なっています。 >>>>>> これに関しては、これから確認しますが、確認すべきポイントはありますか? >>>>>> >>>>>> 以上、よろしくお願いいたします。 >>>>>> >>>>>> >>>>>> 2012年1月5日14:25 岩崎@サードウェア <iwasa****@3ware*****>: >>>>>>> 岩崎です >>>>>>> >>>>>>> エラーログはどのように出てますか? >>>>>>> not installed のエラーが出ているので、drbd*系のコマンドが受け付けられていないか、 >>>>>>> 現状のOCFだとDRBDの8.4.xに対応できていないかもしれません。 >>>>>>> こちらでも少し確認してみますー >>>>>>> >>>>>>> On Thu, 5 Jan 2012 14:17:07 +0900, K.Enomoto wrote: >>>>>>>> 榎本と申します。 >>>>>>>> >>>>>>>> DRBD+Heartbeat3+Pacemaker+PostgreSQL という環境を構築しようと検証中なのでが、 >>>>>>>> 正常に動作させることができません。 >>>>>>>> 確認しなければならない事がありましたら、ご教授ください。 >>>>>>>> >>>>>>>> 現状、下記のような状態です。 >>>>>>>> ============ここから >>>>>>>> Last updated: Thu Jan 5 09:05:38 2012 >>>>>>>> Stack: Heartbeat >>>>>>>> Current DC: testdb02 (b5feda07-cd6d-4a74-8b5a-704021dc0841) - >>>>>>>> partition with quorum >>>>>>>> Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87 >>>>>>>> 2 Nodes configured, 2 expected votes >>>>>>>> 4 Resources configured. >>>>>>>> ============ >>>>>>>> >>>>>>>> Online: [ testdb01 testdb02 ] >>>>>>>> >>>>>>>> pingd_web (ocf::pacemaker:pingd): Started testdb01 >>>>>>>> Master/Slave Set: ms_drbd_db >>>>>>>> drbd_db:0 (ocf::linbit:drbd): Slave testdb02 (unmanaged) >>>>>>>> FAILED >>>>>>>> drbd_db:1 (ocf::linbit:drbd): Slave testdb01 (unmanaged) >>>>>>>> FAILED >>>>>>>> Clone Set: clnPingd_db >>>>>>>> Started: [ testdb02 testdb01 ] >>>>>>>> >>>>>>>> Failed actions: >>>>>>>> drbd_db:0_start_0 (node=testdb02, call=8, rc=5, status=complete): >>>>>>>> not installed >>>>>>>> drbd_db:0_stop_0 (node=testdb02, call=13, rc=5, status=complete): >>>>>>>> not installed >>>>>>>> drbd_db:1_start_0 (node=testdb01, call=9, rc=5, status=complete): >>>>>>>> not installed >>>>>>>> drbd_db:1_stop_0 (node=testdb01, call=15, rc=5, status=complete): >>>>>>>> not installed >>>>>>>> ===== ここまで >>>>>>>> >>>>>>>> ■環境 >>>>>>>> CentOS6.2(kernel 2.6.32-220.2.1.el6.x86_64) >>>>>>>> >>>>>>>> drbd 8.4.1 >>>>>>>> http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gz を使用しrpmを作成しインストール >>>>>>>> >>>>>>>> Heartbeat 3.0.5-1.1 >>>>>>>> Pacemaker 1.0.11-1.2 >>>>>>>> linux-haさんの [1-01] Pacemakerリポジトリパッケージ (RHEL6) (1.0.11-1.2.2) を使用 >>>>>>>> >>>>>>>> >>>>>>>> ■ 下記のCRM構成でpacemakerを設定しました。 >>>>>>>> >>>>>>>> # crm configure show >>>>>>>> node $id="0925fa33-b21f-4f81-8c5f-e2d377d2f235" testdb01 >>>>>>>> node $id="b5feda07-cd6d-4a74-8b5a-704021dc0841" testdb02 >>>>>>>> primitive drbd_db ocf:linbit:drbd \ >>>>>>>> params drbd_resource="r0" \ >>>>>>>> op start interval="0s" timeout="240s" on-fail="restart" \ >>>>>>>> op monitor interval="11s" timeout="60s" on-fail="restart" \ >>>>>>>> op monitor interval="10s" role="Master" timeout="60s" >>>>>>>> on-fail="restart" \ >>>>>>>> op stop interval="0s" timeout="100s" on-fail="block" >>>>>>>> primitive fs_db ocf:heartbeat:Filesystem \ >>>>>>>> params device="/dev/drbd0" directory="/databd" fstype="ext4" >>>>>>>> \ >>>>>>>> op start interval="0s" timeout="60s" on-fail="restart" \ >>>>>>>> op monitor interval="10s" timeout="60s" on-fail="restart" \ >>>>>>>> op stop interval="0s" timeout="60s" on-fail="block" >>>>>>>> primitive ip_db ocf:heartbeat:IPaddr2 \ >>>>>>>> params ip="192.168.33.75" nic="em1" cidr_netmask="24" \ >>>>>>>> op start interval="0s" timeout="90s" on-fail="restart" \ >>>>>>>> op monitor interval="10s" timeout="60s" on-fail="restart" \ >>>>>>>> op stop interval="0s" timeout="100s" on-fail="block" >>>>>>>> primitive pingd_db ocf:pacemaker:pingd \ >>>>>>>> params name="default_ping_set" host_list="172.25.33.74" >>>>>>>> multiplier="100" dampen="0" \ >>>>>>>> meta migration-threshold="10" \ >>>>>>>> op start interval="0s" timeout="90s" on-fail="restart" \ >>>>>>>> op monitor interval="10s" timeout="60s" on-fail="restart" \ >>>>>>>> op stop interval="0s" timeout="100s" on-fail="block" >>>>>>>> primitive pingd_web ocf:pacemaker:pingd \ >>>>>>>> params name="default_ping_set" host_list="192.168.100.1" >>>>>>>> multiplier="100" dampen="0" \ >>>>>>>> meta migration-threshold="10" \ >>>>>>>> op start interval="0s" timeout="90s" on-fail="restart" \ >>>>>>>> op monitor interval="10s" timeout="60s" on-fail="restart" \ >>>>>>>> op stop interval="0s" timeout="100s" on-fail="block" >>>>>>>> primitive postgresql ocf:heartbeat:pgsql \ >>>>>>>> params pgctl="/usr/bin/pg_ctl" start_opt="-p 5432 -h >>>>>>>> 127.0.0.1" psql="/usr/bin/psql" pgdata="/databb/pgsql" >>>>>>>> pgdba="postgres" pgport="5432" pgdb="template1" \ >>>>>>>> op start interval="0s" timeout="120s" on-fail="restart" \ >>>>>>>> op monitor interval="10s" timeout="60s" on-fail="restart" \ >>>>>>>> op stop interval="0s" timeout="120s" on-fail="block" >>>>>>>> group group_db fs_db ip_db postgresql >>>>>>>> ms ms_drbd_db drbd_db \ >>>>>>>> meta master-max="1" master-node-max="1" clone-max="2" >>>>>>>> clone-node-max="1" notify="true" >>>>>>>> clone clnPingd_db pingd_db \ >>>>>>>> meta clone-max="2" clone-node-max="1" >>>>>>>> location group_db-location group_db \ >>>>>>>> rule $id="group_db-location-rule" 200: #uname eq testdb01 \ >>>>>>>> rule $id="group_db-location-rule-0" 100: #uname eq testdb02 \ >>>>>>>> rule $id="group_db-location-rule-1" -inf: defined >>>>>>>> default_ping_set or default_ping_set lt 100 >>>>>>>> location master-location_db ms_drbd_db \ >>>>>>>> rule $id="master-location_db-rule" 200: #uname eq testdb01 \ >>>>>>>> rule $id="master-location_db-rule-0" 100: #uname eq testdb02 >>>>>>>> \ >>>>>>>> rule $id="master-location_db-rule-1" $role="master" -inf: >>>>>>>> defined default_ping_set or default_ping_set lt 100 >>>>>>>> colocation clnPingd_db-colocation 1000: group_db clnPingd_db >>>>>>>> colocation db_on_drbd inf: group_db ms_drbd_db:Master >>>>>>>> order order_db_after_drbd inf: ms_drbd_db:promote group_db:start >>>>>>>> property $id="cib-bootstrap-options" \ >>>>>>>> cluster-infrastructure="Heartbeat" \ >>>>>>>> expected-quorum-votes="2" \ >>>>>>>> no-quorum-policy="ignore" \ >>>>>>>> stonith-enabled="false" \ >>>>>>>> startup-fencing="false" \ >>>>>>>> dc-deadtime="20s" \ >>>>>>>> dc-version="1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87" >>>>>>>> rsc_defaults $id="rsc-options" \ >>>>>>>> resource-stickiness="INFINITY" \ >>>>>>>> migration-threshold="1" >>>>>>>> ----------------------------------------------------------------- >>>>>>>> ocf:linbit:drbd が悪いのかと思い、/usr/lib/ocf/resource.d/linbit/drbd >>>>>>>> の存在は確認したしまた。 >>>>>>>> drbd-pacemaker-8.4.1-1.el6.x86_64からインストールしました。 >>>>>>>> >>>>>>>> 以上、よろしくお願いいたします。 >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> 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 >>>>> >>>>> >>>>> >>>>> -- >>>>> ---- >>>>> Takehiro Matsushima >>>>> >>>>> _______________________________________________ >>>>> 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 >>> >>> >>> >>> -- >>> ---- >>> Takehiro Matsushima >>> >>> _______________________________________________ >>> 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 > > > > -- > ---- > Takehiro Matsushima > > _______________________________________________ > Linux-ha-japan mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan