web-dev-qa-db-ja.com

Repmgr 2.0で監視を設定できません

Githubで提供されている自動フェイルオーバークイックセットアップチュートリアルを使用してrepmgrをセットアップしようとしています Link

しかし、repmgr -d repmgr -U repmgr -h [MASTERIP] -D /var/lib/postgresql/9.1/witness -f /var/lib/postgresql/9.1/repmgr/repmgr.conf witness createを使用して証人を作成しようとすると、私は証人セクションで立ち往生しています。

次のエラーが発生します。

Connection to database failed: fe_sendauth: no password supplied

エラーが話しているデータベースがわかりませんか?マスターのDBか証人か?

また、repmgrに渡すパスワードパラメータがまだ見つかりません。1つでもありますか?

以下は、各サーバーのrepmgr.confファイルです。

証人:

cluster=main
node=3
node_name=witness
conninfo='Host=[WITNESS IP] dbname=witness user=witness password=witness  port=5499'
master_response_timeout=60
reconnect_attempts=6
reconnect_interval=10
failover=automatic
promote_command='promote_command.sh'
follow_command='/usr/lib/postgresql/9.1/bin/repmgr standby follow -f /etc/repmgr/repmgr.conf'

待機する:

cluster=main
node=2
node_name=node2
conninfo='Host=[STANDBY IP] dbname=[DB NAME] user=[DB USER NAME] password=[PASSWORD]'
master_response_timeout=60
reconnect_attempts=6
reconnect_interval=10
failover=automatic
promote_command='promote_command.sh'
follow_command='/usr/lib/postgresql/9.1/bin/repmgr standby follow -f /etc/repmgr/repmgr.conf'

主人:

cluster=main
node=1
node_name=node1
conninfo='Host=[MASTER IP] dbname=[MASTER DB] user=[MASTER DB USER] password=[PASSWORD]'
master_response_timeout=60
reconnect_attempts=6
reconnect_interval=10
failover=automatic
promote_command='promote_command.sh'
follow_command='/usr/lib/postgresql/9.1/bin/repmgr standby follow -f /etc/repmgr/repmgr.conf'
3
Mackwerk

エラーメッセージは、repmgrアカウントが提供されたパスワード(おそらく空のパスワード)でmasterサーバーにログインできないことを意味します。

pg_hba.confの-​​masterで接続を許可する必要があります:

Host    all     repmgr  192.168.1.1/32       md5
Host    replication     all     192.168.1.1/32       md5

次に、マスターサーバーのリロードをトリガーします。

/usr/lib/postgresql/9.1/bin/pg_ctl reload -D /var/lib/postgresql/9.1/main

-DはPostgreSQLのデータディレクトリです)。

いくつかのsecret_passw0rdを使用してマスターでrepmgrアカウントを作成したと仮定します

createuser --login --superuser -P repmgr -W
createdb -O repmgr repmgr

次にstandbyサーバーでpostgresホームに.pgpassファイルを作成します:

su - postgres
cat > .pgpass << EOF
*:*:*:repmgr:secret_passw0rd
EOF
chmod 0600 .pgpass

レプリケーションにmd5パスワード認証を使用していることを前提にしていますが、trustに切り替えると、パスワードの設定をスキップできます。

Host    all     repmgr  192.168.1.1/32       trust
Host    replication     all     192.168.1.1/32       trust

これで、マスターサーバーへの接続を確認できます。

psql -h master.hostname -U repmgr
2
Tombart