重叠网络:什么让我们等了这么长时间?
扫描二维码
随时随地手机看文章
虚拟化简介
虚拟化大获成功,是因为它实现了最初承诺的优势,包括优化硬件利用率,减少服务器泛滥和最大限度增加服务器硬件投资回报。这是通过以下途径实现的:对服务器的计算资源(CPU和RAM内存)进行抽象化和虚拟化,供多种虚拟化应用工作负载共享。迄今为止,业内部署的虚拟机(VM)数量已达到4000万1,该技术的受欢迎程度可见一斑。
平滑的非破坏性虚拟机(VM)迁移技术于2003年面世,随之而来的是出色的IT灵活性——以虚拟机移动性和灵活的虚拟机部署为基础。该技术的应用范围和功能不断扩展,变得更完善更快速——历经10年的发展,我们才能够以最初设想的方式实现虚拟化的全部潜力。
虚拟化的网络挑战
然而,尽管我们一直努力开发虚拟机迁移相关的功能,但网络挑战越来越严峻。其中包括:
虚拟机移动性导致的繁杂网络重新配置
将虚拟化扩展到2层边界之外的限制
扩展安全的专用网络所需的虚拟LAN(VLAN)ID不足
因此,实现真正IT灵活性的承诺只兑现了一部分。例如,用户面临两种选择:应对全新类型的服务器泛滥,即虚拟服务器泛滥;或者在每次进行虚拟机迁移后花费1800美元2来重新配置多个网元。有证据显示,用户仍在坚持实施工作负载虚拟化,以降低硬件成本,但在实现真正的灵活性方面并没有什么进展。
一个必然的结果是,虚拟机迁移和虚拟机间通信一般限于同一个机架或几个机架(属于同一个2层子网)中的主机服务器,这是虚拟机2层通信要求所决定的。
最后,4096(实际上是4094 + 2个有限制的ID)VLAN ID的限制使我们无法向私有云基础架构中添加更安全的隔离用户组,或向公共云/混合云中添加租户。
重叠网络成为救世主
重叠网络的面世和部署最终使IT经理们能够释放虚拟化的全部潜力,交付真正的IT灵活性——虽然迄今为止仍受到计算和存储基础架构(程度稍轻一些)的限制。顺理成章的是,一项Vmware CIO调查3显示,将虚拟化扩展到网络和存储基础架构是2015年的一项首要IT目标。
重叠网络:什么让我们等了这么长时间?
我们完全可以做个这样的类比,从2003年到2012年前后,人们一直努力通过数据中心虚拟化来实现真正无限制的IT灵活性;而1985年后的10年里从DOS迁移到Windows 95,在增强界面体验方面的效果要远远好于前者!
什么是重叠网络?
从根本上讲,重叠网络就是在3层网络基础上构建虚拟2层(L2)网络,这就是”重叠”一词的由来。来自虚拟机的流量被映射到该虚拟网络中。网络数据包封装为MAC-in-IP格式,然后通过现有基础架构路由。
在如何构建重叠网络方面,目前有两项建议(由于广泛的行业支持,我们大可称之为”事实”标准)提交给互联网工程工作组(IETF)。这就是微软支持(从Windows Server 2012开始)的使用通用路由封装协议的Network Virtualization(NVGRE)和VMware支持(从vSphere 5.1开始)的Virtual eXtensible Local Area Networks(VXLAN)。这两种标准有着相同的目的:在基础架构内实现虚拟工作负载的平滑迁移,帮助打造大规模和云规模虚拟机部署。
NVGRE将以太网2层(L2)帧封装到GRE数据包中。GRE是1994年首次提出的一种协议4。
VXLAN将以太网2层(L2)帧封装到UDP数据包中。VXLAN标准的一个优势是它还定义了一些控制平面功能。
这两种建议都将以太网L2帧封装到IP数据包中,并插入一个新的24位虚拟网络标识符(VNI)。这些标识符使运行的2层(L2)子网数量可超过1600万;与前面提到的4,094个VLAN ID的限制相比,这意味着可扩展性得到了大幅度提高。下图显示了VXLAN解决方案的概念拓扑图。
重叠网络:什么让我们等了这么长时间?
解决与虚拟机移动性相关的核心问题为什么花了这么长时间?
从技术层面讲,重叠网络本身并没有什么特别复杂难懂的技术,并不是这一点推迟了它的面世。重叠网络的两大关键技术创新,即隧道(tunneling)和MAC-in-IP封装,本可以早些实现,帮助减轻上面提到的问题。
例如,重叠传输虚拟化(OTV)实现了在3层扩展2层域的相同目标;思科早在2009年5就在其交换机中开始支持广域网(WAN)功能;与虚拟专用LAN服务相关的一个类似行业标准化草案早在2006年6就提交给了IETF。
尽管如此,我们还是相信老话说的,从2012年开始的重叠网络部署,是一件“晚做总比不做好”的事情。
虚拟机移动性–结果好,万事好
重叠网络技术的面世是不是意味着所有虚拟机迁移相关问题都迎刃而解,IT灵活性问题不复存在?确实,两种常用的重叠网络格式在虚拟化程度渐高的数据中心内日益受欢迎,可实现虚拟化技术的全部价值,同时帮助构建大型可扩展网络。
然而,虚拟机移动性和网络重新配置问题的解决又带来了新的麻烦。在软件中实施重叠网络会增加服务器的CPU负担,占用通过虚拟化实现工作负载整合的资源!
在选择服务器的网络适配器(NIC)时深思熟虑,慎重选择,可以缓解这一问题。
建议:使服务器网络I/O选择成为战略决策
大多数领先的网络接口卡(NIC)适配器都包含一套TCP/IP卸载功能,以最大限度地降低服务器CPU占用率,进而提高虚拟化密度,最大限度地增加服务器投资回报。然而,如果没有专门设计的重叠网络卸载支持功能,适配器的这些TCP/IP卸载功能将会“形同虚设”。这些适配器可以将CPU利用率提高50%,大大提高服务器效率和虚拟机可扩展性。
选择确定可支持重叠网络卸载的NIC平台,就可以使您的数据中心面向未来,帮助在将来轻松扩展虚拟化项目范围,顺利开始实施私有云或混合云基础架构。
为了使虚拟化成为真正有效的IT灵活性工具,您已经等了10年;现在,您还愿意因为不明智的NIC选择而继续等待吗?