【DM8】DSC故障处理与故障自动重连
1 DSC故障处理
-
DMCSS 一旦监控到dmserver发生故障,会马上启动故障处理,各节点dmserver收到故障处理命令后,启动故障处理流程。
-
故障处理机制下,一旦产生节点故障, 登录到故障节点的所有连接将会断开。所有未提交事务将强制回滚。
-
活动节点上的用户请求可继续执行,一旦产生节点间信息传递,当前操作会被挂起。
-
DMDSC 故障处理分为两个阶段;
(1) 第一阶段由所有活动节点共同参与,进行全局的信息收集、重构;
(2) 第二阶段由控制节点执行,将故障节点的活动事务回滚、并 PURGE 故障节点已提交事务的修改。 -
在第一阶段执行期间,数据库实例不提供数据库服务,所有用户请求将被挂起。在第二阶段操作之前,会唤醒所有活动节点,正常提供数据库服务。
2 故障自动重连
2.1 配置服务名
- 编辑dm_svc.conf文件。
(Windows 下位于%SystemRoot%\system32目录,Linux下位于/etc 目录。)
2.2 模拟故障自动重连
- 首先两个节点分别 启动dmcss
- 首先两个节点分别 启动dmasmsvr
- 首先两个节点分别 启动dmserver
- 使用刚才配置的服务名登录disql
- 确认当前连接到的节点实例
- 终止该实例进程 (尝试关闭DSC1实例,但由于DSC集群是两个实例访问一个数据库,因此DSC0实例也会被关闭,无法模拟单机故障)
- 在刚才disql会话中,再次查询当前连接节点实例。
tips:配置服务时,当dmdcr_cfg.ini与dm.ini中端口号不一致,需要按照dmdcr_cfg.ini文件中dcr_ep_port为准