Takatoshi MATSUO
matsu****@gmail*****
2011年 7月 11日 (月) 14:51:07 JST
松尾です。 そういえば、確かにPacemaker 1.0.10 リポジトリパッケージのpostfix RAは RHEL5(CentOS 5)では動かないです。 最近山内さん投稿の修正パッチが開発者のリポジトリに入ったので、 そちらを使うとよいと思います。 関連ML : http://www.gossamer-threads.com/lists/linuxha/dev/73127?do=post_view_threaded#73127 パッチがあたってるRA本体はこれかな。。。 https://github.com/raoulbhatia/resource-agents/blob/master/heartbeat/postfix ただし、最近RAに必要な依存ファイルの場所が変わったため、 Linux-HA JapanのPacemaker 1.0.10では、上記RAをそのまま持ってきても動かないはずです。 Linux-HA Japan の Pacemaker 1.0.11 なら動くはずなのでアップデートしたあと、postfix RAだけ 入れ替えてみてください。 以上です。 2011年7月11日14:18 eclip****@gmail***** <eclip****@gmail*****>: > 松尾さん、山内さん > > 今野です。 > > コメントや検証などありがとうございます。 > > >松尾さん > 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 mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan > >