kazuh****@goo*****
kazuh****@goo*****
2015年 12月 14日 (月) 10:07:16 JST
ひがしと申します。お世話になっております。 ><質問> > 先ずはNGとなっている対象にフォーカスし、CRMファイルの内容に問題がないかを > 皆様に見て頂けたらと思います。 > 必須項目が未記載である等、ご指摘あればお願いします。 stonith-enabled="false"でSTONITHを無効にしているが、各リソースの 停止およびdemote失敗時のオペレーション(on-fail)が"fence"になって いるためエラーになっていると思います。 op stop interval="0s" timeout="60s" on-fail="fence" ^^^^^ STONITHなしでPG-REXを構築する際のcrm設定は、公式サイトの 以下環境定義書(Excelシート)を参考にしてください。 https://osdn.jp/projects/pg-rex/releases/61547 PG-REX9.3_pm_crmgen_env.xls →「非推奨定義書(PG-REX9.3 STONITHなし)」シート ポイントは、STONITHが無い代わりに、VIPcheckを用いて排他制御 を行うことと、on-failを"fence"以外にすることです。 排他制御機構が全くないと、インターコネクトLAN故障等で、 両系がAct(Master)になってしまい、データが分散してしまったり します。 排他制御について詳しくは、以下OSCでの講演資料がわかりやすいです。 http://linux-ha.osdn.jp/wp/archives/4338 →試して覚えるPacemaker入門 排他制御機能編 on-failについては、以下を参考にしてください。 (Pacemaker1.0での記事ですが、当該箇所は1.1でも同様です。) http://linux-ha.osdn.jp/wp/archives/3855 「■primitiveでリソースを定義」の表中「オペレーション時の設定」を 参照ください。 あと、老婆心ながら、私も松島さんと同様に、同期用のVIPは あった方が運用がしやすいと思います。 例えばMaster(node01)が故障し、フェイルオーバしSlave(node02)が Masterになった後、node01を再びクラスタに組み込む際、 同期用のVIPが無いと、一旦node02側のMasterを停止せざるを得なく なると思います。 同期用のVIPがあれば、この場合でも、node02はMasterとして動作した まま、node01をSlaveとして組み込むことができます。 IPアドレスが枯渇している、等、諸事情はあれば仕方ないですが。 以上です。 ----- 元のメッセージ ----- From: "Pacemaker初心者" <m.hir****@freeb*****> 宛先: linux****@lists***** 送信済み: 2015年12月11日, 金曜日 午後 1:09:45 件名: [Linux-ha-jp] CRMファイルの内容確認 ストリーミングレプリケーションを使用しているPostgreSQLを Pacemakerにて管理し、クラスタ構成とするにあたり、 PG-REXを使用します。 ※RAとして登録したいのはPostgreSQLの他、ZabbixServerもあります。 <目指す動作イメージ> 定常稼働においては、 ■マスタ ・ZabbixServer稼働 ・PostgreSQLデータ非同期転送(To:スレーブ) ・Ether1、Ether2共にVIP、PIP使用 (同期用LANはVIP未使用) ■スレーブ ・ZabbixServer停止 ・PostgreSQLデータ非同期転送受信(From:マスタ) ・Ether1、Ether2は共にPIPのみ使用 マスタ障害時稼働においては、 ■マスタ ・ZabbixServer停止 ・PostgreSQL停止 ・Ether1、Ether2共にPIP使用 (同期用LANはVIP未使用) ■スレーブ ・ZabbixServer停止⇒起動 ・PostgreSQLマスタ昇格(promote) ・Ether1、Ether2は共にVIP、PIP使用 <現状> ・「PG-REX利用マニュアル」に沿って必要ソフトウェアをダウンロードした後、 同マニュアルに沿って各種confファイルの変更を実施。 ・PG-REX_pm_crmgen_env.xlsを当方環境に合わせた内容で編集しcsv変換。 ・csvを当該サーバにアップロードし、crmgenにてCRMファイルを生成(*1)。 ・「pg-rex_master_start <CSVファイル>」を実行(*2)。 ・実行結果として、「6.crmファイルの反映」にてCRMファイルを確認して下さい との旨が表示されNG (*1)同期LANへのVIP適用は考えていないので、この設定値はマスタがわの 同期用LANアドレスを指定。 また、先ずは切替/切戻し動作の確認をしたいと思い、STONITH関連の設定値 は未記載。 (*2)当初は1~5でもPostgreSQLバージョン不適合のメッセージ(「Ver.9.4に して下さい」)やPacemaker起動にserviceコマンドを使用していたため、 pg-rex_master_startおよび関連ファイルの変更を実施している。 <質問> 先ずはNGとなっている対象にフォーカスし、CRMファイルの内容に問題がないかを 皆様に見て頂けたらと思います。 必須項目が未記載である等、ご指摘あればお願いします。 [CRMファイルの内容] ### Cluster Option ### property no-quorum-policy="ignore" \ stonith-enabled="false" \ startup-fencing="false" \ stonith-timeout="710s" ### Resource Defaults ### rsc_defaults resource-stickiness="INFINITY" \ migration-threshold="1" ### Group Configuration ### group master-group \ vip197 \ vip190 \ meta \ ordered="false" ### Master/Slave Configuration ### ms msPostgresql \ pgsql \ meta \ master-max="1" \ master-node-max="1" \ clone-max="2" \ clone-node-max="1" \ notify="true" ### Clone Configuration ### clone clnPingd \ prmPingd197 \ prmPingd190 ### Primitive Configuration ### primitive vip197 ocf:heartbeat:IPaddr2 \ params \ ip="192.168.197.67" \ nic="enp2s0f0" \ 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="fence" primitive vip190 ocf:heartbeat:IPaddr2 \ params \ ip="192.168.190.14" \ nic="enp2s0f1" \ cidr_netmask="24" \ meta \ migration-threshold="0" \ 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 pgsql ocf:heartbeat:pgsql \ params \ pgctl="/usr/bin/pg_ctl" \ start_opt="-p 5432" \ psql="/usr/bin/psql" \ pgdata="/var/lib/pgsql/data" \ pgdba="postgres" \ pgport="5432" \ master_ip="192.168.189.1" \ pgdb="zabbix" \ rep_mode="async" \ node_list="com-zabbix01p-pnd-p com-zabbix02p-pnd-p" \ restore_command="/bin/cp /var/lib/pgsql/data/pg_arch/arc1/%f %p" \ repuser="rep_user" \ primary_conninfo_opt="keepalives_idle=60 keepalives_interval=5 k eepalives_count=5" \ stop_escalate="0" \ xlog_check_count="0" \ op start interval="0s" timeout="300s" on-fail="restart" \ op monitor interval="10s" timeout="60s" on-fail="restart" \ op monitor interval="9s" role="Master" timeout="60s" on-fail="restart" \ op promote interval="0s" timeout="300s" on-fail="restart" \ op demote interval="0s" timeout="300s" on-fail="fence" \ op notify interval="0s" timeout="60s" \ op stop interval="0s" timeout="300s" on-fail="fence" primitive prmPingd197 ocf:pacemaker:pingd \ params \ name="default_ping_set" \ host_list="192.168.197.66" \ multiplier="100" \ 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 prmPingd190 ocf:pacemaker:pingd \ params \ name="default_ping_set" \ host_list="192.168.190.13" \ multiplier="100" \ 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-msPostgresql-1 msPostgresql \ rule -INFINITY: not_defined default_ping_set or default_ping_set lt 100 ### Resource Colocation ### colocation rsc_colocation-msPostgresql-clnPingd-1 INFINITY: msPostgresql clnPingd colocation rsc_colocation-master-group-msPostgresql-2 INFINITY: master-group msP ostgresql:Master ### Resource Order ### order rsc_order-clnPingd-msPostgresql-1 0: clnPingd msPostgresql symmetrical=false order rsc_order-msPostgresql-master-group-2 INFINITY: msPostgresql:promote master-group:start symmetrical=false order rsc_order-msPostgresql-master-group-3 INFINITY: msPostgresql:demote master-group:stop symmetrical=false _______________________________________________ Linux-ha-japan mailing list Linux****@lists***** http://lists.osdn.me/mailman/listinfo/linux-ha-japan