[Linux-ha-jp] CRMファイルの内容確認

Back to archive index

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



Linux-ha-japan メーリングリストの案内
Back to archive index