将 VRRP 添加到现有路由器¶
本节描述了从经典路由器迁移到 L3 HA 路由器的过程,该功能从 Mitaka 版本开始可用。
与经典场景类似,需要路由的项目网络上的所有网络流量仅主动遍历一个网络节点,无论提供路由器 HA 的网络节点数量如何。因此,这种高可用性实现主要解决故障情况,而不是限制性能的带宽约束。但是,它支持在不同的网络节点上随机分配路由器,以减少带宽约束的可能性并提高可扩展性。
本节参考了 Open vSwitch:使用 VRRP 实现高可用性 的部分内容。有关允许实际 L3 HA 部署所需的 инфраструктура 和配置的详细信息,请在继续迁移过程之前阅读相关指南。
迁移¶
迁移过程非常简单,包括通过将路由器的 admin_state_up 属性设置为 False 来关闭路由器,将路由器升级到 L3 HA,然后将路由器的 admin_state_up 属性设置回 True。
警告
一旦开始迁移,南北连接(实例到互联网)将被切断。只有在迁移完成后,新的连接才能启动。
以下是我们用于演示的路由器
$ openstack router show router1
+-------------------------+-------------------------------------------+
| Field | Value |
+-------------------------+-------------------------------------------+
| admin_state_up | UP |
| distributed | False |
| external_gateway_info | |
| ha | False |
| id | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a |
| name | router1 |
| project_id | bb8b84ab75be4e19bd0dfe02f6c3f5c1 |
| routes | |
| status | ACTIVE |
| tags | [] |
+-------------------------+-------------------------------------------+
获取管理项目凭据。
将 admin_state_up 设置为
False。这将切断南北连接,直到将 admin_state_up 设置为True为止。$ openstack router set router1 --disable
将路由器的
ha属性设置为True。$ openstack router set router1 --ha
将 admin_state_up 设置为
True。之后,南北连接可以启动。$ openstack router set router1 --enable
确保路由器的
ha属性已更改为True。$ openstack router show router1 +-------------------------+-------------------------------------------+ | Field | Value | +-------------------------+-------------------------------------------+ | admin_state_up | UP | | distributed | False | | external_gateway_info | | | ha | True | | id | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a | | name | router1 | | project_id | bb8b84ab75be4e19bd0dfe02f6c3f5c1 | | routes | | | status | ACTIVE | | tags | [] | +-------------------------+-------------------------------------------+
L3 HA 到传统模式¶
要返回经典模式,请再次关闭路由器,关闭 L3 HA 并重新启动路由器。
警告
一旦开始迁移,南北连接(实例到互联网)将被切断。只有在迁移完成后,新的连接才能启动。
以下是我们用于演示的路由器
$ openstack router show router1
+-------------------------+-------------------------------------------+
| Field | Value |
+-------------------------+-------------------------------------------+
| admin_state_up | DOWN |
| distributed | False |
| external_gateway_info | |
| ha | True |
| id | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a |
| name | router1 |
| project_id | bb8b84ab75be4e19bd0dfe02f6c3f5c1 |
| routes | |
| status | ACTIVE |
| tags | [] |
+-------------------------+-------------------------------------------+
获取管理项目凭据。
将 admin_state_up 设置为
False。这将切断南北连接,直到将 admin_state_up 设置为True为止。$ openstack router set router1 --disable
将路由器的
ha属性设置为True。$ openstack router set router1 --no-ha
将 admin_state_up 设置为
True。之后,南北连接可以启动。$ openstack router set router1 --enable
确保路由器的
ha属性已更改为False。$ openstack router show router1 +-------------------------+-------------------------------------------+ | Field | Value | +-------------------------+-------------------------------------------+ | admin_state_up | UP | | distributed | False | | external_gateway_info | | | ha | False | | id | 6b793b46-d082-4fd5-980f-a6f80cbb0f2a | | name | router1 | | project_id | bb8b84ab75be4e19bd0dfe02f6c3f5c1 | | routes | | | status | ACTIVE | | tags | [] | +-------------------------+-------------------------------------------+