Cra*_*ein 18 postgresql failover
如何在 PostgreSQL 9.1 中设置两台相同的服务器以进行自动故障转移。
操作系统
Centos 5
PostgreSQL 9.1 源码编译
postgres 用户账号存在于两台机器上,并且有一个 ssh 无密码密钥,可以连接两台机器。
我当前的设置:
主服务器配置:
postgresql.conf:
listen_address = '*'
wal_level = hot_standby
max_wal_senders = 3
checkpoint_segments = 16
wal_keep_segments = 8
archive_mode = on
archive_command = 'cp "%p" /opt/pgsql91/archive/"%f"'
Run Code Online (Sandbox Code Playgroud)
pg_hba.conf:
host replication all 10.0.66.1/32 trust
host replication all 10.0.66.2/32 trust
Run Code Online (Sandbox Code Playgroud)
备用服务器
postgresql.conf 和 pg_hba.conf 与主服务器上配置的相同。
恢复.conf:
standby_mode = 'on'
primary_conninfo = 'host=10.0.66.1'
trigger_file = '/opt/pgsql91/data/trigger.txt'
Run Code Online (Sandbox Code Playgroud)
感谢 hzRoot,我现在明白了如何将服务器从备用服务器切换到主服务器。
使用以下命令,我可以将新从站与新主站同步,然后获取复制备份并运行。
在新主 (10.0.66.2) 上
在新从站 (10.0.66.1) 上
所以我现在的问题是:
查看repmrg:
repmgr 是一组开源工具,可帮助 DBA 和系统管理员管理 PostgreSQL 数据库集群。
通过利用 PostgreSQL 9 中引入的 Hot Standby 功能,repmgr 极大地简化了设置和管理具有高可用性和可扩展性要求的数据库的过程。
repmgr 通过以下方式简化了管理和日常管理,提高了生产力并降低了 PostgreSQL 集群的总体成本:
- 监控复制过程;允许 DBA 发出高
- 可用性操作,例如切换和故障转移。
它做两件事:
对于自动故障转移, repmgrd 可以解决问题,并且它不是网络中的 SPOF,如 pgPool。但是,监视所有守护进程并在失败后将它们恢复仍然很重要。
2.0 版即将发布,包括 RPM。
归档时间: |
|
查看次数: |
28839 次 |
最近记录: |