达梦数据库DM8的DSC集群与DM7相比,新增加了DMCSSM监视器功能,使用监视器启停集群非常方便。
首先,介绍一下什么是DSC
DMDSC:DM共享存储数据库集群,英文全称DM Data Shared Cluster。
DM共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。DMDSC支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。
DMDSC的主要特点包括:
◼ 高可用性
只要集群中有一个活动节点,就能正常提供数据库服务。
◼ 高吞吐量
多个节点同时提供数据库服务,有效提升集群的整体事务处理能力。
◼ 负载均衡
用户的连接请求被平均分配到集群中的各个节点,确保各个节点的负载大致平衡。
在DM8中,新增加了监视器的功能,使用起来非常方便,功能也很人性化。但是需要注意的是,DSC中的监视器与DM实时主备或读写分离集群中的监视器不同,没有确认监视器与非确认监视器的说法,同一个DMDSC集群中,允许最多同时启动10个监视器,建议监视器放在独立的第三方机器上,避免由于节点间网络不稳定等原因导致监视器误判节点故障。
DMCSSM监视器的功能说明
1. 监控集群状态
DMCSS每秒会发送集群中所有节点的状态信息、当前连接到DMCSS的监视器信息以及DCR的配置信息到活动的监视器上,监视器提供对应的show命令用于查看各类信息。
2. 打开/关闭指定组的自动拉起
DMCSSM提供SET AUTO RESTART ON/SET AUTO RESTART OFF命令,通知DMCSS打开或关闭对指定组的自动拉起功能,此功能和DMCSS的监控打开或关闭没有关系。
3. 强制OPEN指定组
DMCSSM提供OPEN FORCE命令,在启动ASM或DB组时,如果组中某个节点发生硬件故障等原因导致一直无法启动,可执行此命令通知DMCSS将ASM组或DB组强制OPEN,不再等待故障节点启动成功。
4. 启动/退出集群
DMCSSM提供EP STARTUP/EP STOP命令,可以通知DMCSS启动/退出指定的ASM或DB组。
5. 集群故障处理
DMCSSM提供EP BREAK/EP RECOVER命令,在主CSS的监控功能被关闭的情况下,可以通过执行这些命令手动进行故障处理和故障恢复。另外在某些特殊场景下还可通过EP HALT命令强制退出指定节点
DMDSC启动、关闭流程
启动:
DMDSC是基于共享存储的数据库集群系统,包含多个数据库实例,因此,与单节点的达梦数据库不同,DMDSC集群需要在节点间进行同步、协调,才能正常地启动、关闭。启动DMDSC集群之前,必须先启动集群同步服务DMCSS,如果使用了DMASM文件系统,则DMASMSVR服务也必须先启动。
启动流程简单总结一下就是先启动DMCSS,然后启动DMASMSVR(如果有的话),最后启动DMSERVER
如果DMCSS配置了DMASMSVR/dmserver自动拉起命令,此时可以先仅启动DMCSS,然后启动监视器DMCSSM,在DMCSSM控制台执行命令"ep startup asm"启动DMASMSVR集群,执行"ep startup dsc"启动dmserver集群(其中asm/dsc为dmasmsvr/dmserver集群的组名)。
停止:
如果DMCSS配置了DMASMSVR/dmserver自动拉起命令,那么手动停止DMSERVER和DMASMSVR时会被拉起来,因此可能导致停止服务执行成功,但是集群并未停止的情况。此时就显示出监视器的好处。
此时可以在监视器中执行“ep stop 集群组名”命令的方式停止ASMSVR服务或者dmserver服务,在使用监视器停止服务时,监视器会关闭相关的自动拉起命令,因此,可以确保集群的正确停止,在停止DMASMSVR/dmserver服务后,再手动停止DMCSS服务即可。需要注意的是,如果不停止DMCSS服务,再次启动集群的话,自动拉起是不会生效的,当然,也可以通过在监视器中执行“set group_name auto restart on/off ”打开/关闭指定组的自动拉起功能,此命令只修改dmcss内存值。