目录
1.Greenplum数据库中的冗余和故障转移
可以通过部署mirror组件避免单点故障,下面将详细介绍Greenplum中master和segment的mirror策略。
1.1关于Segment的mirror
部署Greenplum数据库系统时,可以配置primary segment。mirror segment允许数据库在primary segment不可用时进行故障转移。在集群部署时,强烈建议在生产系统中使用mirror。
Mirror segemnt必须部署在与primary segment不同的主机上,以防止单个主机故障。
初始化或扩展Greenplum系统时,可以使用两种mirror配置策略。默认配置是(group mirroring )将主机primary segment的所有mirror segment放置在群集中的另一台主机上。另外一种配置策略为spread mirroring,这种方式会将每个主机mirror分布在其余主机上,并要求群集中的主机数多于每个主机的primary segment数。下图为spread配置。
1.2Segment故障转移和恢复
在Greenplum数据库系统中启用mirror时,如果主副本不可用,系统将自动故障转移到mirror segment。如果segment实例或主机出现故障,只要所有数据在剩余的活动segment上都可用,Greenplum数据库系统就可以继续运行。
如果master服务器无法连接到segment实例,它会在Greenplum数据库系统目录(system catalog)中将该segment实例标记为down状态,并激活与其对应的segment实例。在管理员采取措施使该段重新恢复之前,失败的segment实例将保持不运行状态。使用gpstate工具可用于识别失败的segment。管理员可以在系统启动并运行时恢复故障的segment。恢复过程仅复制在segment停止运行时遗漏的更改。