greenplum生产集群中segment故障恢复
目录
3.1在master主机上运行下面命令,重新激活失败的segment
3.3运行gprecoverseg命令,使用-r参数将segment恢复到原来初始化时的角色设置
一、greenplum集群环境
该生产环境集群由四台服务器构成,其中一台为primary master节点,一台为standby master节点,两外两台为segment节点,每个segment节点有四个segment(两个primary segment,两个mirror segment),segment采用group方式进行备份(sdw1的备份都在sdw2上,sdw2的备份都在sdw1上),其角色分配如下图所示:

二、segment故障检查
2.1gpstate -m日志信息

2.2gpstate -c 日志信息

2.3gpstate -e 日志信息

2.4gpstate -s 日志信息
(1)sdw1节点的日志信息




(2)sdw2节点的日志信息




2.5故障说明
Sdw1节点primary segment正常,mirror segment被激活,其mirror segment为sdw2节点上的primary segment备份。Sdw2节点primary segment失败,mirror segment失败。此时集群环境能够正常提供服务,全部负载到sdw1节点上。

使用select * from gp_segment_configuration查看segment角色信息,如下图所示:

三、segment故障恢复
3.1在master主机上运行下面命令,重新激活失败的segment
$ gprecoverseg




3.2运行gpstate 命令用于验证重新同步过程状态
$ gpstate -m

当primary segment发生故障时,mirror segment会被激活为primary segment。运行gprecoverseg命令之后,失败的primary segment成为了mirror segment,而被激活的mirror segment成为了primary segment,segment实例不会返回到在系统初始化时配置的首选角色。这意味着某些segment主机上可能运行多个primary segment实例,而某些segment主机上运行较少的segment,即系统可能处于潜在的不平衡状态。如下图所示,sdw1上的mirror segment变为了primary segment,sdw2上的primary segment变为了mirror segment。即sdw2的primary segment运行在sdw1节点上,系统处于不平衡状态。

此时GPCC的状态为:

3.3运行gprecoverseg命令,使用-r参数将segment恢复到原来初始化时的角色设置
$ gprecoverseg -r
3.4查看gpcc状态


浙公网安备 33010602011771号