多DC间vxlan网关介绍
2个DC互通时,需要实现支持跨承载网的大二层互通方式,例如:DC间通过VxLAN GW实现跨承载网的隧道互通。承载网可以为IP网或者MPLS骨干网等方式。以应用与故障恢复、异地容灾场景。
运营商明确提出大二层需求,即希望对核心网网元的控制面提供大二层支持,实现异地容灾备份。核心网选择vxlan方案,要求实现基于vxlan的L2 VPN。实现VxlanGW设备,用于DC间NFV控制面流量L2互通。对于NFV业务面流量,走路由器。
图1:组网图
各DC的VxlanGW间走Vxlan隧道,VxlanGW和DC内采用VLAN通信。
1、 GW1和GW2独立部署DVS做vxlan网关,之间手动配置vxlan隧道。
手动创建vxlan隧道(GW两端均需配置),当DVS做网关的时候,就需要手动和其他DVS网关建立VXLAN隧道。
介绍一下常用的bond模式下VXLAN隧道建立方法。
a.创建网桥
iovs-vsctl --no-wait add-br br-int -- set bridge br-int datapath_type=dpdk
b.创建VXLAN口并添加到网桥上,建立隧道。
iovs-vsctl add-port br-int vxlan1 -- set interface vxlan1 type=vxlan options:local_ip=172.43.211.222 options:remote_ip=172.43.211.2 options:in_key=flow options:out_key=flow
c.修改vxlan-ip,bond-config文件。若是没有这两个文件,则新建后再增加相关内容。
cd /dev/shm
[root@ host_202_174 shm]# cat bond-config
//如果不是bond模式这里不需要配置这个配置文件
bond1 enp4s0f0 enp4s0f1 lacp=off bond_mode=backup
//enp4s0f0 enp6s0f1为你安装ovdk的时候托管的物理口
[root@ host_202_174 shm]# cat vxlan-ip
bond1 ip:172.43.211.222/255.0.0.0 gw:172.0.0.254
//如果不是bond模式这里修改成
enp4s0f0 ip:172.43.211.222/255.0.0.0 gw:172.0.0.254
2、 GW上托管两个物理口,一个物理口做vxlan网关互联的vxlan口,另外一个物理口用于和DC内的网络互联,这两个端口均在同一个网桥br-int下。
先查看托管的物理口
[root@host_202_174 shm]# cat /dev/shm/ports-info
enp4s0f0 status:up speed:1000M ovs_dpdk_42
enp4s0f1 status:down speed:1000M ovs_dpdk_43
如果enp4s0f0作为vxlan口,则将enp4s0f1加入到bi-int桥上
iovs-vsctl add-port br-int ovs_dpdk_43 -- set Interface ovs_dpdk_43 type=dpdkphy option:port=2
(如果把ovs_dpdk_42加入br-int桥上,port选1)。
3、DC1和DC2为vlan网络,vlan的业务口分别和GW1、GW2加入到br-int桥上的物理口互联。
4、 DC1和DC2上创建vlan id和子网相同的网络,网络上创建虚拟机vm1和vm2,vm之间可以互通。
5、部署3个或以上的vxlan网关设置同上。
Vxlan GW HA功能介绍
为了使vxlan GW具有更高的可靠性,vxlan GW实现了HA功能,主备GW配合与互联的堆叠交换机配置的聚合口来实现高可靠性。
vxlan gw1的uplink口如果down了,需要关联downlink口down,确保downlink的lacp协商选择协商成功到vxlan gw2上。同理,vxlan gw2的uplink口如果down了,也要关联gw2上的downlink 口down。
因此对于一个vxlan gw来说,需要做到下面的联动原则:
● downlink口有一个成员口的lacp协商成功,则为主用。
● downlink口所有成员口的lacp协商都失败,则为备用。
● 主用vxlan gw 的vtep端口向上行网络发送免费arp。
● uplink口所有成员口状态down,则关联downlink所有口down。
● uplink口有一个成员口状态up,则关联downlink所有口up。