根据实现技术位于系统的不同层次,虚拟化技术分为软 件虚拟化技术和硬件虚拟化技术 传统PC由操作系统控制、 管理和分配软硬件资源,存在资源利用率低、计算机的存储 和IO系统长期处于“闲”的状态等缺陷[2]。软件虚拟化技 术通过第三方软件把计算机虚拟为多个独立的虚拟机,解决 上述缺陷,提高资源利用率。常用的虚拟化软件有VMW的 VMware、VMS的Workstation、Oracle的VirtualBox和 Microsoft的Virtual PC。
硬件虚拟化,首先底层硬件必须支持虚拟化技术,另外, 作为该结构核心的VMM(虚拟机监视器,为系统管理程序, 可以理解为平台硬件和操作系统的抽象)不仅要直接控制管 理硬件资源,还需要为虚拟机提供虚拟环境。常用的VMM有Ken、KVM。
并行虚拟化又称超虚拟化,其原理如表2所示。与完全 虚拟化类似,也使用VMM实现对底层硬件的共享访问,并且 将与虚拟化有关的程序集成到操作系统中。
操作系统虚拟化,其原理如表3所示。所有的虚拟机必 须运行同一种操作系统,没有VMM,在物理机操作系统之上 实现服务器的虚拟化,提供一种更瘦的虚拟架构体系[3]。
根据虚拟化技术的具体应用和解决方案不同,虚拟化技 术可以分为服务器虚拟化、存储虚拟化、应用虚拟化、桌面 虚拟化、网络虚拟化 服务器虚拟化又称为基于主机的虚拟 化,是将服务器的CPU、内存、IO设备等物理资源转化为多 个虚拟的逻辑资源。具有同一接口标准的逻辑资源被组装成 多个完全独立的服务器。
存储虚拟化又称为存储控制器的虚拟化,在物理存储系 统和服务器之间增加一个虚拟层——控制器,它管理和控制 所有存储并对服务器提供存储服务。
应用虚拟化将应用程序与底层操作系统逻辑隔离,为应 用程序提供了一个虚拟的运行环境,从而实现应用程序(或 软件)即服务[4]。通过应用虚拟化技术,可以增强软件的 可移植性,有利于保障底层操作系统的安全,提高应用程序 的兼容性。
桌面虚拟化是指将计算机的桌面进行虚拟化,以达到桌 面使用的安全性和灵活性。桌面虚拟化通过任何设备,在任何地点、任何时间访问在网络上的属于个人的桌面系统。
不同的虚拟化技术适用于不同的领域、应用环境和用户 需求。如:基于软件朝着开源的方向发展,从成本开销和应 用上看,软件虚拟化较硬件虚拟化的开销更低,更倾向于普 通用户用于软件测试;
从数据中心的安全和发展的角度看, 应用更多的是硬件虚拟化,所以软件虚拟化越来越受到普通 用户的青睐,硬件虚拟化更适用于大型数据中心。
不同类型的虚拟化技术也有不同的实现方法。如服务器 虚拟化方法有完全虚拟化、并行虚拟化和操作系统虚拟化;
服务器硬件虚拟化技术包括CPU虚拟化、内存虚拟化、存储 虚拟化、网络虚拟化等。
2 几种主要的虚拟化技术 服务器虚拟化 服务器虚拟化将物理主机的CPU、内存、 IO设备等物理资源转化为可以统一管理的逻辑资源,充分发 挥服务器硬件的性能,提升硬件资源的利用率。虚拟化的逻 辑资源必须具有同一接口标准才能成为一台虚拟机,逻辑资 源实际上不存在,没有实际的意义;
服务器虚拟化的目的是 实现资源共享,提高物理资源整体利用率,使资源使用最大 化,如表4所示。
服务器虚拟化包括两种形式:一对多,如以上定义所述, 将单台物理服务器虚拟出多台相互独立的虚拟服务器;
多对 一,将多台物理服务器资源进行整合,提供资源动态调配, 即使用多台物理主机虚拟成一台超级计算机,如云计算平台和高性能计算集群。第一种主要用于普通用户测试和学习, 第二种主要用于科学计算和云服务,需要专业人士实现和维 护。
第一种形式的服务器虚拟化主要有四个特点:同时性, 在单一物理服务器上可以同时运行多个虚拟机,即可以同时 运行多个操作系统;
独立性,在同一服务器上的虚拟机之间 相互隔离、相互独立、互不干扰,并且独立于物理硬件;
封 装性,整个虚拟机以文件形式保存,可以通过移动和复制文 件的方式实现服务器的虚拟化;
跨平台性,无需修改任何配 置文件就可在任何服务器上运行。
第二种服务器虚拟化具有以下特点:各服务器型号和性 能相同;
各服务器操作系统相同;
封装良好,任意一台服务 器出现故障不影响整体使用;
高速互联网络。
存储虚拟化 存储虚拟化一般在存储设备(主盘柜)的 控制器中实现,可以整合IBM、EMC、HP、NetAPP等多台不同 品牌、型号、类型、接口的存储设备,形成一个统一的存储 池,从而提高存储容量、性能。在虚拟化层通过利用多路径 软件、瘦供给、快照、卷拷贝、卷镜像、远程镜像、数据自 动分层等存储特性实现统一管理,当存储池发生变化时,主 机应用不会被迫中断。
存储虚拟化通过控制器将存储模块 (包括硬盘和raid卡)统一管理,主机操作系统操作的是一 块硬盘(物理卷组),然后可以根据用户需求划分不同的逻 辑卷。用户只是管理自己的逻辑数据,不必关心数据实际的存储位置。服务器不直接与存储硬件打交道,而与控制器交 流,存储硬件的增减、调换、分拆、合并对服务器完全透明。
存储虚拟化的优势为:隐藏了复杂程度,特别对使用者 而言,不必了解其内部实现;
允许将现有的功能集成使 用、统一管理,降低了管理人员的难度;
摆脱了物理容 量的局限,扩大了逻辑容量;
减少硬盘碎片的产生,提高硬 盘容量的使用率。磁盘阵列存储是目前虚拟化技术最成熟的 产品和应用。
桌面虚拟化 桌面虚拟化技术利用虚拟化技术将终端用 户同底层操作系统和应用程序分开,终端用户可独立连接多 个独立操作系统和应用程序的镜像,而操作系统和应用软件 都集中在数据中心,实质上是将用户使用与系统管理进行了 有效的分离。
桌面虚拟化的优点:灵活的访问和使用;
广泛与简化的 终端设备支持;
终端设备采购、维护成本大大降低;
集中管 理、统一配置;
使用安全;
降低耗电、节能减排。常用的桌 面虚拟化软件有远程桌面协议(RDP)、Hyper-V、View(ICA)、 Xen。另外,TeamViewer和VNC应用也比较广泛。
网络虚拟化 网络虚拟化在日常工作中最典型的应用有 虚拟网卡、VPN和VLAN。
虚拟网卡是硬件虚拟化的一部分。可以把单一物理网卡 根据用户的应用需求抽象为不同的逻辑网卡,即虚拟IP;
VPN, 虚拟专用网,为节省成本,不同用户通过VPN主机进行加密通讯接入互联网;
VLAN,虚拟局域网,通过三层协议交换机 将不同网段的设备或用户组织起来,他们之间的通信好像在 同一网段中一样。
3 虚拟化技术的优势与不足 虚拟化技术在十几年的发展过程中呈现了若干优势 1)整合资源,提高资源利用率。随着信息化水平的不 断提高和业务的增长,必然需要更多的服务器支持新的应用。
这种解决方式的弊端在于造成资源的浪费,增加了网络成本。
而虚拟化技术的应用,可以有效整合分散的物理资源,提供 统一的管理和服务,避免因服务器分散部署而导致的利用率 低下的弊端,提高服务器的可靠性和利用率。
2)简化资源使用的复杂度,更快、更方便部署系统。
虚拟化技术的实现是一项复杂的工程,运用虚拟化技术的目 的是使用者更快更方便地完成自己的部署,满足自我需求, 简化实现的流程和过程。虚拟化技术良好的封装性使得用户 不必了解内部实现,从而实现用户的需求。就如操作系统的 发展一样,虚拟化技术的出现和发展会使应用在多个层面朝 着傻瓜模式发展。
3)简化资源管理,提供自动的资源分配、回收方式。
利用虚拟化技术,可以在一台机器上模拟出许多不同的操作 系统,建立一个高效、方便的测试环境,实现集中式管理, 简化操作流程,系统维护简便快捷。
4)降低开销和管理成本。虚拟化技术的实施,最大程度地降低基础架构建设的成本和开销。服务器的整合,不仅 提高了硬件利用率,还减少了硬件需求,即硬件数量的减少。
服务器数量的减少,数据中心的占用面积、机架空间以及电 源、制冷、电缆、存储和网络组件也相应减少,专业人员的 设备管理成本和安全风险也必然降低。
虚拟化技术在提高资源利用率和给用户提供便利的同 时,也凸显出很多弊端 1)降低物理设备的使用寿命,对基础设施的建设提出 严峻的考验。据统计,利用虚拟化技术可以使物理资源的使 用率提高到80%,但同时带来的是物理设备的使用寿命降低 30%,宕机率达到51%,如图1所示。
2)增加物理设备更新频率和维护成本。任何事物都有 两面性,虚拟化技术在提高设备使用率的同时,使用寿命缩 短,从长期看,设备的维护成本和开销也必然提高。
3)增大服务器的使用风险。虽然虚拟化技术提供了安 全机制,但安全不是绝对的。一台服务器上出现重大的硬件 故障只会影响这台服务器上的服务,但该服务器在运行10台 虚拟服务器时,面临的风险就大得多,可能导致所有虚拟机 全部崩溃;
多个独立存储(物理卷)要比存储虚拟化组成的 物理卷组出现问题带来的风险小得多。
4)数据迁移带来的困难。从表面上看,从物理环境迁 移到虚拟环境与物理服务器迁移到物理服务器没什么不同。
然而,数据迁移工作更多地依靠以太网实现,网络传输速度使数据迁移不仅费时费钱,更容易造成数据丢失。
4 虚拟化技术在数据中心的应用 数据中心(IDC)主要提供VPS服务、云存储和高性能计 算三种业务。笔者结合自己管理的北京师范大学某高性能计 算中心说明虚拟化技术在其中的应用。该高性能计算机由计 算节点、存储节点和计算网络三部分组成,主要用于科学计 算。
服务器虚拟化的应用 当前世界上用于科学计算的超级 计算机80%以上都是计算机集群,这种分布式高性能计算机 集群是由功能和特性相同的普通服务器虚拟化成一台超级 计算机,用于满足用户的模式运算。这种服务器虚拟化方式 是上文提到的第二种服务器虚拟化技术。当前性能较好的服 务器其资源有限,特别是CPU的性能和总核数,不能满足用 户的计算需求。以IBM最新的IBM System x3850 X6产品为例, 该服务器CPU为英特尔至强E7-4800/8800 v2,CPU主频高达 3.2 GHz,有4个处理器,60个内核,最大支持6 TB内存。在 独立服务器中,其计算性能出色,内存容量较大,浮点计算 能力理论值达到1.5 TFLOPS。而该高性能计算平台计算集群 由256个低端的Intel(R) Xeon(R) CPU E5540,主频为 2.53 GHz,共1024核组成,其计算能力达到10 TFLOPS。该 平台单台服务器(刀片)其计算性能远低于IBM System x3850 X6,但总计算性能高其一个数量级,而且资源的维护成本要 低于IBM System x3850 X6。对于客户(使用者)来讲,不必了解集群的内部实现,只需要申请满足自己需要的资源 (核数)即可。
另外,在该高性能计算中心托管的其他几 十台独立运行的服务器有80%采用上文提到的第一种服务器 虚拟化技术,作为技术测试和低数据量的计算。数据中心的 设备使用寿命最高为10年,随着使用周期的延长,设备的物 理磨损程度的提高,管理和维护开销不断增加,因此在设备 的使用寿命周期内最大化的利用服务器资源的性能也可以 节约最终的开销。
存储虚拟化的应用 数据存储系统是该高性能计算机的 重要组成部分。磁盘阵列存储是目前虚拟化技术最成熟的产 品和应用。这种设备采用虚拟化技术,把若干相同特性的物 理硬盘通过磁盘阵列技术变成一块raid盘,该raid盘可以根 据用户需求划分成不同的逻辑卷供不同的主机使用,既能实 现硬盘整合,提高容量,减少硬盘碎片,对存储空间和连接 主机进行集中管理,更能满足多用户多任务的需求。
数据存储是数据中心运营的重要功能,而磁盘阵列是存 储虚拟化技术在数据中心的基本应用,目前所有品牌的存储 都支持磁盘阵列,磁盘阵列的类型也从raid0发展到raid6。
除了磁盘阵列技术,存储虚拟化在高性能计算中心还有两方 面的应用。一是把多个存储盘柜虚拟整合为一个逻辑盘柜。
众所周知,一个盘柜一般由12或16块硬盘组成,每块硬盘的 容量目前最大为4 TB,即单个盘柜的容量最大为64 TB,远 远达不到数据中心建设的规模。一般而言,一个存储系统通常由主盘柜和扩展柜组成,在该中心的存储通常通过Mapper 技术虚拟化为一个物理盘组。二是在虚拟化盘柜的技术上, 采用Google File System升级物理盘柜的文件系统,提高其 并行读写能力。
网络虚拟化的应用 网络虚拟化技术被广泛应用于数据 中心的网络建设中。该高性能计算平台网络主要包括管理网 络和计算网络。管理网络通过普通千兆因特网互联实现,计 算网络是计算平台达到高性能的重要基础设施,是通过单向 带宽为40 Gb的infiniBand交换机互联实现的,所以物理设 备除了交换机外,计算节点(刀片服务器)必须支持上述网 卡。除了计算网络采用虚拟化技术外,VLAN和VPN也应用于 该平台的网络建设,高性能计算平台的大量数据具有保密性, 高风险是其显著特征之一,网络安全是平台管理和监控的重 要任务之一。比如2014年在比特币等虚拟货币盛行市场的时 候,很多黑客利用高性能计算平台的众核优势来盈利,如该 性能计算平台被黑客用来挖矿,在安全监控的保障下,问题 得到发现,及时解决。当时,笔者切断所有用户的公网访问 权限,用户必须通过校园网VPN服务和校内账号认证才能顺 利申请资源和提交任务。
5 结束语 随着计算机技术的飞速发展,无线互联网络和传感器等 物联网技术的日益成熟,虚拟化技术将被更多地应用于手机 业务,对提升移动终端的效率和安全性,降低移动终端的成本起着极大的推动作用。
参考文献 [1]王晓梅,马芳.计算机虚拟化技术应用分析[J].信息 与电脑:理论版,2012(5):80. [2]沐士光,师秀凤.虚拟化技术探讨[J].中小企业管理 与科技,2009(19):275-276. [3]宋晓光,杨哂哂,吕渊鸣.虚拟化技术在数字化校园 建设中的应用[J].中国教育网络,2011(2):76-78.
扩展阅读文章
推荐阅读文章
推荐内容
钻爱网 www.zuanai.cn
Copyright © 2002-2018 . 钻爱网 版权所有 湘ICP备12008529号-1