将 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                    | []                                        |
+-------------------------+-------------------------------------------+
  1. 获取管理项目凭据。

  2. 将 admin_state_up 设置为 False。这将切断南北连接,直到将 admin_state_up 设置为 True 为止。

    $ openstack router set router1 --disable
    
  3. 将路由器的 ha 属性设置为 True

    $ openstack router set router1 --ha
    
  4. 将 admin_state_up 设置为 True。之后,南北连接可以启动。

    $ openstack router set router1 --enable
    
  5. 确保路由器的 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                    | []                                        |
+-------------------------+-------------------------------------------+
  1. 获取管理项目凭据。

  2. 将 admin_state_up 设置为 False。这将切断南北连接,直到将 admin_state_up 设置为 True 为止。

    $ openstack router set router1 --disable
    
  3. 将路由器的 ha 属性设置为 True

    $ openstack router set router1 --no-ha
    
  4. 将 admin_state_up 设置为 True。之后,南北连接可以启动。

    $ openstack router set router1 --enable
    
  5. 确保路由器的 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                    | []                                        |
    +-------------------------+-------------------------------------------+