过去的半个多月,笔者一直在研究实践NSX DC与非vSphere环境集成的场景。精力有限,停更了两个星期,现在重新出发,继续聊一聊NSX DC中的NSX-T。
在经过一段时间对NSX DC产品的深入摸索后,我越来越感觉到,vSphere是一个相对“纵向”的产品,VMware的大部分产品都可以和vSphere实现集成,比如:vSAN、NSX、SRM、vRops等等,数不胜数;NSX是一个相对“横向”的产品,各类非VMware的异构化平台,都可以和NSX DC实现集成,比如:利用Neutron Plugin实现与Openstack平台集成提供网络与安全解决方案;利用Container Plugin实现与K8S、Openshift等容器平台的云原生网络与安全等。凭借vSphere和NSX DC,VMware可以将整个数据中心内的方方面面都联系起来,共同打造一个软件定义的数据中心架构。用一句流行的话来描述笔者的心情,真是“想想都觉得兴奋”。
言归正传,在上一篇分享中,我介绍了在Active-Standby高可用性模型(后文简称AS)下,利用BGP动态路由协议,实现物理和逻辑网络的互通。由于AS的关系,两条链路虽然均会与上联的路由器建立邻居关系,但实际只有一根链路会承载业务流量。
在今天的分享中,我们来部署一下Active-Active高可用性模式(后文简称AA),看看在这种架构下,会有什么变化。
0x10:配置BGP动态路由-T0LR为Active-Active部署模型+两个上联网络
===========================================
- 创建一个高可用性模式为AA的Tier0级别逻辑路由器
- 将Tier-1逻辑路由器连接到该Tier-0逻辑路由器
- 与AS高可用性模式相同,为Tier-0逻辑路由器创建多条上联链路
- 与AS高可用模型相同,两条不同的上联链路需要位于不同的传输节点
- 确认Tier-0逻辑路由器已经配置了两条不同的上联链路,分别位于两个不同的传输节点
- 配置Tier-0逻辑路由器与上联路由器的BGP动态路由
- 确认两个BGP邻居设置完毕
- 设置路由重分发策略,将Tier-1直连网络重分发给BGP
- 在其中一台Edge传输节点,使用命令查看逻辑路由器实例
# get logical-router
可以看到,刚才新建的T0-LR_T1-T2-AA逻辑路由器的SR和DR角色均正常运行
- 在另一台Edge传输节点,使用命令查看逻辑路由器实例
# get logical-router
可以看到,由于是Active-Active的高可用模型,T0-LR_T1-T2-AA逻辑路由器的SR和DR角色在另一台Edge传输节点内也同样运行
- 查看sa-edge-01中的Tier-0 SR路由表,可以看到其中有一条0.0.0.0/0 NH=10.0.100.1的路由
这是T0SR与10.0.100.1上联路由器建立邻居后,通过BGP学习到的路由
- 查看sa-edge-02中的Tier-0 SR路由表,可以看到其中有另一条0.0.0.0/0 NH=10.0.110.1的路由
这是T0SR与10.0.110.1上联路由器建立邻居后,通过BGP学习到的路由
- 在上联10.0.100.1(sa-vyos-01路由器)查看路由表,可以看到逻辑网络的路由已经被学习到:
10.0.10.0/24、10.0.20.0/24、10.0.30.0/24将会被转发到10.0.100.2,即T0SR与sa-vyos-01相连的接口
- 在上联10.0.110.1(sa-vyos-02路由器)查看路由表:
10.0.10.0/24、10.0.20.0/24、10.0.30.0/24将会被转发到10.0.110.2,即T0SR与sa-vyos-02相连的接口
- ADDC设置外部网络的等价多路径访问
- 在AA高可用模型的情况下,重启sa-vyos-01路由器
- 可以看到由于AA高可用,在配置了快速收敛的情况下,基本不会发生丢包的情况
注:如果管理员在设置第二条上联链路的时候,将传输节点选择了与第一条上联链路相同的Edge传输节点
那么,与Active-Standby高可用模型相同,这个上联链路将一直处于Down的状态,无法投入生产业务
相信经过两个演示,各位对利用动态路由协议,实现多链路上联的部署模型已经有了一定的认识。那么,在实际的项目中,我们该如何选择Tier-0逻辑路由器的部署高可用性模型呢?从前面引入逻辑路由的概念开始,我就一直强调,NSX-T的逻辑路由组件非常的灵活,最多可以有T0SR、T0DR、T1SR、T1DR四种不同的分级和角色组合。虽然Tier0逻辑路由器在AA架构下,无法提供包括负载均衡器LB或者网络地址转换NAT等功能,但是T1SR可以弥补这个问题(本身T1逻辑路由器就一定是AS高可用性模式)。
因此,就笔者的角度来说:
1. 采用AA高可用性来部署Tier0级别的逻辑路由器
2. 将网络功能虚拟化功能交给Tier1级别的逻辑路由器来承载
那么,管理员如何利用T1SR来实现负载均衡呢?在下一篇介绍中,我将会为大家演示负载均衡器的配置流程,敬请期待。