在恢复后还原Master镜像
在激活一台后备Master进行恢复后,该后备Master会成为主Master。如果后备Master具有和原始Master主机相同的能力和可靠性,可以继续把该实例当作主Master。
必须初始化一个新的后备Master继续提供Master的镜像,除非在激活前一个后备Master时已经这样做了。在活动的Master主机上运行gpinitstandby来配置一个新的后备Master。
可以在原来的主机上恢复主Master和后备Master。这个过程会交换主Master主机和后备Master主机的角色,只有强烈希望在恢复场景之前的相同主机上运行Master实例时才应该执行这样的处理。
更多关于Greenplum数据库工具的信息请见Greenplum数据库工具指南。
在原来的主机上恢复Master和后备实例(可选)
- 确认原来的Master主机有可靠的运行条件,确保以前的失效原因已被修复。
在原来的Master主机上,移动或者移除数据目录gpseg-1。这个例子把该目录移动到backup_gpseg-1:
$ mv /data/master/gpseg-1 /data/master/backup_gpseg-1
一旦后备被成功地配置,就可以移除备份目录。
在原来的Master主机上初始化一个后备Master。例如,从当前的Master主机(smdw)运行这个命令:
$ gpinitstandby -s mdw
在初始化完成后,检查后备Master(mdw)的状态,用-f 选项运行gpstate来检查状态:
$ gpstate -f
状态应该是In Synch。
在后备Master上停止Greenplum数据库的Master实例。例如:
$ gpstop -m
从原始的Master主机mdw运行gpactivatestandby工具,该主机当前是一个后备Master。例如:
$ gpactivatestandby -d $MASTER_DATA_DIRECTORY
其中-d选项指定正在激活的主机的数据目录。
在该工具完成后,运行gpstate来检查状态:
$ gpstate -f
验证原来的主Master状态为Active。当没有配置一个后备Master时,该命令显示-No entries found并且该消息表示没有配置一个后备Master实例。
在后备Master主机上,移动或者移除数据目录gpseg-1。这个例子移动该目录:
$ mv /data/master/gpseg-1 /data/master/backup_gpseg-1
一旦成功地配置好后备,就可以移除备份目录。
在原来的Master主机运行主Greenplum数据库Master之后,可以在原来的后备Master主机上初始化一个后备Master。例如:
$ gpinitstandby -s smdw
可以显示Greenplum数据库系统视图pg_stat_replication中的信息。该视图列出用于Greenplum数据库Master镜像的walsender进程的信息。例如,这个命令显示walsender进程的进程ID和状态:
$ psql dbname -c 'SELECT procpid, state FROM pg_stat_replication;'
上级主题: 恢复失效的Master