OpenStack网络指南(16)分布式虚拟路由与VRRP

Open vSwitch:使用DVR的高可用性支持使用虚拟路由器冗余协议(VRRP)的增强。使用此配置,虚拟路由器支持–distributed和–ha选项。
与传统的HA路由器类似,DVR / SNAT HA路由器提供SNAT服务到在不同节点上运行的代理上的备份DVR / SNAT路由器的快速故障切换。
SNAT高可用性以类似于Linux网桥的方式实现:使用VRRP和Open vSwitch的高可用性:使用VRRP的高可用性示例,其中keepalived使用VRRP提供SNAT服务的快速故障转移。
在正常操作期间,主路由器通过连接特定项目的所有HA路由器的隐藏项目网络周期性地发送心跳包。
如果DVR / SNAT备份路由器停止接收这些数据包,它假定主DVR / SNAT路由器的故障,并通过在snat命名空间的接口配置IP地址促进自己到主路由器。在具有多个备份路由器的环境中,遵循VRRP的规则来选择新的主路由器。

配置样例

基本部署模型由一个控制器节点,两个或多个网络节点和多个计算节点组成。

控制节点配置

1.把以下部分加入/etc/neutron/neutron.conf:

[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
router_distributed = True
l3_ha = True
l3_ha_net_cidr = 169.254.192.0/18
max_l3_agents_per_router = 3
min_l3_agents_per_router = 2

当配置router_distributed = True标志时,所有用户创建的路由器是分布式的。 没有它,只有特权用户可以使用–distributed True创建分布式路由器。
类似地,当配置l3_ha = True标志时,所有用户创建的路由器默认为HA。
因此,在配置文件中这两个标志设置为True,所有用户创建的路由器将默认为分布式HA路由器(DVR HA)。
同样可以通过具有管理凭据的用户在neutron router-create命令中设置标志来显式实现:

$ neutron router-create name-of-router --distributed=True --ha=True

max_l3_agents_per_router和min_l3_agents_per_router确定将被实例化的备份DVR / SNAT路由器的数量。

2.把以下部分加入/etc/neutron/plugins/ml2/ml2_conf.ini:

[ml2]
type_drivers = flat,vxlan
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security

[ml2_type_flat]
flat_networks = external

[ml2_type_vxlan]
vni_ranges = MIN_VXLAN_ID:MAX_VXLAN_ID

将MIN_VXLAN_ID和MAX_VXLAN_ID替换为适用于您的环境的VXLAN ID最小值和最大值。
当常规用户创建网络时,tenant_network_types选项中的第一个值将成为默认项目网络类型。

网络节点

1.配置Open vSwitch代理。 将以下内容添加到/etc/neutron/plugins/ml2/ml2_conf.ini中:

[ovs]
local_ip = TUNNEL_INTERFACE_IP_ADDRESS
bridge_mappings = external:br-ex

[agent]
enable_distributed_routing = True
tunnel_types = vxlan
l2_population = True

将TUNNEL_INTERFACE_IP_ADDRESS替换为处理VXLAN项目网络的接口的IP地址。

2.配置L3代理。 将以下内容添加到/etc/neutron/l3_agent.ini中:

[DEFAULT]
ha_vrrp_auth_password = password
interface_driver = openvswitch
external_network_bridge =
agent_mode = dvr_snat

external_network_bridge选项故意不包含值。

计算节点

[ovs]
local_ip = TUNNEL_INTERFACE_IP_ADDRESS
bridge_mappings = external:br-ex

[agent]
enable_distributed_routing = True
tunnel_types = vxlan
l2_population = True

[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

配置L3代理,将以下内容加入/etc/neutron/l3_agent.ini:

[DEFAULT]
interface_driver = openvswitch
external_network_bridge =
agent_mode = dvr

将TUNNEL_INTERFACE_IP_ADDRESS替换为处理VXLAN项目网络的接口的IP地址。

已知限制

目前不支持将路由器从仅分布式,仅HA或传统方式迁移到分布式HA。 路由器必须创建为分布式HA。 也不支持反向。 您不能将分布式HA路由器重新配置为仅分布式,仅HA或传统方式。
在某些情况下,l2pop和分布式HA路由器不以期望的方式交互。 这些影响HA的路由器和l2pop的情况是相同的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值