Motoharu Kubo
mkubo****@3ware*****
2012年 7月 12日 (木) 08:25:18 JST
こんにちは、久保と申します。 migrateで手動のスイッチオーバーを試験した後、unmigrateを実行しておられな いのではないでしょうか。 location cli-standby-gr_postgres gr_postgres \ rule $id="cli-standby-rule-gr_postgres" -inf: #uname eq vm85.lab という制約は、migrateを実行したときに自動的に追加されます。 この制約が残ったままだと、"#uname eq"に書いてあるホストでリソースを実行 することが禁止されます(-infのスコアが付けられたため)。 unmigrateは、自動的に付加されるこの制約を除去してくれるコマンドで、これ を実行しない限りvm85.labでgr_postgresリソースは実行されません。 migrateを実行した時点で、Pacemakerは現在のリソース配置が最適であると判断 しています。このままではスイッチオーバーは起こってくれません。migrateコ マンドは上述のような配置に関する制約を付加することによって、Pacemakerに 「今のリソース配置じゃダメだ」という判断を促すわけです。 ただしmigrateが付加した制約は自動的に削除されない仕様になっています。自 動削除されたら、default-resource-stickiness値などの設定によっては、自動 的に元の配置に戻ってしまうためだろうと思います。その代わりに、unmigrate コマンドが用意されています。 (2012年07月12日 04:56), taka yamada wrote: > はじめまして、山田ともうします。 > > 最近、Pacemakerの勉強を始めました。 > RAでPostgreSQQL用のがあるみたいだったのPostgreSQLのHA化を試してみており > ます。 > > いろいろなサイトの内容を参考に以下のように設定をしました。 > > primitive fs_db ocf:heartbeat:Filesystem \ > params device="/dev/drbd1" directory="/pgdata" fstype="ext3" > options="noatime" \ > op monitor interval="10s" > 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="/pgdata" 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" > primitive res_drbd ocf:linbit:drbd \ > params drbd_resource="db" \ > op monitor interval="10s" timeout="30s" > group gr_postgres fs_db postgresql > ms ms_drbd res_drbd \ > meta master-max="1" master-node-max="1" clone-max="2" > clone-node-max="1" notify="true" is-managed="true" target-role="Started" > location cli-standby-gr_postgres gr_postgres \ > rule $id="cli-standby-rule-gr_postgres" -inf: #uname eq vm85.lab > colocation postgres_on_drbd inf: gr_postgres ms_drbd:Master > order postgres_after_drbd inf: ms_drbd:promote gr_postgres:start > property $id="cib-bootstrap-options" \ > dc-version="1.0.12-066152e" \ > cluster-infrastructure="Heartbeat" \ > expected-quorum-votes="2" \ > no-quorum-policy="ignore" \ > stonith-enabled="false" > rsc_defaults $id="rsc-options" \ > resource-stickiness="INFINITY" \ > migration-threshold="1" > > migrateでDRBDのスレーブ側に切り替わった際にPostgreSQLも切り替わり、正常 > にPostgreSQLも使用できます。 > migrateでうまく切り替わるので、故障時の切り替えを試すのにPostgreSQLを停 > 止させました。 > しかし、crm_monでは以下のようにStoppedと停止を検出はしてくれているようで > すがフェールオーバしてくれません。 > > Online: [ vm84.lab vm85.lab ] > > Master/Slave Set: ms_drbd > Masters: [ vm84.lab ] > Slaves: [ vm85.lab ] > Resource Group: gr_postgres > fs_db (ocf::heartbeat:Filesystem): Started vm84.lab > postgresql (ocf::heartbeat:pgsql): Stopped > > なにか設定が悪いのかと参考にしたサイトを見直しましたが、同じような設定を > しているようなので原因が分かりません。 > 御教示していただけないでしょうか。 > > > _______________________________________________ > Linux-ha-japan mailing list > Linux****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan >