在恢复后还原Master镜像

在激活一台后备Master进行恢复后,该后备Master会成为主Master。如果后备Master具有和原始Master主机 相同的能力和可靠性,可以继续把该实例当作主Master。

必须初始化一个新的后备Master继续提供Master的镜像,除非在激活前一个后备Master时已经这样做了。 在活动的Master主机上运行gpinitstandby来配置一个新的standby Master, 详见启用Master镜像

可以在原来的主机上恢复主Master和后备Master。这个过程会交换主Master主机和后备Master主机的角色, 只有强烈希望在恢复之前的相同主机上运行Master实例时才执行这样的操作。

Important: 恢复primary master和standby master实例到他们原始主机并不是一个在线的 操作。执行该操作时,master主机必须被停止。

更多有关Greenplum数据库工具的信息,请见Greenplum数据库工具指南。

在原来的主机上恢复Master和后备Master(可选)

  1. 确认原来的Master主机有可靠的运行条件,确保以前的失效原因已被修复。
  2. O在原来的Master主机上,移动或者移除数据目录gpseg-1。这个例子把该目录 移动到backup_gpseg-1:

    1. $ mv /data/master/gpseg-1 /data/master/backup_gpseg-1

    一旦后备被成功地配置,就可以移除备份目录。

  3. 在原来的Master主机上初始化一个后备Master。例如,从当前的Master主机 (smdw)运行这个命令:

    1. $ gpinitstandby -s mdw
  4. 在初始化完成后,检查后备Master(mdw)的状态,运行 gpstate工具带有-f选项来检查standby master状态:

    1. $ gpstate -f

    standby master 状态应该是passive,WAL sender状态应该是streaming。

  5. 在后备Master上停止Greenplum数据库的Master实例。例如:

    1. $ gpstop -m
  6. 从原始的Master主机mdw运行gpactivatestandby工具, 该主机当前是一个后备Master。例如:

    1. $ gpactivatestandby -d $MASTER_DATA_DIRECTORY

    其中-d选项指定正在激活的主机的数据目录。

  7. 在该工具完成后,运行gpstate工具带有-b选项来检查状态:

    1. $ gpstate -b

    验证原来的主Master状态为Active。当没有配置一个后备Master时, 该命令显示No master standby configured并且该消息表示没有配置一个后备Master实例。

  8. 在后备Master主机上,移动或者移除数据目录gpseg-1。 这个例子移动该目录:

    1. $ mv /data/master/gpseg-1 /data/master/backup_gpseg-1

    一旦standby master配置成功后便可以移除该备份目录。

  9. 在原来的Master主机运行主Greenplum数据库Master之后,可以在原来的后备Master 主机上初始化一个后备Master。例如:

    1. $ gpinitstandby -s smdw

    命令完成后,可以字primary master 主机上运行gpstate -f命令,来检查standby master的状态。

检查主Master镜像进程状态(可选)

可以通过运行gpstate工具带有-f选项来显示standby master主机 的详细信息。

  1. $ gpstate -f

standby master状态应该是passive,WAL sender的状态应该是streaming。

更多有关gpstate工具的信息详见Greenplum数据库工具指南。

Parent topic: 恢复故障的Master