2) 数据库中用一个字段来标识iSwitch是否冗余服务器。
3) 冗余服务按正常的流程登录,但是iMC不分配任何负载给该iSwitch
4) 当一个iSwitch服务器A宕机,则iMC将冗余服务器R转为正常运行的iSwitch,并修
改数据库标识。而将宕机的服务器A数据库状态改为冗余服务器,则A重启登录iMC后就作为冗余服务器运行。
5) iMC将宕机服务器的计划录像和上载计划重新分配给冗余服务器R。
6) 当iMonitor或iAlarm获取新的iSwitch地址,iMC还是按照正常的负载分配就行了。
3 热备设计
3.1 系统结构图
ICMS A ICMS B
3.2 结构说明
1)主从两个ICMS系统,分别使用独立的数据库,两个数据库之间保持数据同步更新。
2)iMC之间设置主从关系,由从iMC连接主iMC。从服务器检测心跳和更新主从状态。
3)iMC定时检测自己数据库中的主从设置。
4)iAlarm/iMap不再设置主从关系,登陆界面只配置一个iMC地址。
5)iAlarm/iMap一开始就连接到各自的iMC。
6)iMonitor/iManage/iSwitch登陆仍设置主/从iMC地址。
3.3 主从切换流程描述
1)正常运行中如上图,所有iMonitor/iManage/iSwitch连接到主服务器ICMS A。ICMS B中的从iMC和ICMS A中的主iMC保持连接。
2)当发生意外,ICMS B中,从iMC检测到和主iMC连接中断则将自己转换为主iMC,并修改自己的数据库DB-B。
2)DB-B数据同步到DB-A
3)ICMS A中iMC检测自己的数据库DB-A,当发现自己已经变为从服务器,则断掉当前除“iAlarm/iMap”之外的所有连接,也不接受除“iAlarm/iMap”之外的任何新的登录。
4)iMonitor/iManage/iSwitch检测到自己和主iMC断开连接,则重连从iMC,如果再失败则重连主iMC..这样循环连接,直到连接上iMC。需要注意的是,当重连上iMC后,要重新获取iAlarm和iMap地址并登录注册。如果配置的从iMC地址为空或“0.0.0.0”,则不要连接从iMC,直接连主iMC。