APP下载

软件定义数据中心的基础理论研究

2018-11-21孙志刚

科学与财富 2018年29期
关键词:存储虚拟化网络

孙志刚

摘 要: 我们正处于一场几十年未见的数字化革命性转变中,究其技术核心,这一转变是由“软件”基础设施的崛起而驱动。虚拟机、虚拟网络和存储设备能够以高速自动化的方式分配与重新配置,不会受到非动态设置的硬件基础设施的限制,在“软件定义数据中心”的模型下,用户首先考虑的是应用,根据应用的模式便可灵活的调配其所需的IT基础架构资源,也就是通过软件化的方式实现硬件资源调配。我们需要通过理论研究来指导用户解决在云化和数字化转型过程中遇到的各种技术难题,帮助用户应对高昂的转型成本。

关键词: 软件;数据中心;虚拟化;超融合;网络;服务器;存储

一、引言

云计算、大数据、人工智能等新技术正在颠覆各行各业,推动各企业的数字化转型与创新。随着云计算和虚拟化技术向构建新一代数据中心方向发展,以虚拟化为基础,实现管理以及业务的集中,对数据中心资源进行动态调整和分配,满足关键应用向X86 系统迁移对于资源高性能、高可靠、安全性和高可适应性上的要求,同时提高基础架构的自动化管理水平,确保满足基础设施快速适应业务诉求,支持应用云化部署。在云计算之前,业务应用上线,需要经历组网规划、容量规划、设备选型、下单、付款、发货、运输、安装、部署、调试的整个完整过程。这个周期在大型项目中需要以周甚至月来计算,而在引入云计算后,这整个周期可以缩短到以分钟来计算。

二、计算虚拟化

1.CPU虚拟化

对虚拟机来说,不直接感知物理 CPU,虚拟机的计算单元通过 vCPU 对象来呈现。虚拟机只看到 VMM 呈现给它的 vCPU。在 VMM 中,每个 vCPU 对应一个 VMCS(Virtual-MachineControl Structure)结构,当 vcpu 被从物理 CPU 上切换下来的时候,其运行上下文会被保存在其对应的 VMCS 结构中;当 vcpu 被切换到 pcpu 上运行时,其运行上下文会从对应的 VMCS 结构中导入到物理 CPU 上。通过这种方式,实现各 vCPU 之间的独立运行。

从虚拟机系统的结构与功能划分可以看出,客户操作系统与虚拟机监视器共同构成了虚拟机系统的两级调度框架,如图所示是一个多核环境下虚拟机系统的两级调度框架。客户操作系统负责第 2 级调度,即线程或进程在 vCPU 上的调度(将核心线程映射到相应的虚拟 CPU 上)。虚拟机监视器负责第 1 级调度, 即 vCPU 在物理处理单元上的调度。两级调度的调度策略和机制不存在依赖关系。vCPU 调度器负责物理处理器资源在各个虚拟机之间的分配与调度,本质上即把各个虚拟机中的 vCPU 按照一定的策略和机制调度在物理处理单元上可以采用任意的策略来分配物理资源, 满足虚拟机的不同需求。vCPU 可以调度在一个或多个物理处理单元执行(分时复用或空间复用物理处理单元), 也可以与物理处理单元建立一对一固定的映射关系(限制访问指定的物理处理单元)。

2.内存虚拟化

因为 VMM (Virtual Machine Monitor) 掌控所有系统资源,因此 VMM 握有整个内存资源,其负责页式内存管理,维护虚拟地址到机器地址的映射关系。因 Guest OS 本身亦有页式内存管理机制,则有 VMM 的整个系统就比正常系统多了一层映射:

A. 虚拟地址(VA),指 Guest OS 提供给其应用程序使用的线性地址空间;

B. 物理地址(PA),经 VMM 抽象的、虚拟机看到的伪物理地址;

C. 机器地址(MA),真实的机器地址,即地址总线上出现的地址信号;

映射关系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 维护一套页表,负责 PA 到 MA 的映射。Guest OS 维护一套页表,负责 VA 到PA 的映射。实际运行时,用户程序访问 VA1,经 Guest OS 的页表转换得到 PA1,再由VMM 介入,使用 VMM 的页表将 PA1 转换为 MA1。

三、I/O 设备虚拟化

VMM 通过 I/O 虚拟化来复用有限的外设资源,其通过截获 Guest OS 对 I/O 设备的访问请求,然后通过软件模拟真实的硬件,目前 I/O 设备的虚拟化方式主要有三种:设备接口完全模拟、前端/后端模拟、直接划分。

1、设备接口完全模拟:

即软件精确模拟与物理设备完全一样的接口,Guest OS 驱动无须修改就能驱动这个虚拟设备。优点:没有额外的硬件开销,可重用现有驱动程序;缺点:为完成一次操作要涉及到多个寄存器的操作,使得 VMM 要截獲每个寄存器访问并进行相应的模拟,这就导致多次上下文切换;由于是软件模拟,性能较低。

2、前端/后端模拟:

VMM 提供一个简化的驱动程序后端,Guest OS 中的驱动程序为前端,前端驱动将来自其他模块的请求通过与 Guest OS 间的特殊通信机制直接发送给VMM,VMM后端驱动在处理完请求后再发回通知给前端。优点:基于事务的通信机制,能在很大程度上减少上下文切换开销,没有额外的硬件开销;缺点:需要 GuestOS实现前端驱动,后端驱动可能成为瓶颈。

3、直接划分:

即直接将物理设备分配给某个 Guest OS,由 Guest OS 直接访问 I/O 设备(不经 VMM),目前与此相关的技术有 IOMMU(Intel VT-d, PCI-SIG 之 SR-IOV 等),旨在建立高效的I/O 虚拟化直通道。优点:可重用已有驱动,直接访问减少了虚拟化开销;缺点:需要购买较多额外的硬件。

四、存储虚拟化

业界典型的分布式存储技术主要有分布式文件系统存储、分布式对象存储和分布式块设备存储等几种形式。分布式存储技术ServerSAN及其相关产品已经日趋成熟,并在IT行业得到了广泛的使用和验证。分布式存储软件系统具有以下特点:

高性能:数据分散存放,实现全局负载均衡,分布式缓存;

高可靠:采用集群管理方式,不存在单点故障,灵活配置多数据副本,不同数据副本存放在不同的机架、服务器和硬盘上,单个物理设备故障不影响业务的使用,系统检测到设备故障后可以自动重建数据副本;

高扩展:没有集中式存储控制器,支持平滑扩容,容量几乎不受限制;

易管理: 存儲软件直接部署在服务器上,没有单独的存储专用硬件设备,通过Web 页面的方式进行存储的管理,配置和维护简单。

我们目前在充分掌握了虚拟化环境存储方面的需求基础上,采用分布式存储软件。该软件融合了分布式缓存、SSD读写缓存加速、多副本机制保障、故障自动重构机制等诸多存储技术,满足关键业务的存储需求。软件基于底层Hypervisor之上,通过主机管理、磁盘管理、缓存技术、存储网络、冗余副本等技术,管理集群内所有硬盘,“池化”集群所有硬盘存储的空间,使得虚拟机可以进行业务数据的保存、管理和读写等整个存储过程中的操作。

五、网络及网络安全虚拟化

以开放取代封闭,以通用替代专有——将原本传统的专业网元设备上的网络功能提取出来虚拟化,运行在通用的硬件平台上,业界称这种变化为NFV。N F V (Network Functions Virtualisation网络功能虚拟化)的目标是希望通过广泛采用的硬件承载各种各样的网络软件功能,实现软件的灵活加载,在数据中心、网络节点和用户端等各个位置灵活的配置,加快网络部署和调整的速度,降低业务部署的复杂度及总体投资成本,提高网络设备的统一化、通用化、适配性。

通过NFV技术, 将网络功能资源进行虚拟化,使得网络资源升级为虚拟化、可流动的流态资源, Overlay模型使流态网络资源的流动范围跳出了物理网络的束缚,可以在全网范围内按需流动,呈现出网络资源的统一池化状态,最终实现了企业级云架构中网络资源的灵活定义、按需分配、随需调整。

网络功能虚拟化将网络功能与专有硬件设备分离,并将这些功能使用软件的方式实现,以支持虚拟化组件完全融合的基础架构。通过这种方式,可以充分利用超融合平台的硬件资源,降低网络昂贵的设备、人力维护成本,其自有的功能抽象、快速部署、弹性伸缩、分布式的高可靠、故障自愈等特性也为用户的网络需求带来极大的满足度。

参考文献

[1]应用Hyper-V技术进行服务器虚拟化[J]. 郑毅. 电脑与信息技术. 2016(05).

[2]存储虚拟化技术探讨[J]. 康琼. 长江大学学报(自然科学版)理工卷. 2010(03).

[3]基于OpenFlow的SDN技术研究[J]. 左青云,陈鸣,赵广松,邢长友,张国敏,蒋培成. 软件学报. 2013(05).

[4]性能虚拟化存储系统的设计与实现[J]. 柯剑,那文武,朱旭东,许鲁. 计算机工程. 2009(23).

猜你喜欢

存储虚拟化网络
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在计算机技术创造中的应用
云计算与虚拟化
基于网络的中学阅读指导
新形势下地市报如何运用新媒体走好群众路线
存储虚拟化还有优势吗?