本文简单的讲述一下postgresql跨广域网的容灾.
1. 广域网首先要考虑网络稳定情况, 丢包率等.
使用postgresql 流复制不依赖网络稳定情况, 所以比较有弹性.
通过配置archive_command, 或者wal_keep_segments保证有足够的pg_xlog文件, 确保网络极度不稳定或者长时间中断的情况下不需要重做基础备份.
2. 广域网环境同时还需要考虑数据被截取的可能.
使用ssh建立隧道, 加密传输数据.
3. 广域网环境还需要考虑带宽的问题.
使用ssh建立隧道, 增加数据压缩选项.
环境 :
idc1
idc1_server1
idc2
idc2_server1
将id_rsa.pub拷贝到~/.ssh/authorized_keys
idc2_db1 : -- 主库
idc1_server1 :
将在本地启动一个监听17100端口. 访问17100端口相当于通过idc2_server1访问idc2_db1_ip:5432端口.
数据加密和压缩发生在idc1_server1和idc2_server1之间.
数据库pg_hba.conf应该开放idc2_server1的访问许可.
[监控]
# cat check_pg_rongzai.sh
配置nagios
【参考】1. http://blog.163.com/digoal@126/blog/static/16387704020115294425540/
2. http://blog.163.com/digoal@126/blog/static/163877040201152753352356/
3. http://blog.163.com/digoal@126/blog/static/16387704020132279020755/
4. http://www.psc.edu/index.php/hpn-ssh
ssh 广域网加速补丁.