随着企业业务的快速扩展,IT作为基础设施,其快速部署和高利用率成为主要需求。云计算可以为之提供可用的、便捷的、按需的资源提供,成为当前企业IT建设的常规形态,而在云计算中大量采用和部署的虚拟化几乎成为一个基本的技术模式。部署虚拟机需要在网络中无限制地迁移到目的物理位置,虚机增长的快速性以及虚机迁移成为一个常态性业务。
传统的网络已经不能很好满足企业的这种需求,面临着如下挑战:
我们基本认识了 Overlay网络的基本架构和其基本的传输规则。其实总结起来有三个,都跟大规模的云数据中心应用场景有关系。
网络隔离/分离能力限制
大规模的数据中心往往都会对外提供云计算服务,同一个物理集群可能会被拆分成多个小块分配给不同的租户,因为 L2 网络的数据帧可能会进行广播,所以出于安全的考虑这些不同的租户之间需要进行网络隔离,避免租户之间的流量互相影响甚至恶意攻击。
当前的主流网络隔离技术为VLAN(或VPN),在大规模虚拟化环境部署会有两大限制:一是VLAN数量在标准定义中只有12个比特单位,即可用的数量为4K,这样的数量级对于公有云或大型虚拟化云计算应用而言微不足道,其网络隔离与分离要求轻而易举会突破4K;二是VLAN技术当前为静态配置型技术(只有EVB/VEPA的802.1Qbg技术可以在接入层动态部署VLAN,但也主要是在交换机接主机的端口为常规部署,上行口依然为所有VLAN配置通过),这样使得整个数据中心的网络几乎为所有VLAN被允许通过(核心设备更是如此),导致任何一个VLAN的未知目的广播数据会在整网泛滥,无节制消耗网络交换能力与带宽。
当前的主流网络隔离技术为VLAN,在大规模虚拟化环境部署会有两大限制:
首先,VLAN技术当前为静态配置型技术(只有EVB/VEPA的802.1Qbg技术可以在接入层动态部署VLAN,但也主要是在交换机接主机的端口为常规部署,上行口依然为所有VLAN配置通过),这样使得整个数据中心的网络几乎为所有VLAN被允许通过,导致未知目的广播数据会在整网泛滥,无节制消耗网络交换能力与带宽。
其次,VLAN数量在标准定义中只有12个比特单位,即可用的数量为4000个左右,这样的数量级对于公有云或大型虚拟化云计算应用而言微不足道 。
L2的空间局限性问题
为了保证业务不中断,我们需要保证迁移过程中的IP 地址不变,也就不需要改变 IP地址,上千台物理机组成的大集群使得集群内的资源调度变得更加容易,因为日常的更新维护以及突发的故障,集群中的大规模虚拟机及容器迁移是比较常见的事情。
虚拟机迁移的网络属性要求,当其从一个物理机上迁移到另一个物理机上,虚拟机需要不间断业务,因而需要其IP地址、MAC地址等参数维持不变,如此则要求业务网络是一个二层网络,且要求网络本身具备多路径多链路的冗余和可靠性。
传统的网络生成树(STP,Spaning Tree Protocol)技术不仅部署繁琐,且协议复杂,网络规模不宜过大,限制了虚拟化的网络扩展性。基于各厂家私有的IRF/vPC等设备级的(网络N:1)虚拟化技术,虽然可以简化拓扑、具备高可靠性,但是对于网络有强制的拓扑形状,在网络的规模和灵活性上有所欠缺,只适合小规模网络构建,且一般适用于数据中心内部网络。而为了大规模网络扩展的TRILL/SPB/FabricPath/VPLS等技术,虽然解决了上述技术的不足,但对网络有特殊要求,即网络中的设备均要软硬件升级,而支持此类新技术会带来部署成本的大幅度上升。
虽然很多传统行业仍然在使用物理机部署服务,但是越来越多的计算任务已经跑在虚拟机以及容器上。多个物理机之间只要网络层可达就能组建虚拟的局域网,虚拟机或者容器迁移后仍然处于同一个二层网络。当虚拟机所在的宿主机因为维护或者其他原因宕机时,当前实例就需要迁移到其他的宿主机上,因为 Overlay 是在网络层实现L2网络。
我们可以通过虚拟机迁移来提高资源的利用率、容忍虚拟机的错误并提高节点的可移植性。
图 2 . 1 Overlay 网络架构下的虚拟机迁移
如上图所示,迁移后的虚拟机与其他的虚拟机虽然位于不同的数据中心,但是由于上述两个数据中心之间可以通过IP 协议连通,所以迁移后的虚拟机仍然可以通过 Overlay 网络与原集群的虚拟机组成L2网络,真正的数据迁移确在底层经历了传统网络设备的L3传输。
无论底层做了什么样的传输转换,只要上层协议达到应用要求的迁移条件即可。这样跨地域的L2资源迁移就不再成为不可解决的难题了,对于应用来讲,它对外发布的地址没有变化,对于虚拟机来讲,它只知道远方的主机与本地的主机是可以组成L2互通局域网的,是可以做VMotion的。
网络规模问题
当某个容器向集群中发送 ARP 请求,集群中的全部容器都会收到ARP请求,这时会带来极高的网络负载,传统网络技术是无法容忍这种规模的网络请求。Kuberentes 官方支持的最大集群为 5000节点,通常每个节点上会有很多容器,所以整个集群的资源规模可以达到几万甚至几十万。在使用 VxLAN 搭建的 Overlay 网络中,网络会将发送的数据重新封装成 IP数据包,这样网络只需要知道不同 VTEP 的 MAC 地址,由此可以将 MAC 地址表项中的几十万条数据降低到几千条,ARP 请求也只会在集群中的 VTEP 之间扩散,远端的 VTEP 将数据拆包后也仅会在本地广播,不会影响其他的 VTEP,虽然这对于集群中的网络设备仍然有较高的要求,但是已经极大地降低了核心网络设备的压力。
在大二层网络环境下,数据流均需要通过明确的网络寻址以保证准确到达目的地,因此网络设备的二层地址表项大小(即MAC地址表),成为决定了云计算环境下虚拟机的规模上限,并且因为表项并非百分之百的有效性,使得可用的虚拟机数量进一步降低。特别是对于低成本的接入设备而言,因其表项一般规格较小,限制了整个云计算数据中心的虚拟机数量,但如果其地址表项设计为与核心或网关设备在同一档次,则会提升网络建设成本。虽然核心或网关设备的MAC与ARP规格会随着虚拟机增长也面临挑战,但对于此层次设备能力而言,大规格是不可避免的业务支撑要求。减小接入设备规格压力的做法可以是分离网关能力,如采用多个网关来分担虚拟机的终结和承载,但如此也会带来成本的巨幅上升。
另外,在 L2 网络环境下,数据流均需要通过明确的网络寻址以保证准确到达目的地,因此网络设备的MAC地址表,成为决定了云计算环境下虚拟机的规模的上限,并且因为表项并非百分之百的有效性,使得可用的虚拟机数量进一步降低,特别是对于低成本的接入设备而言,因其表项一般规格较小,限制了整个云计算数据中心的虚拟机数量 。
上述的三大挑战,完全依赖于物理网络设备本身的技术改良,目前看来并不能完全解决大规模云计算环境下的问题,一定程度上还需要更大范围的技术革新来消除这些限制,以满足云计算虚拟化的网络能力需求。在此驱动力基础上,逐步演化出Overlay网络技术。
使用了 Overlay技术之后,这个MAC地址表的存储转移到了VTEP设备之上, 虽然核心或网关设备的MAC与ARP规格会随着虚拟机增长也面临挑战,但对于此层次设备能力而言,大规格是不可避免的业务支撑要求。
减小接入设备规格压力的做法可以是分离网关能力,采用多个网关来分担虚机的终结和承载。
更多相关大咖视频课程请在苹果App Store 或各安卓市场下载“技福小咖App”学习。
| 留言与评论(共有 0 条评论) “” |