主备复制类问题 本页介绍天翼云TeleDB数据库主备复制类问题。 xlog(WAL)日志被清理问题 问题描述 在添加备节点、重做备机,或在日常运行中,可能遇到备节点报错 FATAL,XX000,"could not receive data from WAL stream: ERROR: requested WAL segment000000010000000600000054 has already been removed 可能影响 添加备节点失败; 重做备机失败; 主备复制不同步,导致备机不可用; 解决步骤 通常出现在WAL日志文件增长较快,且DN节点数据量较大,添加备机或重做备机需要较长时间的场景,针对此场景,可以有以下应对策略: 1. DN节点数据量较大,应控制好单节点DN数据量,大小建议不超过510T,同时要确保有较好的磁盘性能,整体添加备节点、重做备机时间控制在12小时内存完成; a、如果单DN容量超过了建值,则应该通过横向扩容方式,将DN数据分布到更多服务器; b、如果因磁盘性能不足,导致整个任务时间过长,则建议节点在横向扩容的基础上,优化磁盘I/O,或更换性能更好的磁盘; 2. 选择在业务低峰期添加备节点、重做备机,此时产生的WAL日志速度较慢,可以保证主节点默认保留的WAL日志文件在任务完成前不被清理; 3. 调大参数walkeepsegments,该参数用于指定pgwal目录中保存的过去的WAL日志文件的最小数量,避免因主节点保留文件数量不够,导致在添加备节点、重做备机任务执行期间被自动清理;默认WAL日志文件大小为16MB,需要提前预估日志文件占用空间,避免磁盘空间不足问题。 4. 主备节点不同步,延迟过大也可能导致主节点日志在同步到备机前被清理 a、可能是备节点服务器性能较差,主节点业务高峰期时,备节点WAL日志接收延迟 解决办法:应确保主备节点服务器配置一致,避免因配置不对等导致的性能问题,以及可能出现的发生主备切换后,新的主节点性能不足,影响业务的问题; b、可能是网络异常或主节点上有大事务,生成大量WAL日志,导致同步延迟 解决办法:应该确保网络稳定;避免大事务,应拆分成多个小事务执行。