达梦数据库DW 主备集群自动切换测试
目录
(3)使用第三台客户端配置好达梦数据库monitor,并正常启动monitor:
(2)主数据库模拟杀掉守护进程和数据库服务进程,确认监视器运行状态:
1、测试说明:
(1)本次测试环境:
| 主机名 | 服务ip | 心跳ip | 数据库名 | 实例名 |
| dmdb01 主 | 192.168.226.190 | 192.168.226.195 | dmdb | dw1 |
| dmdb02 备 | 192.168.226.191 | 192.168.226.196 | dmdb | dw2 |
| Monitor | 192.168.226.192 | 192.168.226.197 |
(2)配置好达梦数据库主备集群并正常运行

(3)使用第三台客户端配置好达梦数据库monitor,并正常启动monitor:
| MON_DW_CONFIRM = 1 #确认监视器模式 MON_LOG_PATH = /home/dmdba/dmdbms/log #监视器日志文件存放路径 MON_LOG_INTERVAL = 60 #每隔 60 s 定时记录系统信息到日志文件 MON_LOG_FILE_SIZE = 200 #每个日志文件最大 32 MB MON_LOG_SPACE_LIMIT = 1024 #不限定日志文件总占用空间 [GRP_DW] MON_INST_OGUID = 453331 #组 GRP_DW 的唯一 OGUID 值 #以下配置为监视器到组 GRP_DW 的守护进程的连接信息,以“IP:PORT”的形式配置 #IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT MON_DW_IP = 192.168.226.195:7436 MON_DW_IP = 192.168.226.196:7436 |
2、测试项目
(1)模拟主数据库节点服务进程被杀:
通过root用户将dmserver进程kill:

确认监视器收到主实例DW1故障消息,守护进程检测到DW1数据库进程挂掉,自动开始拉起DW1,确认监视器开始接管集群,将备机DW2提升为primary,切换后数据库正常工作。


此时,原来的DW1变为standby模式,而DW2提升为primary。

(2)主数据库模拟杀掉守护进程和数据库服务进程,确认监视器运行状态:
此时,DW2为primary,在DW2数据库服务器使用root权限,杀掉dmwatch进程,然后在杀掉dmserver进程:

确认监视器接收DW2的守护进程消息超时,确认primary异常后开始自动接管。此时,将DW1自动提升为PRIMARY。

此时,DW2因为守护进程和数据库进程均被杀,确认监视器收不到消息而显示为ERROR,而DW1已经自动切换成primary模式 :

查看DW2主机,均无数据库进程和守护进程。因守护进程已经被杀,无法自动拉起数据库。
使用dmdba用户手动拉起DW2数据库服务,再拉起DW2守护进程。


确认监视器接受到DW2数据库服务的守护进程消息,开始对DW2数据库进行接管,dw2数据库切换成stanby模式。

(3)备机数据库杀掉备机数据库进程。
此时DW2为备库,使用ROOT用户杀掉DW2的数据库服务器的服务进程dmserver:

DW2守护进程发现DW2数据库进程不在了,开始自动拉起DW2的数据库服务进程。确认监视器显示DW2数据库实例正常后由DW2守护进程进行拉起。

此时查看后台数据库服务进程已经拉起:

备机DW2的数据库状态又恢复为open状态。

(4)模拟备机数据库守护与数据库服务进程被杀:
使用root用户杀掉备机DW2的守护进程和数据库服务:

此时确认监视器提示DW2的守护进程消息接收超时,监视器将DW2的状态切换为ERROR,不做其他操作。

重新拉起数据库服务、守护进程后,确认监视器重新接受到DW2守护进程消息,确认DW2数据库服务已经启动,开始将DW2数据库状态切换到OPEN状态:

3、测试结论
(1)当主备集群主数据库服务异常后,确认监视器会自动接管集群并将备机切换为主库继续对外服务。同时,如果守护进程发现数据库服务进程异常后,会自动重新拉起数据库服务。
(2)当准备集群的主数据库守护进程与数据库服务进程同时异常的情况下,确认监视器也会自动将备机切换为主,集群正常对外服务。重新拉起异常节点的数据库守护进程与数据库服务进程后,确认监视器将其数据库状模式切换为standby模式。
(3)当备机数据库服务进程异常,数据库对外服务不受影响。备机的守护进程会尝试拉起数据库服务,确认监视器提示备机数据库为ERROR。当守护进程自动拉起数据库服务后,确认监视器将备机数据库状态又切换为OPEN状态。
(4)当备机的守护进程与数据库服务进程都异常,确认监视器提示接收备机守护进程消息超时,自动将数据库状态切换为error,此时不影响数据库集群的对外服务。当备机守护进程和数据库进程拉起后,确认监视器重新接收到备机的守护进程消息,自动将备机的数据库状态切换为OPEN继续对外服务。
更多达梦技术资讯,请访问达梦技术社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心达梦数据库产品体验站,DM8在线试玩,达梦数据库全系列产品免费下载,官方权威的快速上手文档和产品手册,最活跃的达梦技术社区,面向全行业ISV厂商免费的云适配服务。
https://eco.dameng.com/
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)