系统虚拟化技术在校园中的应用

2011-11-09 06:41罗英伟
中国教育网络 2011年5期
关键词:虚拟化集群服务器

文/罗英伟

系统虚拟化技术在校园中的应用

文/罗英伟

虚拟化技术在校园中的应用十分广泛,为校园信息化建设提供了许多非常好的方法。北大网络所目前正在具体实现各种面向校园应用的虚拟化上机实验环境,并将973VMM应用到校园中的其他系统中去。

在20世纪70年代,IBM推出了VM/3 7 0,成为最早的系统级虚拟机。当时,研究虚拟化技术是为了充分利用相对昂贵的硬件资源。近年来,随着硬件性能的不断提高,虚拟化技术再次成为研究热点。由于虚拟化技术能灵活组织管理计算机资源,为用户提供个性化的应用环境,在节约计算资源的同时,还提高了系统的稳定性和可靠性,其在应用中体现出来的优势也日益显著——虚拟化技术在云计算和校园中的应用就是其中很重要的一个方面。

云计算

随着第五代计算机、高性能计算、互联网、网格、虚拟化等技术的逐渐兴起,“云计算”这个概念逐渐出现在我们的视野里。云计算技术向我们展示了一种新的商业模式。在这种模式下,将计算能力和计算资源看成一种商品进行流通,就像我们日常生活中对水电的使用一样,我们将根据自己的需求去获得所需的计算服务,并为自己所获得的服务付费。在这种商业模式里,不同的角色对“云计算”的看法不同。对于普通用户来说,他们将应用放在“云里跑”,如Google Doc;对于应用开发者,他们主要实现以浏览器为中心的用户界面;而应用部署者的任务是快速部署和配置,比如10分钟里在1000台服务器上部署一个应用,或者调整该应用的配置;设施拥有者负责针对不同应用负载的动态需求,实现设备的高“可动员性”。云计算根据不同的服务内容可分为一系列的XaaS,如:

将软件作为服务的SaaS(Software as a Service),如Salesforce online CRM服务;

将平台作为服务的PaaS(Platform as a Service),如Google App Engine;

将基础设施作为服务的IaaS(Infrastructure as a Service),如Amazon EC2/S3/SQS服务;

将管理作为服务的Management as a Service、将存储作为服务的Storage as a Service……

图1 虚拟机体系结构

虚拟化的四个研究方面

虚拟化是一种将底层物理设备与上层操作系统、软件分离的去耦合技术。在虚拟化技术出现之前,计算机上的程序和软件都是运行在真实的计算环境上,独享所有的计算资源。虚拟化技术通过在硬件和操作系统之间增加了一个去耦合的中间层次——虚拟机管理器(Virtual Machine Monitor,VMM),使得程序和软件可以运行在一个虚拟出来的计算环境中,它们共享计算机上的所有资源,这样大大提高了资源的利用率。虚拟化的目标是实现IT资源利用效率和灵活性的最大化。如图1所示,多个系统(虚拟机,Virtual Machine,VM)融合在一台物理机上,使得资源利用率提高;同时,应用系统也不再依赖特定的硬件,使得系统维护灵活。

虚拟机具有动态构建、动态部署、相互隔离、动态资源调整等特征。我们可以通过在线备份技术来实现容错支持,还可以通过在线迁移、服务器融合等技术来实现资源调度和绿色计算。比如一台物理机的资源不够了,可以将其上的虚拟机在线迁移到另一台资源充足的物理机上继续工作。在这个过程中停机时间非常短,终端感觉不出来,并且迁移过程对于Web服务器的性能几乎没有影响。

目前市场上主要的虚拟化产品有以下四种:VMware、Xen、KVM及Microsoft Hyper-V。国内正在进行虚拟化研究的项目主要有973计划项目“计算系统虚拟化基础理论与方法研究”(http://grid.hust.edu.cn/973/),863计划以及国家自然科学基金也支持了不少这方面的研究课题。

当前系统虚拟化技术的主要研究方向有以下四个方面:

1. 分析虚拟环境下应用程序的特征,提供面向应用的、高效的资源虚拟化方法。

2. 从虚拟机资源管理着手,根据应用程序的特征,解决云计算服务的虚拟机动态部署与调度过程中多层面的动态资源管理问题,保证云计算服务质量,提高资源利用率。

在单机环境下虚拟机资源可以采取静态分配和动态分配两种调度方式。静态分配方式基本能满足虚拟机的需求,但仍会造成资源的浪费。另外,纯静态的预测并不能反映虚拟机运行状态的动态变化,在虚拟机运行的不同时刻,其计算特征仍然会有所变化。动态分配方式通过在虚拟机管理器中增加对虚拟机运行时刻的计算特征的动态变化的监测,采取相应的机制调整虚拟机间的资源分配。

在多机环境下,应该基于多机资源协调预测,合理实施虚拟机迁移。我们可以针对云计算中虚拟机的资源需求及整个环境的节能需求,设计实现一套合理诱发虚拟机迁移的机制。一方面,当一个物理机上的资源不能满足它上面虚拟机的需求时,可以通过迁移平衡负载,即消除热点物理机、满足更大的资源需求;另一方面,很多时候资源非常空闲,我们可以通过迁移减少活动的物理机,将虚拟机融合,从而达到节能的目的。但是值得注意的是:虚拟机迁移开销较大,迁移需谨慎。只有在预期虚拟机计算特征明显且将较持久地改变为另一种状态时,进行迁移才是最优的选择。

3. 可信的虚拟计算环境及其管理。当终端用户将虚拟机从私有云转移到公有云时,虚拟机管理器是否安全、是否值得信赖也是我们目前非常关注的一个问题,如图2所示。

4. 虚拟化的标准。目前虚拟化的标准主要由国际标准化组织DMTF(Distributed Management Task Force,http://www.dmtf.org)的SVPC工作组(System Virtualization,Partitioning, and Clustering)组织研究与制订,其中面向云计算的基本标注包括SVP(Server Virtualization and Partitioning)、OVF(Open Virtualization Format)等。其中OVF是基于虚拟化的云计算互操作的基础,它使得同一个虚拟机能够运行在不同厂商的虚拟机管理器上成为可能,如图3所示。

图2 可信的虚拟计算环境

虚拟化与云计算

虚拟机的快速部署能力、便捷的系统管理方式以及较高的资源利用率,的确为我们带来很多好处,同时也带来了许多挑战。虚拟化的性能、虚拟化环境的可信逐渐成为虚拟化技术的重要问题,管理控制虚拟机的成本和复杂性也将爆炸式增长。

关于虚拟化与云计算的关系,有一些不同的看法。从将基础设施作为服务的IaaS来讲,虚拟化就是云计算的基石。当然,也有些人认为虚拟化和云计算并无必然联系,如Google的云计算服务。

图3 开放虚拟化格式

校园网虚拟化应用

图4 传统的网络教室

网络教室

传统的网络教室基于操作系统的多用户支持来提供服务,用户通过远程登录使用服务器,如图4所示。这种模式的缺点在于:首先是隔离性差。单个使用者的错误行为导致了宕机或者被感染病毒,整个系统都将崩溃;其次是权限低。使用者的权限必须被设定为较低以保证整个系统的安全性。在此限制下使用者不能执行特权操作,比如随意安装软件和对系统进行设定等;资源分配不公平也是它的一个缺点。如果一位使用者执行了耗费计算的操作,其他使用者将被牵连,甚至整个系统将会变得极慢。

虚拟网络教室通过虚拟机的方式提供服务,每个用户使用一个自己的虚拟机,如图5所示。这种模式的技术难点在于:如何实现大量虚拟机的快速启动、以及如何保证用户的交互体验。虚拟网络教室相对于传统网络教室而言,有如下优点:首先是隔离性强,多台虚拟机彼此完全隔离,就像是多台独立的物理主机;其次是使用权限最高。每个使用者是以管理员的身份登录虚拟机,他可以最高权限的方式执行所有指令,这使得用户体验达到最佳;最后是资源分配公平。虚拟化平台的管理员可以设定合适的规则,在创建时设定或者运行时调整,使得每个虚拟机都能公平得到资源。

多课程实验环境支持

不同课程要求的实验环境不同,如课程A需要Windows+DirectX+MPI环境,而课程B却需要Redhat Linux+MySQL+Apache环境。我们可以采用虚拟化技术来支持多课程实验环境。准备好不同配置环境的虚拟机,如上例子,我们可以事先准备好Windows+DirectX+MPI环境的虚拟机和Redhat Linux+MySQL+Apache环境的虚拟机,放在虚拟机库中。当进行某门课程时,我们只需从虚拟机库中将该课程相应的虚拟机部署到不同的机器上并加以启动即可,如图6所示。虚拟化方法相对于传统方法而言,更加灵活方便,也更容易管理。

个性化上机环境

传统的公共上机环境有许多缺陷和不足。在传统的公共上机环境中,每台计算机都安装有固定的操作系统和软件,学生不能自由添加删除程序,学生的私人数据文件只能保存在计算机的公共磁盘或网络磁盘上,没有独立性和安全性,容易被他人修改或误删。为此,我们基于虚拟化技术提出了个性化上机环境的概念。个性化上机环境即让学生拥有自己的虚拟机,用户在公共机房的任何一台计算机上都能启动一个完全属于自己的、独立的、安全的个性化操作系统。公共虚拟机镜像存储在硬盘中,学生的个性化环境存储在U盘里。当学生需要从物理机1上转移到物理机2中进行工作时,他只需关闭操作系统,从物理机1中拔出U盘,插入物理机2,重新启动所需操作系统,继续工作即可,如图7所示。

上述三种基于虚拟化技术的上机实验环境模式,为未来校园中提供了一种全新的机房管理模式。在这种模式下,管理员只需管理虚拟机镜像,教师需要按课程设计实验环境,不再受机房管理的约束,而学生则可以获得多样的实验环境。

校园服务、图书馆中的服务器融合

在校园里有大量的服务器来支持各种校园服务,比如各院系服务器、E-mail服务器、FTP服务器、图书馆中各种文献期刊数据库的镜像服务器等。这些服务器利用率低、能耗大、管理成本高。为此,可以基于虚拟化技术进行服务器融合:多个服务的虚拟机运行于同一个物理机上,相互隔离,保证服务的可靠性,节约投资,管理方便,如图8所示。

关键服务的容错管理

设备维修和设备失效是校园环境中很容易出现的两种情况。出现这两种情况后,可以通过虚拟化技术进行容错管理。当设备需要维修时,可以通过虚拟机在线迁移将该设备上的虚拟机迁移到其它设备上,而不需要将工作暂停,如图9所示。当设备失效时,还可以通过虚拟机进行热备份,避免数据的丢失,如图10所示。

动态虚拟集群

在传统的集群架构和应用程序需求之间存在一些矛盾:共享的集群环境如何满足用户的不同环境需求?多任务的共享集群环境如何调度?异构集群如何共同处理任务?为此,我们提出了基于虚拟机的动态集群——让N台虚拟机“浮动”运行在M台物理机上,N和M动态可变,虚拟机构成了一个个的集群节点,利用虚拟机的Suspend/Resume、ballooning等技术减小同一物理节点上分属不同虚拟集群的虚拟机之间的转移代价,如图11所示。

图5 虚拟网络教室

图6 多课程实验环境支持

图7 个性化上机环境

北大网络所在虚拟化和云计算方面的工作

北大网络所(http://ncis.pku.edu.cn)

它在虚拟化和云计算方面进行了如下工作:

分布式环境下的虚拟资源环境管理系统973VMM。依托国家973计划项目“计算系统虚拟化基础理论与方法研究(http://grid.hust.edu.cn/973/)”,在开源Xen的基础上,设计实现了一个拥有自己核心技术的自适应的虚拟机管理器——973VMM,可以用于管理异构硬件,支撑异构操作系统,如图12所示。该项目是虚拟机领域国家惟一支持的973计划项目,除北京大学外,项目团队还包括华中科技大学、清华大学、国防科技大学、上海交通大学、浙江大学、江南计算所、航天二院等,在虚拟化方法、基于虚拟机的快速部署、虚拟集群调度、基于虚拟机迁移的容灾等领域取得了大量成果。

天网TFS/MapReduce/BigHive

为了支持中国网络信息博物馆(http://www.infomall.cn/)中的近40TB网页数据的管理和高效再访问,开展数据存储与组织技术方面的研究,我们采用C++实现了以GFS、MapReduce和BigTable为代表的Google云计算平台。这是目前已知的中国惟一一个完全自主的G F S/MapReduce/BigTable实现,如图13所示。

混合云存AmazingStore

P2P存储系统能够自动的聚合网络上的空闲存储和带宽资源,是存储系统的一个重要分支。随着边缘资源的迅速增长和传统存储系统面临的问题增多,P2P存储系统的研究在当前更有实际意义。

图8 校园服务器融合

图9 虚拟机在线迁移

图10 虚拟机热备份

图11 基于虚拟机的动态集群

图12 973VMM

图13 天网TFS/MapReduce/BigHive

图14 混合云存储AmazingStore

然而,由于P2P网络中节点的高动态性,如何进行高效的维护成为构建P2P存储系统的一个核心难题。我们在数据维护方面做了深入研究,给出了完整的解决方案,包括:提出更细粒度的可用性模型及基于节点在线模式的数据分发方案;提出一种基于时间阈值的数据修复方案Neutralizer;提出一种自动配置的错误预防方案AutoProc。并将上述方案实例化成一个实际运行的P2P存储系统AmazingStore。对系统实际运行数据的测量表明,系统能够提供高可用和可靠的数据存储服务,并且充分利用了网络的边缘带宽,具有极高的吞吐率。同时,AmazingStore系统可以方便的和数据中心融合,提高数据中心的可用性和降低数据中心的开销,如图14所示。

云数据库

动态数据迁移与负载均衡。云数据库是一种查询密集型大规模分布式数据库系统,其响应速度强烈依赖于数据分布与查询负载的均衡性,如何针对查询访问模式建立数据动态迁移策略,是提高系统整体查询响应速度的关键,这也是当前Cloud Database数据分片需要解决的核心问题。针对这一问题,我们与知名数据库厂商合作设计和实现了两类数据动态迁移与负载均衡的机制。

(北京大学信息科学技术学院)

猜你喜欢
虚拟化集群服务器
通信控制服务器(CCS)维护终端的设计与实现
海上小型无人机集群的反制装备需求与应对之策研究
PowerTCP Server Tool
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
浅析虚拟化技术的安全保障
H3C CAS 云计算管理平台上虚拟化安全防护的实现
勤快又呆萌的集群机器人