GaussDB for DWS实例主备切换及主备均衡
操作场景及注意事项
lDN或者GTM等实例发生主备切换
l集群在运行过程中,出于运维目的数据库管理员可能需要手工对DN或GTM做主备切换。例如发现DN或GTM主备自动failover后想恢复原有的主备角色,或者怀疑硬件故障想手动switchover。
l集群在运行过程中,如果发生了主机或某些实例故障,集群管理模块会自动将备实例提升为主实例继续提供服务;或是由于数据库集群管理人员手工进行过主备切换操作后,使当前集群各主机上运行的主实例(GTM,DN)数不均等,造成集群负载不均衡,即集群“balanced”状态为"No"。这种情况下可以通过集群管理命令将集群中的数据库实例恢复为初始配置的主备状态。
l存在实例异常时,需要先将实例修复后,才能进行重置。
以下分实例主备切换和重置实例状态分别介绍:
实例主备切换
注意事项:
l执行切换时需停止业务不停止业务可能导致切换失败 l查询pgxc_get_senders_catchup_time()视图为空
查询方法如下:连接数据库执行语句select pgxc_get_senders_catchup_time();
l操作前做checkpoint
操作步骤:
1.omm用户登录GaussDB A集群任一主机。执行如下命令加载环境变量
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
2.执行如下命令进行主备切换。
gs_om -t switch -h plat1 –D /srv/BigData/mppdb/data2
plat1为当前备DN或备GTM所在的主机。
/srv/BigData/mppdb/data2为plat1备DN或备GTM的数据目录。
注意:
对于同一对实例,上一次主备切换未完成,不能执行下一次切换。对于业务正在操作时,发起switchover,可能主机的线程无法停止导致switchover显示超时,实际后台仍然在运行,等主机线程停止后,switchover即可完成。比如在主机删除一个大的分区表时,可能无法响应switchover发起的信号。
重置实例状态操作步骤
注意事项:
l执行切换时需停止业务,不停止业务可能导致切换失败 l查询pgxc_get_senders_catchup_time()视图为空
查询方法如下:连接数据库执行语句select pgxc_get_senders_catchup_time();
l操作前做checkpoint
操作步骤:
1.omm用户登录GaussDB A集群任一主机。执行如下命令加载环境变量
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
2. 执行以下命令查询并确认集群运行状态及“balanced”状态。
gs_om -t status –detail
“cluster_state”为“Normal”表示集群运行正常。
“balanced”状态为“No”表示集群实例发生过主备切换。
部分查询结果如下:
3.使用如下命令查看集群状态确认是哪些节点上的实例发生过主备切换
gs_om -t status –detail
例如下面示例中,node2节点上的主dn2发生过主备切换。该DN原始为主DN(“state”中的字母“P”代表其初始为Primary DN),当前切换成了备DN(“state ”状态变成了“Standby Normal”)。
4.使用如下命令将集群中发生切换的实例恢复为初始配置的主备状态。
gs_om -t switch --reset --time-out=300
300为切换的等待时间,单位为s。切换后集群的“balanced”状态变为“Yes”。
执行结果如下:
Operating: Switch reset.
cm_ctl: cmserver is rebalancing the cluster automatically.
......
cm_ctl: switchover successfully.
Operation succeeded: Switch reset.
错误排查:
l如果重置实例状态失败,请根据日志文件中的日志信息排查错误。重置实例日志为/var/log/Bigdata/mpp/omm/om目录下最新生成的gs_om日志
- 点赞
- 收藏
- 关注作者
评论(0)