表?6.1.?同步流复制不同机器配置
角色 | IP | 数据目录 |
---|---|---|
主机 | 192.168.0.122 | /home/uxdb/uxdbinstall/dbsql/bin/test |
备机01 | 192.168.0.123 | /home/uxdb/uxdbinstall/dbsql/bin/test122 |
备机02 | 192.168.0.124 | /home/uxdb/uxdbinstall/dbsql/bin/test122 |
主机配置:
vi /home/uxdb/uxdbinstall/dbsql/bin/test/ux_hba.conf host replication uxdb 0.0.0.0/0 md5 vi /home/uxdb/uxdbinstall/dbsql/bin/test/uxsinodb.conf listen_addresses = '*' max_wal_senders = 10 wal_level = replica synchronous_standby_names = 'standby01,standby02' ux_ctl reload -D /home/uxdb/uxdbinstall/dbsql/bin/test
备机01配置:
生成基础备份:
ux_basebackup -h 192.168.0.122 -U uxdb -F p -P -R -D /home/uxdb/uxdbinstall/dbsql/bin/test122
创建并配置标志文件standby.signal:
vi /home/uxdb/uxdbinstall/dbsql/bin/test122/standby.signal standby_mode = 'on'
配置uxsinodb.auto.conf:
vi /home/uxdb/uxdbinstall/dbsql/bin/test122/uxsinodb.auto.conf primary_conninfo = 'application_name=standby01 user=uxdb password=123456 host=192.168.0.122 port=5432 sslmode=prefer sslcompression=1 target_session_attrs=any'
启动:
vi /home/uxdb/uxdbinstall/dbsql/bin/test122/uxsinodb.conf hot_standby=on ux_ctl -D /home/uxdb/uxdbinstall/dbsql/bin/test122 start
备机02配置:
生成基础备份:
ux_basebackup -h 192.168.0.122 -U uxdb -F p -P -R -D /home/uxdb/uxdbinstall/dbsql/bin/test122
创建并配置标志文件standby.signal:
vi /home/uxdb/uxdbinstall/dbsql/bin/test122/standby.signal standby_mode = 'on'
配置uxsinodb.auto.conf:
vi /home/uxdb/uxdbinstall/dbsql/bin/test122/uxsinodb.auto.conf primary_conninfo = 'application_name=standby01 user=uxdb password=123456 host=192.168.0.122 port=5432 sslmode=prefer sslcompression=1 target_session_attrs=any'
启动:
vi /home/uxdb/uxdbinstall/dbsql/bin/test122/uxsinodb.conf hot_standby=on ux_ctl -D /home/uxdb/uxdbinstall/dbsql/bin/test122 start
验证结果:
关掉备机01,主机可以正常操作;
关掉备机01和02,主机的非更新操作正常,更新操作夯住,启动劝拿庞蜗菲教ㄗ⒉嵬净备机后,夯住的操作可以继续。
关掉主机,如果此时更新操作正在同步,正在等待的事务将在主机恢复时被记为完全同步。没有办法确认所有备机是否已经收到了在主机崩溃时所有还未处理的WAL 数据。即使在主机上显示为已提交,某些事务可能不会在后备服务器上被提交。