我们知道,neutron从Kilo版开始正式支持HA-Router,这实在是非常好用的一个功能。
简单介绍一下原理:
它是使用keepalived来实现的,内部原理,可以在网上搜索keepalived vrrp关键字,就可以搜索到介绍文章。
大体上来说是:
多个node之间启动一个ha的interface,专门发送和接收VRRPv2数据包。
当backup的node接收不到master vrrp广播的时候,就把自己转换成master状态,然后把IP地址绑定到指定的interface。
当网络或设备恢复后,原master,就会收到广播,然后就把自己设置成为backup状态,并且把指定interface中的IP地址释放。
上面的IP是指VIP(Virtual IP Address)。
下面再说实际运营时候的一个可能遇到的问题:
如果我们在Router-HA功能出来之前已经有正在运行的router了,这些router肯定是传统的单节点模式运行的。
那么我们肯定会希望把这些router改成ha模式的。
方法步骤:
1、更新neutron库中router_extra_attributes把需要更改为HA的router的ha和ha_vr_id分别设置为1
2、删除neutron库中routerl3agentbindings表把需要更改为HA的router的记录删除
3、重启所有的l3-agent服务
当然,前提条件是:已经在neutron-server服务上成功配置完成ha-router的相关配置了。
经过上面步骤,正常情况下指定的相关路由器,就会同时在两个节点中应用了。