故障检测与恢复概述

故障检测与恢复概述

Greenplum数据库服务器名为ftsprobe的(postgres)子进程处理故障检测。ftsprobe会监控Greenplum数据库阵列,它连接并且扫描所有的Segment,并且数据库会按照配置的间隔进行这种处理。

如果ftsprobe无法连接到一个Segment,它会在Greenplum数据库系统目录中标记该Segment为"down"。该Segment会保持无法操作的状态直到管理员发起恢复处理。

如果启用了镜像,在主副本不可用时,Greenplum数据库会自动故障转移到镜像副本。由于所有的数据在余下的活动Segment上客户用,如果Segment实例或者主机失效,系统也是可操作的。

要恢复失效的Segment,管理员需要运行gprecoverseg恢复工具。这个工具定位失效的Segment、验证它们是否有效并且与当前活动的Segment比较事务状态来确定该Segment离线期间所作的更改。gprecoverseg会与活动的Segment同步发生改变的数据库文件并且重新让Segment上线。管理员可以在Greenplum数据库在线且运行时执行恢复。

如果禁用了镜像,当一个Segment实例失效时,系统会自动关闭。在操作能继续之前,管理员必须手工恢复所有的失效Segment。

故障检测与恢复处理和配置选项的详细描述请见检测失效的Segment