Mailing List Archive

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-ha-japan@lists.osdn.me
http://lists.osdn.me/mailman/listinfo/linux-ha-japan
Re: CRMファイルの内容確認 [ In reply to ]
松島です。

もし差し支えございませんでしたらお使いのLinuxディストリビューションとPostgreSQLおよびPacemakerのバージョンを教えていただけますでしょうか。
解決が早まるかと思います。

また、エラーが表示された際に、ログファイルにエラー等は記録ございませんでしょうか。
Pacemaker/corosyncおよびPostgreSQLのログをご確認ください。

本筋ではないかもしれませんが、同期用のVIPはSlaveがどちらのノードであっても同じ設定でMasterに接続するために必要ですので、設定なさることを強くおすすめします。
(加えて具体的なノードにMaster/Slaveの役割を固定してしまうのは障害時の運用に縛りがでてしまいますので、これも個人的にはおすすめいたしません)
Re: CRM$B%U%!%$%k$NFbMF(B$B3NG'(B [ In reply to ]
ひがしと申します。お世話になっております。

><質問>
> 先ずは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.hiraguchi@freebit.net>
宛先: linux-ha-japan@lists.osdn.me
送信済み: 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-ha-japan@lists.osdn.me
http://lists.osdn.me/mailman/listinfo/linux-ha-japan
_______________________________________________
Linux-ha-japan mailing list
Linux-ha-japan@lists.osdn.me
http://lists.osdn.me/mailman/listinfo/linux-ha-japan
Re: CRM$B%U%!%$%k$NFbMF(B$B3NG'(B [ In reply to ]
ひがしと申します。お世話になっております。

さきほどの回答に、ちょっと補足します。

>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なし構成をご紹介しましたが、OSC講演でも述べられて
いるようにSTONITHが導入できる場合は、その方が信頼性は
向上します。
STONITHが導入できないかどうかのご検討もお願いいたします。


それを踏まえ、さきほど(STONITHなしとして紹介した)PG-REX9.3は、
一つ前のバージョンで、PostgreSQL9.3とPacemaker1.0系の組み合
わせを前提としています。

PG-REXの最新はPG-REX9.4で、こちらは
PostgreSQL9.4とPacemaker1.1系の組み合わせを前提と
しています。が、PG-REX9.4のSTONITHなし構成は現時点で
公開されていないようです。


以上です。


----- 元のメッセージ -----
From: kazuh@goo.jp
宛先: linux-ha-japan@lists.osdn.me
送信済み: 2015年12月14日, 月曜日 午前 10:07:16
件名: Re: [Linux-ha-jp] CRMファイルの内容確認

ひがしと申します。お世話になっております。

><質問>
> 先ずは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.hiraguchi@freebit.net>
宛先: linux-ha-japan@lists.osdn.me
送信済み: 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-ha-japan@lists.osdn.me
http://lists.osdn.me/mailman/listinfo/linux-ha-japan
_______________________________________________
Linux-ha-japan mailing list
Linux-ha-japan@lists.osdn.me
http://lists.osdn.me/mailman/listinfo/linux-ha-japan
Re: CRMファイルの内容確認 [ In reply to ]
松島様、ひがし様

先日はご回答頂き、ありがとうございます。

本日より本作業を再開しております。

>もし差し支えございませんでしたらお使いのLinuxディストリビューションと
PostgreSQL
>およびPacemakerのバージョンを教えていただけますでしょうか。

⇒下記となります。
OS :CentOS7.1
PostgresSQL :postgresql-server-9.2.13-1
Pacemaker :pacemaker-1.1.12-22


>また、エラーが表示された際に、ログファイルにエラー等は記録ございません
でしょうか。
>Pacemaker/corosyncおよびPostgreSQLのログをご確認ください。

⇒本日実施した内容を下記に示します。やはり、CRMファイルの読み込みがNGとな
ります。
 ※CRMは「ひがし様」からご紹介して頂いたテンプレートにて生成しなおしてお
ります。

■「pg-rex_master_start△crmファイル」実行時
===================
    :
5. Pacemaker èµ·å‹•
...[OK]
6. crm ファイルの反映
...[NG]
crm ファイルの Pacemaker への反映に失敗したためスクリプトを終了します
===================

â– ha-log
pengine[12227]: error: Resource start-up disabled since no STONITH
resources have been defined
pengine[12227]: error: Either configure some or disable STONITH with the
stonith-enabled option
pengine[12227]: error: NOTE: Clusters with shared data need STONITH to
ensure data integrity

■pacemakerログ
Dec 18 12:55:29 com-zabbix01p-pnd-p info: Corosync is shutting down.
Dec 18 12:55:29 com-zabbix01p-pnd-p info: Corosync shutdown complete.
Dec 18 12:56:21 com-zabbix01p-pnd-p info: Starting Corosync 2.3.4.

■PostgreSQLログ
アーカイブ格納ディレクトリに関するエラー(no exist)


<本日ここまでの対応>
・ha-logに出力されている「STONITH関連のエラー」については、pg-
rex_tool.conf、crmファイル
を確認し、crmでのstonith-enableオプションがfalseとなっていたので、(意味
合いは同じだと思うが)disableに修正 しました。
・PostgreSQLログに出力されているエラーについては、必要ディレクトリを作成
しました。
(ちなみにpostgresql.confとcrmファイルでの当該ディレクトリ名称については
同一であることも
再確認しています。)

上記修正後、再度pg-rex_master_start実行しましたが、ha-logには同じエラー
が出力されて
います。
「stonith-enable」オプションが記載されているファイルが他にあるのでしょうか?
ご教示願います。


<参考>現時点でのCRMファイルです。
=================================
### Cluster Option ###
property no-quorum-policy="ignore" \
stonith-enabled="disable"

### 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

clone clnDiskd1 \
prmDiskd1

clone clnDiskd2 \
prmDiskd2

clone vipCheckMaster \
vipCheck197 \
vipCheck190 \
vipCheckSupport

### 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="block"

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="stop" \
op monitor interval="10s" timeout="60s" on-fail="restart" \
op stop interval="0s" timeout="60s" on-fail="ignore"

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" \
pgdb="zabbix" \
rep_mode="async" \
node_list="com-zabbix01p-pnd-p com-zabbix02p-pnd-p" \
master_ip="192.168.189.1" \
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 keepalives_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 role="Master" interval="9s" timeout="60s"
on-fail="restart" \
op promote interval="0s" timeout="300s" on-fail="restart" \
op demote interval="0s" timeout="300s" on-fail="stop" \
op notify interval="0s" timeout="60s" \
op stop interval="0s" timeout="300s" on-fail="block"

primitive prmPingd197 ocf:pacemaker:pingd \
params \
name="default_ping_set197" \
host_list="192.168.197.66" \
multiplier="100" \
interval="1" \
attempts="2" \
timeout="2" \
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_set190" \
host_list="192.168.190.13" \
multiplier="100" \
interval="1" \
attempts="2" \
timeout="2" \
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 prmDiskd1 ocf:pacemaker:diskd \
params \
name="diskcheck_status_internal" \
device="/dev/mapper/VG02-root" \
options="-e" \
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"

primitive prmDiskd2 ocf:pacemaker:diskd \
params \
name="diskcheck_status" \
device="/dev/mapper/VG04-ZabbixData" \
options="-e" \
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"

primitive vipCheck197 ocf:heartbeat:VIPcheck \
params \
target_ip="192.168.197.67" \
count="1" \
wait="10" \
meta \
resource-stickiness="1" \
op start interval="0s" start-delay="4s" timeout="90s"
on-fail="restart"

primitive vipCheck190 ocf:heartbeat:VIPcheck \
params \
target_ip="192.168.190.14" \
count="1" \
wait="10" \
meta \
resource-stickiness="1" \
op start interval="0s" start-delay="4s" timeout="90s"
on-fail="restart"

primitive vipCheckSupport ocf:pacemaker:Dummy \
meta \
resource-stickiness="1" \
op start interval="0s" timeout="90s" on-fail="restart"

### Resource Location ###
location rsc_location-msPostgresql-1 msPostgresql \
rule -INFINITY: not_defined default_ping_set197 or
default_ping_set197 lt 100 \
rule -INFINITY: not_defined default_ping_set190 or
default_ping_set190 lt 100 \
rule -INFINITY: not_defined diskcheck_status_internal or
diskcheck_status_internal eq ERROR \
rule -INFINITY: not_defined diskcheck_status or
diskcheck_status eq ERROR

### Resource Colocation ###
colocation rsc_colocation-msPostgresql-clnPingd-1 INFINITY: msPostgresql
clnPingd
colocation rsc_colocation-msPostgresql-clnDiskd1-2 INFINITY:
msPostgresql clnDiskd1
colocation rsc_colocation-msPostgresql-clnDiskd2-3 INFINITY:
msPostgresql clnDiskd2
colocation rsc_colocation-master-group-msPostgresql-4 INFINITY:
master-group msPostgresql:Master
colocation rsc_colocation-vipCheckMaster-clnPingd-5 INFINITY:
vipCheckMaster clnPingd
colocation rsc_colocation-vipCheckMaster-msPostgresql-6 INFINITY:
vipCheckMaster msPostgresql:Master
colocation rsc_colocation-vipCheckMaster-vipCheckSupport-7 INFINITY:
vipCheckMaster vipCheckSupport

### Resource Order ###
order rsc_order-clnPingd-msPostgresql-1 0: clnPingd msPostgresql
symmetrical=false
order rsc_order-clnDiskd1-msPostgresql-2 0: clnDiskd1 msPostgresql
symmetrical=false
order rsc_order-clnDiskd2-msPostgresql-3 0: clnDiskd2 msPostgresql
symmetrical=false
order rsc_order-msPostgresql-master-group-4 INFINITY:
msPostgresql:promote master-group:start symmetrical=false
order rsc_order-msPostgresql-master-group-5 0: msPostgresql:demote
master-group:stop symmetrical=false
order rsc_order-vipCheckMaster-master-group-6 INFINITY: vipCheckMaster
master-group symmetrical=true
order rsc_order-vipCheckMaster-vipCheckSupport-7 INFINITY:
vipCheckMaster vipCheckSupport symmetrical=true
order rsc_order-vipCheckSupport-msPostgresql-8 INFINITY:
vipCheckSupport:start msPostgresql:promote symmetrical=true
=================================


On 2015/12/12 9:47, Takehiro Matsushima wrote:
>
> 松島です。
>
> もし差し支えございませんでしたらお使いのLinuxディストリビューションと
> PostgreSQLおよび Pacemakerのバージョンを教えていただけますでしょうか。
> 解決が早まるかと思います。
>
> また、エラーが表示された際に、ログファイルにエラー等は記録ございません
> でしょうか。
> Pacemaker/corosyncおよびPostgreSQLのログをご確認ください。
>
> 本筋ではないかもしれませんが、同期用のVIPはSlaveがどちらのノードであっ
> ても同じ設定でMasterに 接続するために必要ですので、設定なさることを強
> くおすすめします。
> (加えて具体的なノードにMaster/Slaveの役割を固定してしまうのは障害時の
> 運用に縛りがでてしまいますので、これも個人的に はおすすめいたしません)
>
>
>
> _______________________________________________
> Linux-ha-japan mailing list
> Linux-ha-japan@lists.osdn.me
> http://lists.osdn.me/mailman/listinfo/linux-ha-japan