计划在同城双中心之间部署HADR实现数据同步(或半同步)避免双活中心数据丢失,用于数据补偿,无接管服务需求,请问针对该应用场景,在安装配置时有什么需要注意的环境配置要求(操作系统内核参数、数据库参数等)或者需要注意的环境部署要求
雷大师总结的很好。另外补充一点的是最好用单独的一块网卡用于HADR的日志传输,在业务网络访问比较繁忙的情况下,与服务网络共用网卡对HADR传输的性能影响还是非常大的。
另外一个是如果在主端执行不记日志的操作会导致后续数据无法复制。一般在HADR情况下,需要将数据库参数BLOCKNONLOGGED设置成YES.
收起对于这样的场景,需要同时考虑HADR主库对外的服务,不能因为网络故障,备库慢或故障而长时间影响主库服务,也要考虑数据丢失的风险,毕竟还有灾难发生后补偿数据的需要。
1、设置合适的DB2_HADR_PEER_WAIT_LIMIT
避免备库慢或备库阻塞情况下主库被阻塞,在Peer状态下,主库被阻塞DB2_HADR_PEER_WAIT_LIMIT秒后,HADR连接将被断开;该参数设置较小可以降低客户端应用响应时间,但是增加了数据丢失的风险。
2、设置较小的HADR_TIMEOUT可以快速检测网络故障和备库宕机故障,同时设置较大的DB2_HADR_PEER_WAIT_LIMIT可以在HADR连接正常情况下更长时间保持复制状态,降低数据丢失风险
3、网络相关参数
设置DB2_HADR_SOSNDBUF / DB2_HADR_SORCVBUF 变量,覆盖操作系统套接字通讯的发送区/接收区缓冲,如果网络环境不稳定经常抖动的话可以设置较大的值。
4、打开备机的日志缓冲
设置参数HADR_SPOOL_LIMIT,避免主机突然的业务井喷导致备机处理不过来,进而导致主库交易挂起。