日期:2023-01-06 阅读量:0次 所属栏目:教育教学
1 虚拟化技术
虚拟化有狭义和广义之分。狭义虚拟化指的是物理资源的抽象化,是单一物理资源的多个逻辑表示,或者多个物理资源的单一逻辑表示。广义虚拟化是一种简化管理、优化资源的解决方案,计算机元件在虚拟的基础上而不是真实的基础上运行[1]。虚拟化技术即实现虚拟化的方法,它具有屏蔽同一类物理设备的专有特性、将相同特性的物理设备进行资源整合、将整合的资源虚拟出多个类似的虚拟设备和对虚拟设备进行统一管理等多种功能。根据不同的分类标准,虚拟化技术有不同的分类方法。
根据实现技术位于系统的不同层次,虚拟化技术分为软件虚拟化技术和硬件虚拟化技术 传统PC由操作系统控制、管理和分配软硬件资源,存在资源利用率低、计算机的存储和IO系统长期处于“闲”的状态等缺陷[2]。软件虚拟化技术通过第三方软件把计算机虚拟为多个独立的虚拟机,解决上述缺陷,提高资源利用率。常用的虚拟化软件有VMW的VMware、VMS的Workstation、Oracle的VirtualBox和Microsoft的Virtual PC。
硬件虚拟化,首先底层硬件必须支持虚拟化技术,另外,作为该结构核心的VMM(虚拟机监视器,为系统管理程序,可以理解为平台硬件和操作系统的抽象)不仅要直接控制管理硬件资源,还需要为虚拟机提供虚拟环境。常用的VMM有Ken、KVM。
根据虚拟化技术的实现方法不同,虚拟化可分为完全虚拟化、并行虚拟化和操作系统虚拟化 完全虚拟化又称为原始虚拟化,其原理如表1所示。VMM(Hypervisor)在裸机硬件和虚拟机操作系统之间,负责裸机硬件资源的分配与管理,所以,底层裸机硬件并不是操作系统所拥有,而是操作系统通过VMM共享。
并行虚拟化又称超虚拟化,其原理如表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服务和校内账号认证才能顺利申请资源和提交任务。
此外,桌面虚拟化技术也被应用于该高性能计算平台。笔者利用桌面虚拟化的优势,使用KVM来解决管理网络不能正常访问状况的问题查询和归因,这样既方便管理操作,又充分利用了其降低能耗的特点,缓解中心运营中高能耗的压力。由此可见,虚拟化技术构成了该分布式高性能集群的基础架构,保证其顺利运转。
5 结束语
随着计算机技术的飞速发展,无线互联网络和传感器等物联网技术的日益成熟,虚拟化技术将被更多地应用于手机业务,对提升移动终端的效率和安全性,降低移动终端的成本起着极大的推动作用。
参考文献
[1]王晓梅,马芳.计算机虚拟化技术应用分析[J].信息与电脑:理论版,2012(5):80.
[2]沐士光,师秀凤.虚拟化技术探讨[J].中小企业管理与科技,2009(19):275-276.
[3]宋晓光,杨哂哂,吕渊鸣.虚拟化技术在数字化校园建设中的应用[J].中国教育网络,2011(2):76-78.