国内新冠肺炎疫情已经得到了控制,在过去的一个月内,晓冬忙着为公司同事进行系统化的NSX DataCenter培训,因此耽搁了公众号的更新。最近,我接到了好几位粉丝的私信,想了解从传统数据中心网络迁移工作负载到NSX逻辑网络会不会有技术瓶颈?为此,我特地搭建了一套模拟环境,并想利用这次更新的机会来向各位展示NSX逻辑桥接的妙用。

其实,我们在讨论物理网络和逻辑网络互通的时候,更多地是指L3层面的互通。通过逻辑网关,利用Service Router服务路由器角色可以轻松地实现用户的这个需求。

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图10

但是,这种“互通”并不代表可以顺利地实现“迁移”;针对一些对IP敏感的业务,用户的诉求集中体现在以下两个方面:

IP地址不能更改;

迁移期间,业务不能中断。

为了解决上述的问题,我们需要将“互联逻辑网络和物理网络”的视界从L3下沉到L2,利用NSX DataCenter的逻辑桥接功能,在实现互联的基础上,为业务能平滑地迁移助力。

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图11

因此,我总结:其实从广义上的“互联”来说,可以是利用L3路由,也可以是L2桥接来实现的。

那么,逻辑桥接如何实现助力“工作负载从物理网络到逻辑网络的平滑迁移”呢?让我们来看下面的这个用例。

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图12

NSX DataCenter的逻辑网络是可以在不对现有数据中心做任何更改的前提下实现的:

简单来说,逻辑网络只需要物理网络配置一个新的VLAN,MTU1600以上;

边界节点也可以用虚拟机模式运行在ESXi服务器上。

许多用户,选择NSX DataCenter是看中了它的安全微分段,能提供包括东西向流量在内的端到端的安全防护。随着对NSX产品的了解加深,用户愿意尝试NSX DataCenter构建的软件定义网络,将部分业务直接部署在NSX DataCenter逻辑网络上,如上图的APP03业务。最终,用户出于对NSX的信赖,希望将现有所有的业务迁移到NSX DataCenter逻辑网络,实现包括安全微分段、网络自动化、多云连接、云原生网络等在内的诸多需求,如希望将上图的APP01和APP02业务迁移到逻辑网络。

现在,我将演示如何将192.168.10.0/24业务1的所有虚拟机迁移到逻辑网络,并且尽可能保证业务的连续性。

0x01.桥接实现逻辑网络与物理网络的互通

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图13

管理员可以创建一个OVERLAY传输区域的分段(也叫做逻辑交换机),利用边界群集的逻辑桥接功能,OVERLAY分段和VLAN网络组成同一个L2广播域。在这种架构下,APP1-01和APP1-02直接L2可达,两者之间的通信不需要经过网关192.168.10.1提供的路由功能。

由于两台虚拟机的网关都是位于物理网络,APP1-02自不必说,APP1-01访问包括逻辑网络在内的所有网络,都会经过192.168.10.1的物理网关进行路由转发。

而物理网络无论是访问APP-01还是APP-02,均通过物理网络实现L3互通;相对应地,逻辑网络是经过Tier0SR进入物理网络后到达192.168.10.1网关,最终实现L3互通。

对于租户管理员或者虚拟机管理员来说,迁移网络仅仅只是编辑虚拟机,将虚拟网络适配器的上联端口组从VLAN端口组变更到OVERLAY分段即可,期间不会造成业务的中断,但是可能会丢1个包~

0x02.变更网关,出现不对称路径的临时情况

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图14

想要实现工作负载的迁移,最终是要将分段连接到Tier0或者Tier1网关,并且配置一个接口地址,用作APP1业务的网关实现路由转发的。由于192.168.10.1已经是物理网络中的一个IP地址,为了避免IP冲突,管理员需要定义另一个IP地址,如192.168.10.254作为新的网关IP。租户管理员或者虚拟机管理员访问虚拟机APP1-01操作系统命令行,不改变IP地址和子网掩码,而将网关地址从192.168.10.1更改为192.168.10.254

此时会出现一个令人无法回避的问题:

这种架构下,业务是否会发生中断?

我们来分几种情况讨论一下:

第一,APP1-01(逻辑网络工作负载)互访APP1-02(物理网络工作负载);因为桥接的关系,虽然APP1-01位于逻辑网络的VNI分段,APP1-02位于物理网络的VLAN,但是两者位于同一个L2广播域,因此二层互访不存在任何问题。

第二,逻辑网络访问APP1-01(逻辑网络工作负载);在逻辑网络的世界,无论是Tier0还是Tier1下联的分段,在正确配置路由宣告的前提下,包括APP3-01在内的虚拟机,会经过192.168.10.254正常访问到APP1-01,而APP1-01也会通过对称的路径响应回包。

第三,逻辑网络访问APP1-02(物理网络工作负载);虽然APP1-02位于物理网络,但是对于APP3-01或者逻辑网络工作负载来说,访问流量一定是经过192.168.10.254进行路由转发的。数据包经过逻辑桥接,最终到达物理网络,转发到APP1-02;但是APP1-02的网关是192.168.10.1,回包会经过物理网关,到达Tier0SR的上联地址,再经过Tier0网关和Tier1网关,最终到达APP3-01。可以看到,这是一种不对称路径,但是不影响正常互访,业务依旧不会中断。

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图15

可以看到,正常情况下,如果APP1-02是经过192.168.10.254回包,那么TTL应该是63(经过一跳),而不应该是经过192.168.10.1、Tier0网关、Tier1网关三跳后的61。

第四,物理网络访问APP1-02(物理网络工作负载);在物理网络的世界,所有访问该虚拟机的流量,最终会经过192.168.10.1网关转发到目标虚拟机,而目标虚拟机也会用对称的回包路径做出响应,互访不存在任何问题。

第五,物理网络访问APP1-01(逻辑网络工作负载);虽然APP1-01位于逻辑网络,但是对于物理网络来说,访问该虚拟机的流量,一定会经过位于物理网络的192.168.10.1,再经过逻辑桥接到达逻辑网络分段,最终转发到APP1-01。当APP1-01尝试做出响应的时候,因为网关地址是192.168.10.254,数据包会经过Tier1网关,到达Tier0网关,最后途径Tier0SR出口到达物理网络。可以看到,这是第二种不对称路径的情况,但是不影响正常互访,业务依旧不会中断。

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图16

如上图所示,物理网路访问APP1-01和APP1-02是经过了不同数量的跳数,访问APP1-01是经过192.168.10.254逻辑网关回包的。

因此,我们可以总结出:这种架构(L2逻辑桥接+双网关)虽然会有不对称路径的情况,但是并不影响业务。当网络管理员完成分段、逻辑网关和路由、以及桥接的配置后,租户管理员可以平滑地进行业务迁移。业务迁移包括虚拟机上联网络的变更和网关的变更两部分;期间会存在少量丢包(我的测试环境1-2个),但是总体来说,并不会对业务产生影响。逻辑网络工作负载,通过逻辑网络对应的网关192.168.10.254实现路由转发;而物理网络工作负载,通过192.168.10.1网关实现路由转发。

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图17

0x03.路由更新,完成迁移

🏮2x08 NSX逻辑桥接不仅仅是一个L2组件 - 图18

业务的迁移,会根据企业的合规性要求,按照迁移方案有条不紊地进行。最终当所有的工作负载全部迁移到逻辑网络上后,一般来说,物理网关192.168.10.1已经没有任何存在的必要。

现在,管理员需要做两件事情:

第一,调整物理网络的路由指向,将原本指向192.168.10.1它上游路由器的路由条目更新到指向Tier0SR接口;

第二,下线192.168.10.1物理网关;所有APP1工作负载全部经过192.168.10.254逻辑网关实现L3互联互通。

此时,我们已经完成了工作负载从物理网络平滑迁移到逻辑网络的所有操作,而业务并不会受到影响。

现在,我们再回过头来看“NSX逻辑桥接不仅仅是一个L2组件”这句话。在工作负载从物理网络迁移到逻辑网络的整个过程中,L3负责除当事广播域外其他广播域的路由互通,桥接负责当事广播域的L2互通。这是NSX逻辑桥接最大的一个适用场景!当然,如果用户仍然有一部分工作负载是以裸金属服务器的形式存在于VLAN网络,是可以继续保留桥接和物理网关的。NSX DataCenter边界节点支持DPDK,支持高性能的网络转发,不会因为桥接的使用让业务出现网络性能的瓶颈。

相信通过今天的分享,大家对NSX DataCenter逻辑桥接实现工作负载从物理网络迁移到逻辑网络有了一定的认识。最近晓冬将抽空进行NSX-V和NSX-T混合环境下的若干实验,也会部署LAB环境学习了解NSX Advanced Load Balancer(原来的AVI)这个产品,届时在与各位分享心得