renay****@ybb*****
renay****@ybb*****
2012年 2月 28日 (火) 08:51:48 JST
和田さん こんにちは、山内です。 > こんにちは。 > 和田です。 > > Active/Passive構成でのSTONITH関連の設定についてご教示ください。 > > STONITHを設定している状態で、 > > ------------------------------------------------------------------------- > > property no-quorum-policy="freeze" \ > stonith-enabled="true" \ > startup-fencing="false" \ > stonith-timeout="430s" > > ------------------------------------------------------------------------- > > と設定した場合、 > > ・片故障状態で、システムを起動すると正常に起動しない。 > ・Active側がハード故障等でダウンするとうまく切り替わらない。 > > という動作をします。 > > 以前、山内さんに教えて頂いた様に、quorum定数が半分以下になるため、切り替わらないと > 認識しているのですが、認識はあっているでしょうか? はい。あっています。 > freezeからignoreにすることで、正常に切り替わることは確認しました。 > #ただし、スプリットブレインなどが困りますよね。。。 > > また、一般的な設定として、みなさんは上記の事象に対応する際に、 > どのような設定としているのでしょうか? > NICを冗長化することで、Active/Passive構成ではSTONITHを利用しない > というような構成が一般的なのでしょうか? 私個人の意見ですが、単純にActive/Passive構成を考えた場合、stonithは設定するべきだと思っています。 ですので、no-quorum-policyはActive/Passiveの場合"ignore"に設定して、stonithを設定する構成です。 ただし、2ノードの場合、分断時に落としあいが発生することを回避する為に、 stonith-helperなどを利用することが望ましいです。 stonith-helperは、日本コミュニティのpm_extrasパッケージにあります。 また、場合によっては、vipcheckなども有効でしょう。 以上、宜しくお願いいたします。 > > なお、構成は以前質問させて頂いたときと同様で、Corosync + Pacemaker + DRBDで > 以下の構成となっています。 > > ------------------------------------------------------------------------- > > primitive drbd_db ocf:linbit:drbd \ > params drbd_resource="pgsql" \ > op start interval="0s" timeout="240s" on-fail="restart" \ > op monitor interval="11s" timeout="60s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" role="Master" \ > op stop interval="0s" timeout="100s" on-fail="fence" > > primitive ip_db ocf:heartbeat:IPaddr2 \ > params ip="192.168.1.175" \ > nic="eth1" \ > 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="fence" > > primitive prmPing ocf:pacemaker:ping \ > params \ > name="ping_set" \ > host_list="192.168.1.1 192.168.2.1" \ > multiplier="100" \ > dampen="0" \ > meta \ > migration-threshold="3" \ > failure-timeout="60s" \ > 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="ignore" > > primitive fs_db ocf:heartbeat:Filesystem \ > params device="/dev/drbd/by-res/pgsql" directory="/data" 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="fence" > > primitive prmPg ocf:heartbeat:pgsql \ > params pgctl="/usr/bin/pg_ctl" \ > start_opt="-p 5432" \ > psql="/usr/bin/psql" \ > pgdata="/data/" \ > pgdba="postgres" \ > pgport="5432" \ > pgdb="postgres" \ > 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="fence" > > primitive apache ocf:heartbeat:apache \ > params configfile="/etc/httpd/conf/httpd.conf" \ > port="80" \ > op start interval="0s" timeout="40s" on-fail="restart" \ > op monitor interval="10s" timeout="60s" on-fail="restart" \ > op stop interval="0s" timeout="60s" on-fail="fence" > > primitive prmDiskd ocf:pacemaker:diskd \ > params name="diskd_set" \ > device="/dev/sda1" \ > 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" > > primitive prmStonith1-1 stonith:external/stonith-helper \ > params \ > priority="1" \ > stonith-timeout="60s" \ > hostlist="it13" \ > dead_check_target="192.168.1.173" \ > run_standby_wait="no" \ > op start interval="0s" timeout="60s" \ > op monitor interval="3600s" timeout="60s" \ > op stop interval="0s" timeout="60s" > > primitive prmStonith1-2 stonith:external/ssh \ > params \ > priority="2" \ > stonith-timeout="60s" \ > hostlist="it13" \ > op start interval="0s" timeout="60s" \ > op monitor interval="3600s" timeout="60s" \ > op stop interval="0s" timeout="60s" > > primitive prmStonith1-3 stonith:meatware \ > params \ > priority="3" \ > stonith-timeout="600" \ > hostlist="it13" \ > op start interval="0s" timeout="60s" \ > op monitor interval="3600s" timeout="60s" \ > op stop interval="0s" timeout="60s" > > primitive prmStonith2-1 stonith:external/stonith-helper \ > params \ > priority="1" \ > stonith-timeout="60s" \ > hostlist="it14" \ > dead_check_target="192.168.1.174" \ > run_standby_wait="no" \ > op start interval="0s" timeout="60s" \ > op monitor interval="3600s" timeout="60s" \ > op stop interval="0s" timeout="60s" > > primitive prmStonith2-2 stonith:external/ssh \ > params \ > priority="2" \ > stonith-timeout="60s" \ > hostlist="it14" \ > op start interval="0s" timeout="60s" \ > op monitor interval="3600s" timeout="60s" \ > op stop interval="0s" timeout="60s" > > primitive prmStonith2-3 stonith:meatware \ > params \ > priority="3" \ > stonith-timeout="600" \ > hostlist="it14" \ > op start interval="0s" timeout="60s" \ > op monitor interval="3600s" timeout="60s" \ > op stop interval="0s" timeout="60s" > > group group_all fs_db ip_db prmPg apache > > group grpStonith1 \ > prmStonith1-1 \ > prmStonith1-2 \ > prmStonith1-3 > > group grpStonith2 \ > prmStonith2-1 \ > prmStonith2-2 \ > prmStonith2-3 > > ms ms_drbd_db drbd_db \ > meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" > > clone clnPing prmPing \ > meta clone-max="2" clone-node-max="1" > > clone clnDiskd prmDiskd \ > meta clone-max="2" clone-node-max="1" > > location group_all-location group_all \ > rule 200: #uname eq it13 \ > rule 100: #uname eq it14 \ > rule -INFINITY: defined ping_set and ping_set lt 200 \ > rule -INFINITY: defined diskd_set and diskd_set eq SUCCESS > > location master-location_db ms_drbd_db \ > rule 200: #uname eq it13 \ > rule 100: #uname eq it14 \ > rule role=master -INFINITY: defined ping_set and ping_set lt 200 \ > rule role=master -INFINITY: defined diskd_set and diskd_set eq SUCCESS \ > rule role=master -INFINITY: defined fail-count-fs_db \ > rule role=master -INFINITY: defined fail-count-ip_db \ > rule role=master -INFINITY: defined fail-count-prmPg \ > rule role=master -INFINITY: defined fail-count-apache > > location rsc_location-grpStonith1-1 grpStonith1 \ > rule -INFINITY: #uname eq it13 > > location rsc_location-grpStonith2-1 grpStonith2 \ > rule -INFINITY: #uname eq it14 > > colocation db_on_drbd INFINITY: group_all ms_drbd_db:Master > colocation clnPing-colocation INFINITY: group_all clnPing > colocation clnDiskd-colocation INFINITY: group_all clnDiskd > order order_db_after_drbd INFINITY: ms_drbd_db:promote group_all:start > order order_clnPing_after_all 0: clnPing group_all symmetrical=false > order order_clnDiskd_after_all 0: clnDiskd group_all symmetrical=false > > property no-quorum-policy="freeze" \ > stonith-enabled="true" \ > startup-fencing="false" \ > stonith-timeout="430s" > > rsc_defaults resource-stickiness="INFINITY" \ > migration-threshold="1" > > ------------------------------------------------------------------------- > > よろしくお願い致します。 > > _______________________________________________ > Linux-ha-japan mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >