重叠网络——什么让我们等了这么长时间?

虚拟化大获成功,是因为它实现了最初承诺的优势,包括优化硬件利用率,减少服务器泛滥和最大限度增加服务器硬件投资回报。这是通过以下途径实现的:对服务器的计算资源(CPU和RAM内存)进行抽象化和虚拟化,供多种虚拟化应用工作负载共享。迄今为止,业内部署的虚拟机(VM)数量已达到4000万1,该技术的受欢迎程度可见一斑。

平滑的非破坏性虚拟机(VM)迁移技术于2003年面世,随之而来的是出色的IT灵活性——以虚拟机移动性和灵活的虚拟机部署为基础。该技术的应用范围和功能不断扩展,变得更完善更快速——历经10年的发展,我们才能够以最初设想的方式实现虚拟化的全部潜力。

虚拟化的网络挑战

然而,尽管我们一直努力开发虚拟机迁移相关的功能,但网络挑战越来越严峻。其中包括:

· 虚拟机移动性导致的繁杂网络重新配置

· 将虚拟化扩展到2层边界之外的限制

· 扩展安全的专用网络所需的虚拟LAN(VLAN)ID不足

因此,实现真正IT灵活性的承诺只兑现了一部分。例如,用户面临两种选择:应对全新类型的服务器泛滥,即虚拟服务器泛滥;或者在每次进行虚拟机迁移后花费1800美元2来重新配置多个网元。有证据显示,用户仍在坚持实施工作负载虚拟化,以降低硬件成本,但在实现真正的灵活性方面并没有什么进展。

一个必然的结果是,虚拟机迁移和虚拟机间通信一般限于同一个机架或几个机架(属于同一个2层子网)中的主机服务器,这是虚拟机2层通信要求所决定的。

最后,4096(实际上是4094+2个有限制的ID)VLANID的限制使我们无法向私有云基础架构中添加更安全的隔离用户组,或向公共云/混合云中添加租户。

重叠网络成为救世主

重叠网络的面世和部署最终使IT经理们能够释放虚拟化的全部潜力,交付真正的IT灵活性——虽然迄今为止仍受到计算和存储基础架构(程度稍轻一些)的限制。顺理成章的是,一项VmwareCIO调查3显示,将虚拟化扩展到网络和存储基础架构是2015年的一项首要IT目标。

我们完全可以做个这样的类比,从2003年到2012年前后,人们一直努力通过数据中心虚拟化来实现真正无限制的IT灵活性;而1985年后的10年里从DOS迁移到Windows95,在增强界面体验方面的效果要远远好于前者!

什么是重叠网络?

从根本上讲,重叠网络就是在3层网络基础上构建虚拟2层(L2)网络,这就是”重叠”一词的由来。来自虚拟机的流量被映射到该虚拟网络中。网络数据包封装为MAC-in-IP格式,然后通过现有基础架构路由。

在如何构建重叠网络方面,目前有两项建议(由于广泛的行业支持,我们大可称之为”事实”标准)提交给互联网工程工作组(IETF)。这就是微软支持(从WindowsServer2012开始)的使用通用路由封装协议的NetworkVirtualization(NVGRE)和VMware支持(从vSphere 5.1开始)的Virtual eXtensible Local Area Networks(VXLAN)。这两种标准有着相同的目的:在基础架构内实现虚拟工作负载的平滑迁移,帮助打造大规模和云规模虚拟机部署。

· NVGRE将以太网2层(L2)帧封装到GRE数据包中。GRE是1994年首次提出的一种协议4。

[page]

· VXLAN将以太网2层(L2)帧封装到UDP数据包中。VXLAN标准的一个优势是它还定义了一些控制平面功能。

这两种建议都将以太网L2帧封装到IP数据包中,并插入一个新的24位虚拟网络标识符(VNI)。这些标识符使运行的2层(L2)子网数量可超过1600万;与前面提到的4,094个VLANID的限制相比,这意味着可扩展性得到了大幅度提高。下图显示了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选择而继续等待吗?

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2014-08-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据和云计算技术

简单梳理跨数据中心数据库

有2年没有摸数据库了,重新学习下。数据库是IT系统的基石,小到一个个人站点,大到类似Google,阿里,腾讯这种大公司,里面都运行着各种各样的数据库,成千上万的...

54370
来自专栏理论坞

尼尔森十大可用性原则知多少?

尼尔森(Jakob Nielsen)是一位人机交互学博士(Technical University of Denmark in Copenhagen), 于19...

20430
来自专栏java一日一条

从“小白”到“白帽子黑客”的实用指南

早先,我也是半个黑客,经常在学校的教务系统看妹子。通过 URL 注入的方式,可以轻松进入别人的个人信息页。后来,又通过某种方式发现了管理员的账号,管理员又没有修...

14830
来自专栏云计算D1net

将数据迁移到云:回到未来?

数百家公司现在已经证明,单一数据泄露可能会造成长期的经济,法律和品牌上的损失。除了数据保护之外,仅仅管理云中的数据是不同的,如果做法不当,成本,复杂性和风险会使...

14400
来自专栏java一日一条

程序员应该掌握的10个搜索技巧

在今天,用户可以通过搜索引擎轻松找出自己想要的信息,但还是难以避免结果不尽如人意的情况。实际上,用户仅需掌握几个常用技巧即可轻松化解这种尴尬。下面介绍 10 个...

9120
来自专栏Kirito的技术分享

以Dubbo为例,聊聊如何为开源项目做贡献

Github 上有众多优秀的开源项目,大多数 IT 从业者将其当做了予取予求的工具库,遇到什么需求,先去 Github 搜一把,但有没有想过有一天自己也可以给开...

15130
来自专栏Java架构沉思录

知乎大V@Phodal:小白也能看懂的Web安全进阶指南

早先,我也是半个黑客,经常在学校的教务系统看妹子。通过 URL 注入的方式,可以轻松进入别人的个人信息页。后来,又通过某种方式发现了管理员的账号,管理员又没有修...

22730
来自专栏非著名程序员

是的,这是我的记录之道

前几天分享了两篇关于我的学习之道,面试之道的文章。颇受大家的好评,很多人都感觉受益良多,给了他们借鉴学习的经验。对此,其实我心里还是非常欣慰的,今天继续分享关于...

14850
来自专栏花叔的专栏

“公众号数据助手”小程序真的出现了

额,老早之前花叔就想做一个公众号管理相关的小程序,然而微信今天就推出了一个类似的小程序,好了,我不用做了。 回归正题,介绍一下这个小程序吧,通过长按以下二维码能...

518110
来自专栏IT大咖说

哪些是数据库智能化运维必踩的坑?

内容来源:2018 年 11 月 10 日,SOUG联合创始人周亮在“2018 SOUG年度数据库技术峰会”进行《Oracle AI 性能优化指南探讨》的演讲分...

10030

扫码关注云+社区

领取腾讯云代金券