[Linux-ha-jp] Master/Slaveで別リソースを起動する方法について

アーカイブの一覧に戻る

renay****@ybb***** renay****@ybb*****
2011年 7月 11日 (月) 14:42:50 JST


今野さん

こんにちは、山内です。

postfixのRAですが、以下からおとりになるのがよいかも知れません。

https://github.com/raoulbhatia/resource-agents/blob/master/heartbeat/postfix

私も修正に関連していますが、Raoulさんの修正です。

まだ、resource-agent本体には入っていません。

以上、よろしく御願いいたします。


--- On Mon, 2011/7/11, eclip****@gmail***** <eclip****@gmail*****> wrote:

> 松尾さん、山内さん
> 
> 今野です。
> 
> コメントや検証などありがとうございます。
> 
> >松尾さん
> DRBDのみではPrimaryになることができました。
> on-fail設定はあまり理解しておらずrestartにしていましたが、blockで設定したいと思います。
> (STONITHは使えない環境です)
> 
> 
> その後node1だけをOnlineにし、動きを見ていたところ下記のような動作をしていました。
> 
> ・Slave起動しgrDbStbが開始
> ・Primaty取得し、grDbStbがstop開始
> ・Postfixをstopできずプロセスが残る(ps axで確認)
> ・Master起動でgrDbが開始
> ・prPostfixを起動しようとするが、stop出来なかったプロセスが残っているため
>  起動できない
> ・prPostfixのmonitorがFailedとなり、grDbが停止開始
> 
> Postfix用RAがstop処理をうまくできていないのが原因のように感じています。
> TwitterにもPostfix 2.3.3では停止ができないというツイートがあり、これをかなり
> 疑っています。
> お二方のコメントからPacemakerの設定に問題はないようですので、Postfix用RAの調査、
> lsb自作の方向で調べていきたいと思います。
> 
> 以上よろしくお願いします。
> 
> 
> 
> 2011年7月11日11:28  <renay****@ybb*****>:
> 今野さん
> 
> こんにちは、山内です。
> 
> 松尾さんのon-fail設定を反映して、さらに、簡易な構成(pingd,diskdなし,Devcotなし)で、postfixはDummyで代用した環境で試してみました。
> 
> Slave起動のgrDbStbが先にあがってしまったりしますが、最終的にはMasterでgrDbで、Slave側でgrDbStbがきちんとあがる場合もあるようです。
> 
> ★以下は、待機ノード系がMasterになったので、待機ノード側でgrDbが起動した場合
> 
> ============
> Last updated: Mon Jul 11 20:10:52 2011
> Stack: Heartbeat
> Current DC: srv02 (980639f3-93c2-4bae-aca6-6da69e0126a6) - partition with quorum
> Version: 1.0.11-6e010d6b0d49a6b929d17c0114e9d2d934dc8e04
> 2 Nodes configured, unknown expected votes
> 3 Resources configured.
> ============
> 
> Online: [ srv01 srv02 ]
> 
>  Resource Group: grDb
>      prPostfix  (ocf::pacemaker:Dummy): Started srv02
>  Resource Group: grDbStb
>      prPostfixStb       (ocf::pacemaker:Dummy): Started srv01
>  Master/Slave Set: msDrbd
>      Masters: [ srv02 ]
>      Slaves: [ srv01 ]
> 
> 私の試したバージョンは、PM1.0.11ですので、logなどをhb_reportで収集していただいた方が、よいかも知れません。
> 
> 以上、よろしく御願いいたします。
> 
> 
> 
> --- On Mon, 2011/7/11, Takatoshi MATSUO <matsu****@gmail*****> wrote:
> 
> > 今野さん
> > 松尾です。
> >
> > ざっと見たところ、それほど変な設定にはなっていないように思えます。
> > 共にSlaveで起動までできているならば、DRBD側で何かMasterになれない事象が
> > 発生していませんか。
> > Pacemaker経由ではなく、手動でDRBDを起動して、Primaryになれるかどうか
> > 試してみてはいかがでしょうか。
> > また、PacemakerやDRBDのログも確認してみてください。
> >
> >
> > なお、今回の原因とは関係ないと思いますが、op stop の on-fail が restart に
> > なっている箇所がありますが、restart  しようにも、stop できないので、
> > restart できません。STONITH使っているなら fence, どうしても使えないなら、
> > block の設定がよいと思いますよ。
> >
> >
> > 2011年7月9日20:52 eclip****@gmail***** <eclip****@gmail*****>:
> > > はじめて投稿します。今野と申します。
> > > 先日の第3回勉強会で興味を持ち、環境を作っています。
> > > Master機、Slave機で設定ファイルを変えPostfixを動作させたいのですが、
> > > うまくいかず行き詰ってしまったため、ご助言頂ければと思います。
> > > DRBDでPrimaryとなった側をMaster機、Secondaryとなった側を
> > > Slave機としたいのですが、2台ともにSlaveとなってしまいます。
> > > 設定にミス・不備などありましたら指摘頂けますでしょうか。
> > > よろしくお願いいたします。
> > >
> > >
> > > 以下環境
> > > node1、node2 2台構成
> > > OS:
> > >  CentOS 5.4 x86_64
> > > App:
> > >  Pacemaker、Heartbeat (Linux-HA Japan pacemaker-1.0.10-1.4.2から)
> > >  DRBD 8.3.8
> > >  Postfix 2.3.3
> > > リソース:
> > >  DRBD、仮想IP、Filesystem、postfix、dovecot
> > > crm configure:
> > > ### Cluster Option ###
> > > property no-quorum-policy="ignore" \
> > > stonith-enabled="false" \
> > > startup-fencing="false" \
> > > stonith-timeout="720s"
> > > ### Resource Defaults ###
> > > rsc_defaults resource-stickiness="INFINITY" \
> > > migration-threshold="1"
> > > ### Group Configuration ###
> > > group grDb \
> > > prFilesys \
> > > prVip \
> > > prPostfix \
> > > prDovecot
> > > group grDbStb \
> > > prPostfixStb
> > > ### Master/Slave Configuration ###
> > > ms msDrbd \
> > > prDrbd \
> > > meta master-max="1" \
> > > master-node-max="1" \
> > > clone-max="2" \
> > > clone-node-max="1" \
> > > notify="true"
> > > ### Clone Configuration ###
> > > clone clPingd \
> > > prPingd
> > > clone clDiskd \
> > > prDiskd
> > > ### Primitive Configuration ###
> > > primitive prFilesys ocf:heartbeat:Filesystem \
> > > params \
> > > fstype="ext3" \
> > > device="/dev/drbd0" \
> > > directory="/drbd" \
> > > op start interval="0s" timeout="60s" on-fail="restart" \
> > > op monitor interval="10s" timeout="40s" on-fail="restart" \
> > > op stop interval="0s" timeout="60s" on-fail="restart"
> > > primitive prVip ocf:heartbeat:IPaddr2 \
> > > params \
> > > ip="192.168.20.140" \
> > > nic="eth0" \
> > > cidr_netmask="24" \
> > > 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="restart"
> > > primitive prPostfix ocf:heartbeat:postfix \
> > > params \
> > > config_dir="/etc/postfix" \
> > > op start interval="0s" timeout="60s" on-fail="restart" \
> > > op monitor interval="60s" timeout="60s" on-fail="restart" \
> > > op stop interval="0s" timeout="60s" on-fail="restart"
> > > primitive prPostfixStb ocf:heartbeat:postfix \
> > > params \
> > > config_dir="/etc/postfix-stb" \
> > > op start interval="0s" timeout="60s" on-fail="restart" \
> > > op monitor interval="60s" timeout="60s" on-fail="ignore" \
> > > op stop interval="0s" timeout="60s" on-fail="restart"
> > > primitive prDovecot lsb:dovecot
> > > primitive prDrbd ocf:linbit:drbd \
> > > params \
> > > drbd_resource="r0" \
> > > op start interval="0s" timeout="240s" on-fail="restart" \
> > > op monitor interval="35s" timeout="60s" on-fail="restart" \
> > > op monitor interval="30s" timeout="60s" on-fail="restart" role="Slave" \
> > > op monitor interval="25s" timeout="60s" on-fail="restart" role="Master" \
> > > op stop interval="0s" timeout="100s" on-fail="restart"
> > > primitive prPingd ocf:pacemaker:pingd \
> > > params \
> > > name="default_ping_set" \
> > > host_list="192.168.20.254" \
> > > multiplier="100" \
> > > op start interval="0s" timeout="100s" on-fail="restart" \
> > > op monitor interval="10s" timeout="60s" on-fail="restart" \
> > > op stop interval="0s" timeout="100s" on-fail="ignore"
> > > primitive prDiskd ocf:pacemaker:diskd \
> > > params \
> > > name="diskcheck_status" \
> > > device="/dev/sda" \
> > > interval="10" \
> > > 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="ignore"
> > > ### Resource Location ###
> > > location rsc_location-grDb-1 grDb \
> > > rule 200: #uname eq node01 \
> > > rule 100: #uname eq node02 \
> > > rule -INFINITY: not_defined default_ping_set or default_ping_set lt 100 \
> > > rule -INFINITY: not_defined diskcheck_status or diskcheck_status eq ERROR
> > > ### Resource Colocation ###
> > > colocation rsc_colocation-grDb-clPingd-1 INFINITY: grDb clPingd
> > > colocation rsc_colocation-grDb-clDiskd-2 INFINITY: grDb clDiskd
> > > colocation rsc_colocation-grDb-msDrbd-3 INFINITY: grDb msDrbd:Master
> > > colocation rsc_colocation-grDbStb-msDrbd-4 INFINITY: grDbStb msDrbd:Slave
> > > ### Resource Order ###
> > > order rsc_order-clPingd-grDb-1 0: clPingd grDb symmetrical=false
> > > order rsc_order-clDiskd-grDb-2 0: clDiskd grDb symmetrical=false
> > > order rsc_order-msDrbd-grDb-3 INFINITY: msDrbd:promote grDb:start
> > > symmetrical=false
> > > その他:
> > >  Master用のメールボックス、キューディレクトリはDRBD上に置き、
> > >  シンボリックリンクを作成
> > >   /var/spool/mail -> /drbd/mail
> > >   /var/spool/postfix -> /drbd/postfix
> > >  Slave用のメールボックス、キューディレクトリを作成
> > >   /var/spool/mail-stb
> > >   /var/spool/postfix-stb
> > >  Slave用の設定ファイルディレクトリを作成
> > >   cp -a /etc/postfix/ /etc/postfix-stb/
> > >  Slave用非デフォルトコンフィグディレクトリの設定を追加
> > >   /etc/postfix/main.cf
> > >    alternate_config_directories = /etc/postfix-stb
> > >  Slave用各ディレクトリの変更
> > >   /etc/postfix-stb/main.cf
> > >    mail_spool_directory = /var/spool/mail-stb
> > >    queue_directory = /var/spool/postfix-stb
> > >  Slave機はMaster機へメールリレー
> > >   /etc/postfix-stb/main.cf
> > >    relayhost = [192.168.20.140] ※仮想IP
> > > _______________________________________________
> > > 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 メーリングリストの案内
アーカイブの一覧に戻る