1.master关机后又开机时,vnf模块在初始化定时器之前,先去读取数据库,判断是否需要bypass。读取mongo有可能还处于连接不上的状态。导致初始化中断,定时器没有跑起来,安全组件模块不能正常显示。 解决办法:1): 把mongo的初始化提前, 放在所有其他模块初始化之前且初始化dburl不成功重试 2): 修改mongo.get中的出错处理部分的bug, 即使mongo.get出错了, 也能够通知调用mongo.get的方法, 继续做对应处理 3): 修改VNF模块的初始化函数, 初始化时即使mongo出错了, 除了做出错处理之外, 还继续启动定时器,保证在运行期间安全组件模块能正常显示。
2.关闭高可靠后,其中一个从节点还有高可靠的数据,另一个从节点没有高可靠的数据。原因是在关闭高可靠时分别到从节点执行close.sh,会删除数据库内容,从节点a删除数据库之后,主节点的mongo url还是所有节点ip连在一起。此时主节点还在刷新高可靠状态执行upsert方法。 解决办法:所有刷新高可靠状态的mongo upsert改为update
3.在高可靠状态下关闭主节点虚机,主节点切换到了次优先级节点上,但是新主节点和虚拟IP环境的高可靠配置页面数据长时间无法显示。 解决办法:dburl 加入vip
4.高可靠开启时一台服务器出现故障无法恢复,无法关闭高可靠。 解决办法:提示信息改为--节点处于不可连通状态,无法操作高可靠开关,请确认连通性并稍候重试;如节点无法恢复连通状态,可将其他节点全部关闭后刷新尝试恢复单节点模式。刷新页面会出现按钮恢复
5.当关闭两个或两个以上的节点时,其他节点及虚拟IP环境的高可靠配置菜单下所有数据消失 解决办法:如果只剩一个节点,则会弹出一个按钮,用来恢复单节点副本集模式
6 先进行一次高可靠打开与关闭操作后,第二次打开高可靠开关时,无法打开开关,并提示“172.22.170.70节点请求失败,请检查连通状态" 解决办法:keepalived conf router id 同一局域网不可重复
7.在高可靠状态下关闭主节点虚机,查看其他节点的高可靠配置信息未发生任何变化,主节点未切换到优先级较高的虚机上
问题原因:
各控制器的后台进程通过检查vip是否在本虚机,来判断自己当前是否为主。而vip信息是初始化时从数据库获取得到的。但在实际使用和测试中发现,后台进程初始化时,数据库的初始化有可能未完成。导致内存中记录的vip信息为空。然后切换发生后,始终无法正确判断自己已成为主,不能继续正常工作。
解决方法:
定期判断vip是否在当前节点的过程中,如果发现从数据库获取的vip信息为空,就再次重新获取。
网友评论