现象描述:
非自动切换主备集群中,当将数据库集群的确认监视器关闭,然后关闭备库预备给备库打补丁时,发现在备库关闭后,主库被挂起。
操作流程:
为某银行生产环境8.1.2.128版本数据库打补丁时,操作前将数据库集群的确认监视器关闭,然后关闭备库预备给备库打补丁时,发现在备库关闭后,主库被挂起,通过非确认监视器执行OPEN DATABASE DMXXX也无法将主库打开,因担心影响业务,只能中断操作,将备库重新打开,但是通过非确认监视器观察发现,主库仍然是挂起状态,这时将确认监视器打开后,主库状态就会恢复正常,由SUSPEND转为OPEN。
后来再操作给集群打补丁时,不关闭确认监视器,将备库服务器关闭,发现主库就是正常的,不影响业务使用,之后再进行打补丁进程都一切正常。
为什么主库会被挂起?通过查询文档,文档中这样描述备库无法使用时:
可以看出将主库挂起是防止发生脑裂。
现象分析:
再查看官方文档数据守护与读写分离集群中描述在进行滚动升级时,官方给出的步骤就是在升级时打开确认监视器。
由此可以看出,官方给出的方式,就是需要确认监视器保持打开状态。
所以在非自动切换主备集群中,如果想要进行滚动升级,必须保持确认监视器打开,主库能够和确认监视器之间互相连接判断状态,集群服务才能够正常使用。这时及时备库服务器即使宕机,应用也能够正常连接使用。
文章
阅读量
获赞