首页 > 数据库 > > GaussDB 200常用集群维护操作-实例主备切换
集群在运行过程中,出于运维目的数据库管理员可能需要手工对DN或GTM做主备切换。例如发现DN或GTM主备自动failover后想恢复原有的主备角色,或者怀疑硬件故障想手动switchover。
说明:switchover为维护操作:确保集群状态正常,所有业务结束,并使用pgxc_get_senders_catchup_time()视图查询无主备追赶后,再进行switch操作。
switchover有普通主备切换和快速主备切换两种操作,普通主备切换适用于一般场景,快速主备切换适用于业务量巨大、并发量巨大的大压力场景。
快速主备切换需要待切换的一组GTM、DN实例状态全部是正常的。
快速主备切换有下面两种方式:
cm_ctl switchover -n nodeid -D /srv/BigData/mppdb/data2 -q其中,参数q表示快速切换,nodeid为需要升主的备实例所在节点ID,/srv/BigData/mppdb/data2为备DN或GTM的数据目录。
cm_ctl switchover -a -q操作步骤
gs_om -t switch -h plat1 -D /srv/BigData/mppdb/data2plat1为当前备DN或GTM所在的主机。
/srv/BigData/mppdb/data2为plat1备DN或GTM的数据目录。
注意:对于同一对实例,上一次主备切换未完成,不能执行下一次切换。对于业务正在操作时,发起switchover,可能主机的线程无法停止导致switchover显示超时,实际后台仍然在运行,等主机线程停止后,switchover即可完成。比如在主机删除一个大的分区表时,可能无法响应switchover发起的信号。
将DN备实例切换为主实例。假设备实例所在主机plat1,路径为“/gaussdb/data/data_dnS1”。
gs_om -t switch -h plat1 -D /gaussdb/data/data_dnS1
Switching instances.
Successfully switched instances.异常判断标准如下:
gs_om -t status -h plat1
...
node : 1
instance_id : dn_6001_6002
node_ip : 192.168.0.11
data_path : /gaussdb/data/data_dn1
type : Datanode
instance_state : Standby
static_connections : 2
HA_state : Need repair
reason : Mode not matchedgs_om -t status -h plat2
...
node : 2
instance_id : dn_6001_6002
node_ip : 192.168.0.12
data_path : /gaussdb/data/data_dnS1
type : Datanode
instance_state : Standby
static_connections : 2
HA_state : Need repair
reason : Mode not matched查询结果显示两个实例的状态都为Standby,这种状态为异常状态。
gs_om -t status --detail ## 查找主CM Server所在服务器登录主CM Server所在服务器。
ps -ef | grep cm_server ## 查询主CM Server的进程
omm 125124 1 0 Jul23 ? 00:01:12 ${BIGDATA_HOME}/mppdb/core/bin/cm_server125124为主CM Server的进程号。
kill -9 125124CM Server自动重启后会停止异常的主备实例,重新仲裁。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3139441/ ,如需转载,请注明出处,否则将追究法律责任。