达梦主备集群顾名思义就是一主一备(也可以一主多备)是一种集成化的高可靠性解决方案,同时满足用户对数据安全性和高可用性的要求。解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,满足用户不间断提供数据库服务的要求,即实现系统的双机热备功能。在使用的过程中,如果是实时同步模式的话,主机和备机的数据保持完全一致。主机产生一条新的记录时,在记录写入数据库文件之前,会把新产生的redo日志文件发送到备机,由备机重新执行接收到的redo日志,来保证主备集群数据的一致性。
如果主机发生故障,则备机会自动切换为主机,代替原主机的职能。以此保证服务的连续性。在原主机故障恢复之后,重新加入集群之后,则变为备机,由新主机继续执行相关的任务,并同步数据到备机。
在主备集群确认监视器启动的情况下,需要用到非确认监视器
分别测试以下几种状况:手动切换主备库,主库备库分别正常停守护,服务、主库备库分别被kill进程、主库备库服务器重启、主库备库的内部网线断开。
每次切换后我都会将GRP1_RT_01切换为主库
确认主备集群服务状态正常以及确认监视器已启动(确认监视器才可以进行主备集群的自动切换)!!!
主库服务,数据库守护状态
备库服务,数据库守护状态
确认监视器状态
确认集群状态
前台启动非确认监视器
[dmdba@localhost bin]$ ./dmmonitor /DM/dmdata/dmmonitor/dmmonitor_manual.ini
GRP1_RT_01为集群主库,GRP1_RT_02为集群备库,主备集群状态正常。
不用exit退出
手动切换主备库
login
用户名:
密码:
switchover GRP1(组名).GRP1_RT_02(要切换成主库的备库实例名)
GRP1_RT_02切换为主库状态,GRP1_RT_01变为备库状态。
实例GRP1_RT_01登录查看
实例GRP1_RT_02登录查看
主备集群故障切换测试
主库备库分别正常停守护,服务
当停掉备库守护,服务时:
当停守护时
当数据库守护服务停止时,监视器监控不到备库信息
停备库服务
监视器监控到备库异常
重启备库服务
监视器收到备库信息,备库重新加入到集群当中。
当停掉主库守护,服务时 :
监视器监控到主库GRP1_RT_01异常,并将GRP1_RT_02备库切换为主库
重新启动GRP1_RT_01服务
GRP1_RT_01重新启动后,监视器收到GRP1_RT_01信息,GRP1_RT_01重新加入集群为备库状态
主库备库分别被kill进程
当kill掉备库数据库服务时:
不需要人为手动操作,当数据库服务被kill掉后,数据库守护服务会很快将数据库服务重新拉起继续提供服务
备库数据库服务被kill掉,备库守护服务会很快自动将备库数据库服务拉起
监视器监控备库信息
守护进程会重新将数据库服务拉起,所以在很短的时间内备库服务恢复正常
kill掉备库数据库服务,主备集群没有发生主备切换,GRP1_RT_01依然无主库,GRP1_RT_02为备库
当kill掉主库数据库服务时:
监视器监控主库信息
当kill掉主库数据库服务,监视器监控到主库GRP1_RT_01的异常,并发生主备切换,将状态正常的GRP1_RT_02备库切换为集群主库,当GRP1_RT_01数据库服务被数据库守护服务拉起后重新加入主备集群,为备库状态。
主备集群状态
kill掉主库数据库服务进程,集群状态发生切换,GRP1_RT_02切换为集群主库,GRP1_RT_01为集群备库
主备库服务器重启
当数据库备库重启 时:(如果没有永久关闭防火墙重启后要关闭防火墙,否则监视器监控不到备库信息并报错)
服务配置了开机自启,当服务器重启后数据库服务,数据库守护服务都会自启
监视器监控备库信息
当备库服务器重启,监视器会先收不到备库消息,当备库服务器重新启动后备库服务又重新加入到集群中,作为备库继续提供服务
主备集群状态
当重启备库数据库服务器,集群主备未发生切换,GRP1_RT_01依然为主库,GRP1_RT_02为备库
当数据库主库重启 时:
监视器监控收到的信息
当重启主库GRP1_RT_01数据库服务器时,监视器失去主库消息,开始主备切换,将备库GRP1_RT_02切换为主库,GRP1_RT_01服务器重启后,监视器收到GRP1_RT_01消息,GRP1_RT_01重新加入集群,并作为集群备库继续提供服务。
主备集群状态
当主库数据库服务器重启后,集群会发生主备切换,GRP1_RT_02由备库切换为主库,GRP1_RT_01变为备库
故障切换测试到此结束。