2 台のサーバーを使用して postgres レプリケーション構成を作成しようとしています。この手順は、Ubuntu 14.04 での RepMgr および PgBouncer を使用した PostgreSQL 9.4 レプリケーションに似ています
。レプリケーション構成として repmgr + pgbouncer を使用しています。2 つのホスト dhost1 と dhost2 があるとします。Repmgr メタデータ データベースはrepmgrdbで、ユーザーはrepmgr_userです。
dhost1 には pgbouncer と Repmgr の構成があり、マスターです。dbhost1 の Repmgr の構成を以下に示します。
cluster = test
node = 1
node_name = dhost1
use_replication_slots = 1
conninfo='host=dhost1 user=repmgr_user dbname=repmgrdb'
pg_bindir=/usr/lib/postgresql/9.5/bin
## repmgr.conf at master ##
dhost2 にも Repmgr の構成があり、スレーブ モードになっています。その構成は以下に記載されています
cluster = test
node = 2
node_name = dhost2
use_replication_slots = 1
conninfo='host=dhost2 user=repmgr_user dbname=repmgrdb'
pg_bindir=/usr/lib/postgresql/9.5/bin
## repmgr.conf at slave ##
マスターに正常に登録でき、cluster show コマンドでマスターを確認できます。
スレーブ側ではpg_basebackup
、コマンドでマスターを複製する方法を使用しています
repmgr -f /etc/repmgr/repmgr.conf --force -h dhost1_ip_address_goes_here> -U repmgr_user -d repmgrdb -v standby clone
上記のコマンドでは、以下のエラーが発生します。
[2016-08-08 10:05:26] [NOTICE] using configuration file "/etc/repmgr/repmgr.conf"
[2016-08-08 10:05:26] [NOTICE] setting data directory to: /var/lib/postgresql/9.5/main
[2016-08-08 10:05:26] [HINT] use -D/--data-dir to explicitly specify a data directory
[2016-08-08 10:05:26] [NOTICE] starting backup (using pg_basebackup)...
[2016-08-08 10:05:26] [HINT] this may take some time; consider using the -c/--fast-checkpoint option
[2016-08-08 10:05:31] [NOTICE] copying configuration files from master
[2016-08-08 10:05:31] [ERROR] aborting, remote host <dhost1_ip_address_goes_here> is not reachable.
[2016-08-08 10:05:31] [ERROR] unable to take a base backup of the master server>
[2016-08-08 10:05:31] [WARNING] destination directory (/var/lib/postgresql/9.5/main) may need to be cleaned up manually
また、とpostgres
の間のユーザーにパスワードなしの ssh を設定しました。dhost1
dhost2
pg_basebackup
また、私はコマンドから取ることができました
pg_basebackup -h <dhost1_ip_address_goes_here> -P -v -U repmgr_user -X stream -D 9.5/main -R
私はpostgresqlレプリケーションの初心者です。答えを教えてください。