业务IP | 心跳IP | 监视器IP | |
---|---|---|---|
主库 | 192.168.92.201 | 192.168.92.191 | 192.168.92.202 |
备库 | 192.168.92.202 | 192.168.92.191 |
ps -ef | grep dms
kill -9 1309
确认监视器收到主库RAC1故障信息,守护进程检测到RAC1数据库进程挂掉,开始自动拉起RAC1,确认监视器开始接管集群,将备库RAC2切换为primary(主库),切换后数据库正常工作
ps -ef | grep dms
ps -ef | grep dmw
kill -9 1267
kill -9 2360
确认监视器收到主库RAC1故障信息,守护进程检测到RAC1数据库进程挂掉确认监视器开始接管集群,将备库RAC2切换为primary(主库),切换后数据库正常工作
将主机数据库实例RAC1与守护进程重新启动
重新启动后,确认监视器将RAC1切换为standby(备库)
ps -ef | grep dms
kill -9 1309
确认监视器收到主库RAC1故障信息,守护进程检测到RAC1数据库进程挂掉,开始自动拉起RAC1,确认监视器开始接管集群,将备库RAC2切换为primary(主库),切换后数据库正常工作
RAC2守护进程检测到RAC2数据库进程挂掉,开始自动拉起RAC2数据库服务进程。
备库RAC2数据库状态恢复为open状态
ps -ef | grep dms
ps -ef | grep dmw
kill -9 1267
kill -9 2360
确认监视器提示RAC2的守护进程消息接收超时,监视器将RAC2的状态切换为ERROR,不做其他操作。
重新启动备库RAC2的数据库实例与守护进程,确认监视器重新接收到到RAC2守护进程消息,确定RAC2数据库服务已经启动,将RAC2数据库状态切换到open状态
ps -ef | grep dms
kill -9 2898
在确认监视器关闭的情况下,杀死主库数据库服务进程后,打开确认监视器
./dmmonitor /dm8/data/DAMENG/dmmonitor.ini
守护进程检测到RAC1数据库进程挂掉,开始自动拉起RAC1数据库实例,但主备不会切换
ps -ef | grep dms
ps -ef | grep dmw
kill -9 1267
kill -9 2360
在确认监视器关闭的情况下,杀死主库数据库服务进程与数据守护进程后,打开确认监视器
./dmmonitor /dm8/data/DAMENG/dmmonitor.ini
备库没有接管主库
ps -ef | grep dms
kill -9 46277
在确认监视器关闭的情况下,杀死主库数据库服务进程后,打开确认监视器
./dmmonitor /dm8/data/DAMENG/dmmonitor.ini
守护进程检测到RAC2数据库进程挂掉,开始自动拉起RAC2数据库实例
ps -ef | grep dms
ps -ef | grep dmw
kill -9 1267
kill -9 2360
在确认监视器关闭的情况下,杀死备库数据库服务进程与数据守护进程后,打开确认监视器
./dmmonitor /dm8/data/DAMENG/dmmonitor.ini
主库进入挂起状态
将备库恢复后
杀死主机数据库服务进程和守护进程
ps -ef | grep dms
ps -ef | grep dmw
kill -9 5760
kill -9 5853
在手动切换下,主库异常,备库不会自动接管主库,需要手动切换,此时数据库无法对外提供服务
杀死主机数据库服务进程和守护进程
ps -ef | grep dms
ps -ef | grep dmw
kill -9 5760
kill -9 5853
在手动模式下,备库异常不影响数据库对外服务
ifconfig ens33 down–禁用主库上的内部通信IP的网卡
确认监视器,接受守护进程DM1的消息超时,检测DM1实例故障,确认监视器开始接管集群,将备机DM2提升为primary,切换后数据库正常工作
启用主库上的内部通信IP的网卡
ifconfig ens33 up
重新启动后,确认监视器将DM1切换为standby(备库)
ifconfig ens33 down–禁用备库上的内部通信IP的网卡
监视器无法检测到备库,将DM2的状态切换为ERROR,不做其他操作。
重新启用备库内部通信IP的网卡,确认监视器重新接收到到DM2守护进程消息,可以检测到备库DM2数据库服务已经启动,将DM2数据库状态切换到open状态
ifconfig ens33 down–禁用主备库上的网卡
确认监视器无法检测到主备库
ifconfig ens37 down–禁用主库上业务IP的网卡
主库的业务IP断开,确认监视器不会接管集群,主备之间不会切换,但是数据库无法对外服务
ifconfig ens37 down–禁用备库上业务IP的网卡
备库的业务IP断开,主备集群可以对外服务,但备库无法连接
ifconfig ens37 down–禁用主备库上业务IP的网卡
主备库的业务IP断开,主备集群无法对外服务
(1)在确认监视器开启的情况下,如果主备集群主库服务进程异常后,确认监视器会自动接管集群并将备库切换为主库;如果主库数据库服务与守护进程同时异常时,确认监视器也会自动接管集群将备库切换为主库,让集群正常对外服务。重新启动数据库服务与守护进程,监视器会把数据库状态切换为standby模式
(2)在确认监视器开启的情况下,备集数据库服务进程异常或守护进程和数据库服务进程都异常时,数据库对外服务不受影响。确认监视器会把备库数据库状态切换为ERROR,当守护进程和数据库服务进程都启动后,自动将备库数据库状态切换回open状态。
(3)在确认监视器关闭的情况下,如果主备集群主库服务进程异常后,守护进程在发现后会自动重新拉起,但这种情况下备库并不会接管主库,数据库对外服务是停止的;如果主库数据库服务与守护进程同时异常时,备库也不会接管主库,数据库对外服务是停止的;
(4)在确认监视器关闭的情况下,如果备集数据库服务进程异常或守护进程和数据库服务进程都异常时,主库数据库状态为SUSPEND(挂起)
建议:
由上面测试的情况来看如果搭建的主备集群是自动切换的,建议打开确认监视器,如果主备集群中,任一一个节点异常后会导致整个集群服务异常,且主备之间不会自动切换。
(1)主库的数据库服务与守护进程异常时,数据库无法对外服务。备库的数据库服务与守护进程异常时,数据库可以正常对外服务。
(1)当主库与监视器的心跳网络出现故障时,确认监视器会自动接管集群,并将备库切换为主库,数据库可以对外服务;当备库与监视器的心跳网络出现故障时,确认监视器会把备库数据库状态切换为ERROR状态,数据库对外服务不受影响。网络恢复后自动将备库数据库状态切换回open状态;当主备库与监视器的心跳网络都出现故障时,监视器无法检测到主备库。
(2)当主库的业务网络出现故障时,确认监视器不会接管集群,主备库之间不会切换,数据库集群无法对外服务;当备库的业务网络出现故障时,主备集群可以对外服务,但备库无法连接;当主备库的业务网络都出现故障时,数据库无法对外提供服务。
文章
阅读量
获赞