故障セット---Postgresql+keepalived主備切替故障
3274 ワード
前言:
postgresql+keepalivedを高可用性に導入する場合、keepalivedプロファイルにモニタリングスクリプトを設定してpostgresqlサービスを関連付けるのが一般的ですが、もともとこれも小さな問題で、不注意によるものですが、記録しておきましょう.
クラスタ構成台のサーバー、したpostgresql主従、同時に2台のサーバーの上でkeepalived主備切替 をしました keepalivedプロファイルは以下の通り(もう1台はBACKUP、構成は正常): check_postgres.sh検出スクリプトは以下の通りである: crontab周期的実行check_を同時に設定postgres.sh 問題現象: keepalivedが少し起動するとcheck_postgres.shモニタスクリプトが乾く(ただし、プライマリサーバ上のPGサービスは正常) 解決: 不注意なエラーです.keepalivedには周期的な実行スクリプトが設定されており、crontabの周期的なタスクが設定されています.繰り返しトリガによる異常現象のため、crontabの情報を削除すればよい..
小結 emmm...プロファイルの各プロファイルの機能と役割を熟知してください. をよく観察する
postgresql+keepalivedを高可用性に導入する場合、keepalivedプロファイルにモニタリングスクリプトを設定してpostgresqlサービスを関連付けるのが一般的ですが、もともとこれも小さな問題で、不注意によるものですが、記録しておきましょう.
クラスタ構成
! Configuration File for keepalived
global_defs {
router_id LVS_3
script_user root
enable_script_security
}
vrrp_script chk_http_port {
script "/usr/local/bin/check_postgres.sh"
interval 2
weight -20
}
vrrp_instance VI_PG {
state MASTER
interface ens160
virtual_router_id 50
priority 101
advert_int 1
unicast_src_ip 192.168.230.128
unicast_peer {
192.168.230.122
}
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.230.100
}
track_script {
chk_http_port
}
}
#!/bin/bash
count=`netstat -an|grep ":5432" | grep LISTEN| wc -l`
if [ "$count" == "0" ]; then
systemctl stop keepalived
fi
小結