节点替换或下线
OBServer
OBServer 替换将提供三种场景:
- 场景一:OBServer 所在服务器故障,需要重新安装系统,但是没有空闲的机器补充,后续初始化完需要将这台机器加入到集群,补齐副本。
- 场景二:OBServer 所在服务器故障,可以补充空闲的机器;
- 场景三:BServer 所在服务器存在已知问题(此时还未故障),需要用正常的机器替换掉。
注意
新增节点操作可以参照 扩缩容,节点数量按需添加。如果IP、配置不变,那么部署完成后直接启动就可以了。
如果可以使用 OCP 来接管,推荐使用 OCP 直接进行添加/替换节点操作。
如下操作都是在 sys 租户下进行。
场景一:服务器故障并且后续需要复用&补齐副本
-
缩短永久下线时间,让集群主动将节点永久下线(这时候如果有可用的 OBServer 会自动补齐副本,该场景默认不会有)
alter system set server_permanent_offline_time='20s'; -
确认节点已经永久下线
select * from DBA_OB_ROOTSERVICE_EVENT_HISTORY where event like "%permanent_offline%" order by 1 desc limit 10; -
观察日志流和副本是否已经没有该节点的信息
select SVR_IP,ROLE,count(*) from CDB_OB_TABLE_LOCATIONS group by SVR_IP,ROLE;
select SVR_IP,ROLE,count(*) from CDB_OB_LS_LOCATIONS group by SVR_IP,ROLE; -
等待机器维护完成,并完成前置工作(admin用户、目录、授权等)
-
重新部署 OBserver 并加入到集群
-
登录集群观察副本情况,正常情况下副本会自动补齐。
select SVR_IP,ROLE,count(*) from CDB_OB_TABLE_LOCATIONS group by SVR_IP,ROLE;
select SVR_IP,ROLE,count(*) from CDB_OB_LS_LOCATIONS group by SVR_IP,ROLE; -
将 server_permanent_offline_time 恢复
alter system set server_permanent_offline_time='3600s';