SDN VMware NSX网络原理与实践-NSX 网络虚拟化概览【1.3】

第2章 NSX 网络虚拟化概览

        网络虚拟化技术诞生后,有不少厂商都推出了所谓的网络虚拟化解决方案。这些厂商 实现“网络虚拟化”的方式各异,有些是自己研发的项目,有些是通过收购,有些是利用 开源项目进行再开发。而 VMware NSX 网络虚拟化平台的基本架构到底是怎样的,它与别 的厂家有哪些不同?这些问题会在本章进行探讨。

2.1 VMware NSX 网络虚拟化解决方案简介

        尽管 VMware NSX 网络虚拟化平台是通过收购 Nicira 而获得的,但是在收购一年多时 间之后, NSX 才正式发布。在这一年多时间里, VMware 的研发人员与前 Nicira 的极客们 一起通力合作,将 VMware 服务器虚拟化平台与 Nicira 网络虚拟化平台进行了融合,我们 现在会发现NSX架构和技术细节(尤其是用于vSphere平台的NSX-V),其实与早期的Nicira NVP 平台还是有很大区别,它增加了很多 VMware 的基因在里面。 本节在介绍 VMware NSX 的一些功能和特性之前,还简单介绍了虚拟化技术以及 VMware 公司诞生和发展的历史,这些都是值得去了解的故事。 IT 行业已经直接从服务器虚拟化中获得了显著好处。服务器虚拟化解决方案降低了物 理硬件的复杂性,提高了运营效率,带来了更好的安全性和冗余性,并且能够动态地重新 调整底层资源的用途,以便以最佳方式快速满足日益动态化的业务应用需求。除此之外, 服务器虚拟化还能节省机房空间,节省用电和制冷成本。 VMware NSX 网络虚拟化技术与 VMware 一直致力推动的服务器虚拟化技术,究竟有什么 联系,有哪些类似的地方?读者可以在这一节找到答案。 本节会介绍 NSX 基本架构和基本组件。

2.1.1 VMware 服务器虚拟化的前世今生

        介绍 VMware 网络虚拟化之前,不得不先提 VMware 服务器虚拟化的发展历史和一些 功能特性,因为 NSX 的很多设计思路和理念,都像极了已经深入人心的服务器虚拟化解决方案。有很多读者可能近几年才接触到服务器虚拟化,其实早在 1959 年,计算机科学家克 里斯托弗· 斯特雷奇(Christopher Strachey)就发表了一篇名为 Time Sharing in Large Fast Computers(大型高速计算机中的时间共享)的学术报告。 在该报告中,他第一次提出了虚 拟化的概念,即使用“时间共享” 技术,使多操作系统可以运行在一台计算机之上。但是 在当时,他的思想太超前了,计算机也完全没有普及,实现其想法也就困难重重。 在相当 长的时间内, 虚拟化只能作为一个概念存在于新兴的计算机学世界里。 随着科技的发展,大型机出现了, 但是它的价格非常昂贵,如何有效利用之成了一个 难题。伟大的 IT 公司 IBM 基于斯特雷奇的理论,开发了最早的虚拟机技术,允许在一台 IBM 大型机上运行多个操作系统,让用户尽可能地充分利用和共享昂贵的大型机资源。 20 世纪七、八十年代,虚拟化技术进入低谷期—因为随着大规模集成电路的出现, 计算机硬件变得越来越便宜,需要增加操作系统时,人们往往选择再购买一台计算机。当 初为了共享昂贵的大型机资源而设计的虚拟化技术就无人问津了。 虚拟化技术在 20 世纪 90 年代末期迎来复兴。随着 x86 计算机的普及、 CPU 的处理能 力越来越强、内存容量越来越大,新的基于 x86 平台的虚拟化技术诞生了, 其主要目的是 充分利用 x86 计算机的闲置资源。 1998 年成立的 VMware 公司于 1999 年最早正式发布了 基于 x86 计算机的虚拟化软件, 虽然 VMware 虚拟化技术在刚刚推出时并没有引起轰动, 但是为之后的 IT 变革埋下了伏笔—基于 x86 计算机的虚拟化技术的飞速发展,使得计算 资源可以实现池化,进而催生了之后的云计算。

        1997 年,斯坦福大学的蒙德尔· 罗森布洛姆(Mendel Rosenblum)、艾德瓦德· 巴格宁 (Edouard Bugnion)和斯科特· 迪瓦恩(Scott Devine)三人,在 ACM SOSP(Symposium on Operating Systems Principles,计算机操作系统研究领域的旗舰会议)上发表了著名论文 Disco: Running Commodity Operating Systems on Scalable Multiprocessors。 Disco 其实就是他 们在斯坦福大学里的一项科研课题,即在 x86 计算机 之上同时运行多个多操作系统,这也是现代虚拟化技 术的开山之作。一年之后,罗森布洛姆在加州大学伯 克利分校求学时相识的妻子戴安娜· 格林( Diane Greene)也加入了他们的团队(夫妇俩的照片见图 2.1), 加上一名华裔青年爱德华· 王(Edward Wang),他们 五人在美国加州的 Palo Alto 市创立了这家之后在 IT 界 扬名立万的 VMware 公司。 VMware 公司的名字是 Virtual Machine Software 的缩写,公司名字彰显了它从 成立之初就一直在坚持的事情—致力于推动虚拟机 软件的发展。如今, 罗森布洛姆夫妇分别是斯坦福大学教授和 Google 董事会成员。值得一提的是,巴格宁后来还成为了 Cisco UCS 之父。

         1999 年 5 月,具有划时代意义的 VMware Workstation 产品被这群具有创新精神的年轻 人研发出来了。 这是业内第一款基于 x86 平台的虚拟化软件,它允许在一台 x86 计算机上 同时运行多个操作系统,安装环境是 Windows 98/NT 4.0。 2001 年,专门用于 x86 服务器的 虚拟化软件 VMware ESX Server 正式发布, 它无需 Windows 操作系统,而是直接运行在计 算机底层。 ESX(现在叫做 ESXi)这个一直沿用到今天的 VMware 服务器虚拟化软件内核 程序(Hypervisor),是当时 VMware 实验室里的研发代号 Elastic Sky X 的缩写。 2003 年, vCenter 发布,它允许多台物理计算机上的所有虚拟机被同一个集中式的管理平面来管理, 且可以利用同时发布的 vMotion 技术在不同物理机之间实现迁移。

         2004 年,这家成立不到 6 年的年轻公司,被存储巨头 EMC 公司斥资 6.35 亿美金收购。今天, VMware 的市值较 EMC 收购时翻了近 100 倍,有人不禁感慨:如果晚几年再卖掉,能卖多少钱?如果不卖, 现在的 VMware 又可能是什么样子? 在 VMware 被 EMC 收购后, EMC 并没有将其并入自己的一个业务部门,或融入自己 的产品和解决方案中,而是任由其独立发展,其目的可能是为了 2007 年的 VMware 拆分上 市—一旦并入 EMC 的一个部门中,就无法上市了。就结果而言, VMware 因为独立发展, 势头非常良好。随着 CPU 和内存的能力不断提升、应用越来越多,市场对虚拟化的需求量 也越来越大—企业自然不希望闲置的 CPU 和内存不能被有效利用,而且通过购买更少的 服务器,安装虚拟化软件,还能有效节省物理服务器的采购成本,节省机房空间、用电和制冷 成本。

         VMware 将自己的虚拟化软件以每个物理 CPU 需要一个 license 的形式卖给客户,从中 取了利润,加上上市和融资, VMware 有了更多资金, 可以不断完善自己解决方案中的功能。 2008 年, Microsoft 公司和 Citrix 公司也开始推出自己的虚拟化软件,其中 Citrix 公司 通过收购得到了开源的 Xen 虚拟化系统的核心技术,而另外一款基于开源代码的 KVM 虚 拟化系统也开始兴起。服务器虚拟化技术蓬勃发展,理念已深入人心,越来越多的企业近 几年运用各种虚拟化解决方案来实现 P2V, 即将物理服务器迁移至虚拟化环境。 有竞争对手的市场总比垄断要好,竞争促使 VMware 公司研发新的解决方案。如今, VMware 不断更新服务器虚拟化的功能,在 vSphere 5.5 版本中, VMware 加入了存储的 DRS 和存储的 I/O 控制等功能;在 vSphere 6.0 版本发布之后,跨越 vCenter 的 vMotion、长距离 vMotion 的功能实 现, FT 也突破了一个 vCPU 的限制。此外,最近几年, 用来管理云环境的工具的功能也不断完 善,加上VSAN 和NSX 解决方案的提出,都与VMware 传统虚拟化解决方案一起成为了VMware SDDC 的拼图。 VMware 公司还有能力通过桌面虚拟化(VDI)技术帮助企业打造虚拟桌面。

        VMware vSphere 解决方案的底层使用了 ESXi(以前叫做 ESX)的虚拟机管理程序, 它不依赖于任何一个操作系统, 可以被安装到本地物理硬盘、外置 SAN 环境、闪存、 USB 驱动器等地方,但必须能够直接访问物理服务器的底层,作为物理服务器的 Hypervisor,知晓物理服务器所有信息。安装了 ESXi 程序的物理服务器叫做 ESXi 主机。图 1阐述了
VMware vSphere 的底层体系结构。 VMware 服务器虚拟化解决方案的核心思想有以下几点。
 在一台物理服务器底层安装虚拟化软件,使得一台物理服务器上可以运行多个操
作系统,安装多个应用。这些操作系统运行在多虚拟机上,而且其上安装的应用
与物理主机上实现的功能完全相同。
 就用户端而言,每台虚拟机看起来与物理服务器没有任何区别。
 能够快速并有效地更换虚拟机的虚拟硬件组件,如增加 vCPU、增加内存、增加虚
拟网卡等。
 跨物理服务器运行的多个虚拟机可以通过统一的管理平台进行部署、维护。复制、
增加、删除虚拟机非常便捷。
 虚拟机能够在不同物理机中进行快速、安全的迁移,借此技术还能实现高可用性
(High Availability, HA)和动态资源分配(Distributed Resource Scheduler, DRS)。

        VMware使用了vCenter系统来统一部署和管理安装在跨多个物理服务器上的虚拟机。vCenter 系统在一个统一的平台管理多台物理服务器上的虚拟机后,能够实现的其他主要功能如下。  通过在线迁移(vMotion)技术, 将正在运行的虚拟机从一台物理服务器迁移到其 他物理服务器,而无需中断。这是 VMware 最重要的技术之一, DRS、 HA 等高级 功能都基于这个技术。  动态资源分配技术, 使得多台物理服务器中运行的虚拟机可以实现负载均衡。 DRS 利用了 vMotion 技术来实现这个功能—一旦检测到负载升高到一定程度,就能通 过 vMotion 技术进行在线迁移。  分布式电源管理(Distributed Power Management, DPM)可以结合 DRS 功能,将 多个负载较低的虚拟机集中到少数物理服务器上,把无用的物理服务器关机,节省电力;而在虚拟机负载开始增多时,对没有使用的物理服务器加电开机,再通 过 DRS 实现负载均衡。

 存储在线迁移(Storage vMotion)技术,允许正在运行的虚拟机的硬盘资源从一个 存储设备迁移到另一个设备上。

 存储的动态资源分配技术(Storage DRS)功能,允许虚拟机从存储的角度进行负 载均衡。  数据保护(Data Protection)功能,可以备份虚拟机。

 高可用性, 当一台物理服务器出现故障时,将虚拟机迁移到其他物理服务器上。 迁移过程又是基于 vMotion 技术并遵循 DRS 的。

 容错(Fault Tolerance, FT)功能,允许在不同物理服务器上运行两台完全一模一 样的虚拟机,提供最高等级的冗余性,即使一台物理服务器(或虚拟机) 发生故 障,业务也不会中断运行。 值得注意的是,在 vSphere 5.5 版本之前, FT 功能仅能 支持 1 个 vCPU,这个限制在 vSphere 6.0 版本进行了极大的改进, 可以支持 4 个 vCPU。企业可以对最核心的应用部署 FT,对一般应用部署 HA。

 复制(Replication),可以复制虚拟机的所有镜像到到另一个站点(如灾备中心), 进行灾难恢复,保障数据安全。 目前最新的 VMware vSphere 软件已走到了第六代,它有多个版本,分为基础版 (Essentials)、基础加强版(Essentials Plus)、标准版(Standard)、企业版(Enterprise)、企 业加强版(Enterprise Plus)五种。不同的版本能实现的功能也不同, 其价格是随着其版本 不同而不同。 表 2.1 所示为每个版本能实现的功能概览。

        值得注意的是, VMware vSphere 试用版本支持所有功能,但是使用期有 60 天的限制。 此外,可以看到,只有企业加强版(Enterprise Plus)的 license 才能够支持分布式交换 机(VDS),而 NSX-V 网络虚拟化平台必须建立在分布式交换机之上。因此,搭建 NSX-V 网络虚拟化平台时,必须确保企业中 vSphere 的 license 是企业加强版。但是这个限制在 NSX 6.2 版本发布之后已经消除—NSX 6.2 licence 自带 VDS 功能,这意味着现在低版本的 vSphere 同样可以支持 NSX-V 网络虚拟化环境。

2.1.2 服务器虚拟化的优势移植到了网络虚拟化

         以前的大二层技术一般是在物理网络底层使用 IS-IS 路由技术,再在此基础之上实现数 据中心网络的二层扩展,如公有的 TRILL、 SPB 技术和 Cisco 私有的 OTV、 FabricPath 技 术。 前沿一些的网络虚拟化技术使用了 VXLAN、 NVGRE 等协议,突破 VLAN 和 MAC 的 限制,将数据中心的大二层网络扩展得更大(这些在第 1 章都做了阐述)。而使用 VMware NSX,则更进一步—可以对网络提供与对计算和存储实现的类似的虚拟化功能。就像服 务器虚拟化可以通过编程方式创建、删除和还原基于软件的虚拟机以及拍摄其快照一样, 在 NSX 网络虚拟化平台中,也可以对基于软件的虚拟网络实现这些同样的功能。这是一种 具有彻底革命性的架构,不仅数据中心能够大大提高系统的敏捷性、可维护性、可扩展性, 而且还能大大简化底层物理网络的运营模式。 NSX 能够部署在任何 IP 网络上,包括所有的 传统网络模型以及任何供应商提供的新一代体系结构,无需对底层网络进行重构, 只需要 注意将底层物理网络的 MTU 值设置为 1600 即可,这是因为 VXLAN 封装之后的 IP 报文会 增加一个头部。不难看出, VMware NSX 的核心思想其实就是将 VMware 多年致力发展的 服务器虚拟化技术移植到了网络架构中,如图 2.3 所示。

        实现服务器虚拟化后,软件抽象层(服务器虚拟化管理程序 Hypervisor)可在软件中 重现人们所熟悉的 x86 物理服务器属性,例如 CPU、 内存、磁盘、网卡,从而可通过编程 方式以任意组合来组装这些属性,只需短短数秒,即可生成一台独一无二的虚拟机。而实 现网络虚拟化后,与 Hypervisor 类似的“网络虚拟化管理程序” 可在软件中重现二到七层 的整套网络服务,例如交换、路由、访问控制、防火墙、 QoS、负载均衡。因此,与服务 器虚拟化的理念相同,可以通过编程的方式以任意组合来部署这些服务,只需短短数秒, 即可生成独一无二的虚拟网络(逻辑网络)。

        除此之外,基于 NSX 的网络虚拟化方案还能提供更多的功能和优势。例如,就像虚拟 机独立于底层 x86 平台并允许将物理服务器视为计算容量池一样,虚拟网络也独立于底层 网络硬件平台并允许将物理网络视为可以按需(如按使用量和用途)进行自动服务的传输 容量池。 对于第 1 章中提到的业务或应用的激增和激退的情形,数据中心就实现了网络资 源的快速分配。与传统体系结构不同, NSX 可以通过编程方式调配、更改、存储、删除和 还原虚拟网络,而无需重新配置底层物理硬件或改变拓扑。这种革命性的组网方式与企业 已经非常熟悉的服务器虚拟化解决方案有着异曲同工之妙。

         由于使用了 NSX 解决方案后的逻辑网络架构产生了质的变化,以 NSX 网络平台搭建 的数据中心最终达到的效果就是: 无论系统规模多大,无论物理服务器、虚拟机有多少台, 无论底层网络多么复杂,无论多站点数据中心跨越多少地域,在 NSX 网络虚拟化解决方案 的帮助下,对于 IT 管理人员和用户来说,这些运行在多站点数据中心复杂网络之上的成千 上万台的虚拟机,就好像是连接在同一台物理交换机上一样。有了 VMware NSX,就有可 以部署新一代软件定义的数据中心所需的逻辑网络。

        之前讨论过 NSX 无需关心底层物理网络,那么它是否一定要部署在 VMware 的虚拟化 环境中?答案也是否定的。 NSX 可以部署在 VMware vSphere、 KVM、 Xen 等诸多虚拟化 环境中,这也是 Nicira NVP 平台本来就具备的功能。

  • 38
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值