原 Greenplum中恢复故障的Master命令gpactivatestandby
Tags: 原创故障处理GreenPlummastergpactivatestandby
恢复故障的Master
如果主Master故障,Greenplum数据库不可访问且WAL复制会停止。使用gpactivatestandby来激活后备Master。 在激活后备Master过程中,Greenplum数据库会重构Master主机为最后一次成功提交事务时的状态。
以下步骤假设系统中已经配置了standby master主机。详见启用Master镜像。
激活standby master
在standby master主机上运行gpactivatestandby工具 来激活它。例如:
1$ gpactivatestandby -d /data/master/gpseg-1此处-d选项指定正在激活的master主机的数据目录。
激活standby后,状态变为active或primary master
上面工具执行完成后,运行gpstate带有-b 选项来显示系统汇总信息:
1$ gpstate -bmaster实例状态应该为Active。 如果没有配置standby master,该命令会显示standby master的状态为 No master standby configured。如果配置了standby master,它的状态为 Passive。
在切换到最新的活动Master主机后,在其上运行 ANALYZE 例如:
1$ psql dbname -c 'ANALYZE;'可选:如果激活之前的standby master时没有配置一个新的standby master。可以运行 gpinitstandby工具来配置激活一个新的standby master。
Important: 必须初始化一个新的standby master以继续为master提供镜像。
关于恢复原来master和standby master的详细配置方法,请见在恢复后还原Master镜像。
在恢复后还原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(可选)
确认原来的Master主机有可靠的运行条件,确保以前的失效原因已被修复。
O在原来的Master主机上,移动或者移除数据目录gpseg-1。这个例子把该目录 移动到backup_gpseg-1:
本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!