ストリーミングレプリケーションを使用ã—ã¦ã„ã‚‹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)当åˆã¯ï¼‘~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
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)当åˆã¯ï¼‘~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