基于虚拟机的虚拟计算环境系统的制作方法

文档序号:6471162阅读:504来源:国知局
专利名称:基于虚拟机的虚拟计算环境系统的制作方法
技术领域
本发明涉及计算机科学中的虚拟机和操作系统领域,特别是涉及一种基于虚拟机构建的 虚拟计算环境系统。
背景技术
计算机和网络已经成为当今日常生活中的重要工具。无论在工作场所还是在家里,个人 计算机都扮演着个人重要助手的角色。此外,在工作场所,往往有大型计算机和大规模存储 设备为用户提供复杂的大规模计算和存储服务。这些计算设备通常连接在工作场所的私有局 域网中提供上述服务,工作场所中的用户通过连接到这个局域网中的个人计算机访问这些计 算设备。因此,有了熟悉的个人计算机和网络计算资源,用户可以方便地完成他们的工作。 但是,实际中用户往往需要离开他们的工作场所,在一个新的环境中继续他们的工作,如在 家里或出差到新的工作场所等。这种情况下,工作场所中用户熟悉的个人计算机和网络计算 资源都不可用。即使用户可以随身带着便携式电脑,但其他网络中强大的计算资源却是无法 获得的。因此,本发明提出了一种虚拟环境系统,其目标是在任何连接到网络的计算机上给 用户提供一个统一的计算环境,包括定制的软件、用户数据以及网络资源等,使用户在任何 地方的机器上工作就像在他们所熟悉的工作场所和个人计算机上一样,突破地域和移动的限 制。
当前,已经有许多这方面的研究工作,虽然解决方法多种多样,但总的来说,可以分为 三大类进程级、操作系统级和瘦客户端模式。
进程级的解决方案中,所有用户的进程和文件系统在不同的主机之间迁移。相关的工作
有美国哥伦比亚大学(ColumbiaUniversity)的Zap项目。Zap在操作系统上提供了一个称为 pods的虚拟化层,这其实是一个提供统一系统视图的进程组。Zap采用一种称之为 "checkpoint-restart"的机制将pods作为一个整体迁移到一台新的主机上。这种方法的优势在 于系统开销较小、传输数据量较小。然而,在实现上依赖于底层的操作系统,并且较复杂。
其他一些方法,如美国斯坦福大学(Stanford University)的Collective项目和美国卡内基 -梅隆大学(Carnegie Mellon University)的ISR项目,它们是基于虚拟机的操作系统级解决方 案。它们将进程与整个操作系统实例作为一个整体在不同的计算机上部署来实现移动性。相应地,与进程级的解决方案相比,这种方法要传输的数据量将会比较大。
瘦客户端模式中,如VNC、 Windows远程桌面等,所有的应用和操作系统在服务器上运 行。 一个瘦客户端只包括输入输出设备、用于图形显示的计算器和主存、使用某种协议与服 务器间通信的网络设备等,用户操作系统的运行状态与客户端没有关系。以上这些方法中, 服务器上只能运行一个用户操作系统实例。美国Citrix公司的Xendesktop通过虚拟机在服务 器上运行多个用户操作系统实例,从而使多个用户分别通过瘦客户端访问运行在同一台服务 器上的各自操作系统实例。这种解决方案必须依赖于一直保持连接的网络连接和网络的性能。
以上各种实现方法各有特色,各有优劣。本发明给出了一种尽量减少网络数据传输量, 并且为用户提供一致计算环境的基于虛拟机的虚拟环境构建方法。

发明内容
本发明主要基于虚拟机技术。采用的虚拟机是位于计算机硬件和客户操作系统软件之间 的一个软件层,它能在实际的物理硬件上提供一个完全的虚拟化硬件抽象。这意味着运行在 这个虚拟化平台上的客户操作系统不知道实际的物理硬件,从而从对底层真正物理硬件的依 赖中分离出来。因此,只要在一台计算机上存在由虚拟机提供的统一虚拟抽象平台,就可以 不需要做任何修改,在它上面部署包括操作系统在内的用户计算环境。此外,虚拟机通常将 磁盘数据(软件栈和文件系统)存储在一个映像文件或专用分区里,这样使传输一个虚拟机 的磁盘数据变得更加方便。因此,在一个虚拟机支持的实际硬件平台上,虚拟机可以作为部 署用户计算环境的统一虚拟硬件环境。
本发明以在不同计算机上为用户提供相同的虚拟计算环境为目标,以虚拟机为基础,给 出一种基于虛拟机的虚拟环境系统。具体是
1. 提供一个0S浏览器,用它引导启动新工作场所中用户要使用的计算机(目标主机),
再通过这个OS浏览器通过网络获取用户的计算环境数据(以操作系统为核心的数据映像文 件),从而将用户熟悉的计算环境呈现给用户。OS浏览器是运行在目标主机上的软件栈(包
括操作系统及其他必要应用软件),该目标主机和用户熟悉工作场所的局域网连接在同一个网
络上。OS浏览器的核心是虚拟机,它为个人虚拟计算环境的运行提供了一个通用的虚拟平台,
根据用户的输入命令从用户工作场所的系统支持服务器上获取数据并启动用户个人计算环
境。可将os浏览器存储在便携的存储设备中,如移动硬盘或光盘,用这个便携存储设备去启
动目标主机。
2. 在用户工作场所提供一个支持服务器,该服务器为每个用户提供一份各自计算环境的 系统映像文件,通过分布式文件系统(如NFS)发布到网络上,用户通过OS浏览器从服务器获取他的计算数据映像文件,作为OS浏览器中虚拟机的磁盘。此外,支持服务器还提供网络数 据转发功能,让用户用0S浏览器中的虚拟计算环境访问工作场所中的私有网络资源。
3.在OS浏览器中提供虚拟网络功能,使用户计算环境在任何目标主机上部署以后都有相 同的网络环境,即计算环境的网络配置在不同的目标主机上不必改变。同时,计算环境通过 0S浏览器提供的IP隧道功能,透明地访问用户熟悉工作场所私有网络中的网络资源。
与现有技术相比较,本发明的创新之处在于以Xen虚拟机为核心设计了一个OS浏览器, 通过网络传输数据,在任意目标主机上为用户提供虚拟计算环境。同时,用虚拟网络机制为 用户的计算环境在任何主机上提供统一的网络环境,使用户的计算环境在新的目标主机上不
需要更改主机号,并且所有私有网络资源可以被访问。


图1个人化移动虚拟计算环境体系结构 图2 0S浏览器设计 图3虚拟网络
图4个人化移动虚拟计算环境的应用场景
具体实施例方式
首先,对本发明做一个总的介绍,包括各个功能模块、各模块之间的交互方式以及个人 虚拟计算环境的工作机制。其次,分别对各个主要部分分别做详细说明。最后,通过一个具 体的应用场景来说明本发明在实际中的应用。
图l展示了本发明的总体视图,系统总共有四个组成部分目标主机、系统支持服务器、 私有网络资源和IP网络。系统支持服务器和私有网络资源构成了用户工作场所私有局域网。 目标主机可以是任何一台连接到IP网络上的计算机。目标主机和用户工作场所的私有局域网 通过IP网络连接。本发明主要集中在目标主机和系统支持服务器上。
系统映像是一个计算环境的存储映像,形式上是一组文件的数据集合,其内容是一个用 户操作系统的文件系统,包括操作系统和应用软件的文件以及用户个人文件。为了方便传输 和管理,所有的系统映像分别被存储在磁盘上的大文件映像中,这就是所谓的系统映像文件。系统映像文件是用户计算环境运行必不可少的组成部分。图1中,假定每个用户工作场所私 有局域网中有一个系统支持服务器。其中的分布式文件系统服务器为每个用户维护一个系统 映像文件(即计算环境的静态实例),并且提供这样的服务,使用户通过网络获取或者更新他 们各自的系统映像文件。
请参阅图1, OS浏览器是目标主机上的关键组成部分。OS浏览器是可以自动引导计算机 启动的软件栈(包括操作系统及其他必要应用软件),用OS浏览器引导启动目标主机,该目 标主机和用户熟悉工作场所的局域网连接在同一个网络上。OS浏览器的核心是虚拟机,它为 个人虚拟计算环境的运行提供了一个通用的虚拟平台。可将OS浏览器存储在便携式存储设备 中,如移动硬盘或光盘,用这个便携存储设备去启动目标主机,为个人虚拟计算环境的运行 提供虚拟平台。因此,这时候运行在目标主机上的软件栈已经不是原来部署在这台计算机上 的软件,而是引导目标主机启动便携式设备中存储的软件栈。OS浏览器类似Web浏览器,跟 图1中位于系统支持服务器上的分布式文件系统交互,获取或更新服务器上的映像文件中的 数据,并最终呈现给用户他自己熟悉的运行中的计算环境。OS浏览器提供一个用户接口,用 户可以利用这个接口使用0S浏览器从服务器选择他自己的系统映像,并在OS浏览器中启动 一个新的客户操作系统作为他将要操作的虚拟计算环境。
除了个人定制的软件和专业软件、用户个人文件等外,工作场所私有局域网中的网络资 源也是用户个人计算环境的主要部分。本质上来讲,这些资源是拥有强大计算能力或海量存 储空间的大型计算机,它们在本地私有网络上为授权的用户提供计算服务,如用来执行计算 密度较大仿真的集群、提供海量数据存储服务的数据中心等。尤其在科研机构,尤其会用到 这些计算资源。由于各种原因,私有网络资源对外部网络或许是透明的、不可访问的。为了 达到在任何地方像熟悉的工作空间一样工作的目的,需要给系统增加从外部透明地访问工作 场所私有网络资源的能力。本发明釆用了 IP隧道技术,使0S浏览器和系统支持服务器之间 在IP隧道协议下协作。因此,系统支持服务器中的IP隧道模块扮演一个路由器的功能,使 本地私有网络资源对来自外部网络的合法用户可用。因此,在用户个人虚拟计算环境中,用 户可以和他们熟悉的工作场所中的私有网络资源通过IP隧道进行通信,就像在熟悉的工作场 所中使用这些网络资源 一样。
个人虚拟计算环境工作机制如下个人虚拟计算环境系统假定在每个用户私有的工作场
所局域网中有一个系统支持服务器,这个服务器可以被外部网络访问。通过存有os浏览器软 件栈的便携式存储设备引导启动目标主机,os浏览器就可以部署在目标主机上。在os浏览 器的控制下,用户通过网络从系统支持服务器的分布式文件系统服务器上获取他的计算环境 所对应的系统映像,并建立一个系统映像的运行实例。这个运行实例就是称之为个人虚拟计环境的东西。运行实例其实是一个运行在虚拟机上的客户操作系统,这个操作系统由服务器 上的相应系统映像引导启动。因此,任何时候任何地点——只要一个用户能够获得一台连接 到网络上的计算机,用存有OS浏览器的便携式存储设备引导启动这台计算机,用户在运行中 的0S浏览器中从服务器上选择他自己的系统映像——将会给该用户呈现一个与他在熟悉工 作场所一样的计算环境。通过这种机制,就会实现一个统一、 一致、支持用户移动的个人计 算环境。
请参阅图2,在计算机硬件上运行的软件栈是由一个Xen虚拟机监视器和运行在它上面的 两个客户操作系统(域0和域U)组成。Xen虚拟机监视器层为每个客户操作系统提供一个虚 拟的抽象硬件环境。Xen之所以被用来作为虚拟机平台,是因为Xen的额外开销较低,能接 近非虚拟化的性能。虚拟机监视器层和域0共同为个人虚拟计算环境构建了一个虚拟平台。 网络设计将留在后面虚拟网络部分说明。
Xen虚拟环境要求在其他虚拟机创建之前, 一个域0必须要运行。域0是运行在Xen虚拟 机监视器上的唯一特殊虚拟机,它拥有访问实际物理I/O设备和其它同时运行在同一台物理 机器上虚拟机(域U)的特权。在图2中,域U是一个运行在由Xen虚拟机监视器提供的虚 拟硬件抽象上的客户操作系统。在本发明中,仅仅有一个域U,这个域通过用户的系统映像 启动,这个域也正是用户的个人虚拟计算环境。图2中域0中的用户接口模块为用户提供了 一个接口来启动、关闭、阻塞域U,通过这个用户接口还可以与域U进行交互,如显示域U 的输出、从用户获得输入等。在实际操作中,用户可以输入系统支持服务器的IP地址,并选 择他自己的系统映像来创建一个客户操作系统。将包括虚拟机监视器在内的软件栈作成一个 可引导的LiveCD来启动一台计算机,可以提供一个更简单的方法在目标主机上部署OS浏览器。
如图2所示,域U的磁盘由NFS客户端提供。NFS客户端从域U获得磁盘I/0请求后,将 请求发送到位于系统支持服务器上的NFS服务器端。NFS服务器端跟据请求将数据发送给NFS 客户端,NFS客户端再将数据发送给域U。 NFS是一种网络上的分布式文件系统,域U通过NFS 客户端访问网络上的文件,这些网络存储设备对域U就像是连接在本地的磁盘一样。因此, 网络分布式文件系统对域U说是透明的,域U不知道操作的是本地文件还是远程的文件,由 网络分布式文件系统来负责定位文件并进行传输。
OS浏览器中上述各个部分的操作流程由控制器模块负责。如图2所示,主机操作系统中 有两个虚拟网卡, 一个连接到域U, 一个连接到域0,它们最后通过NAT方式和IP隧道连接到外部网络。本发明的虚拟网络正是通过这两项技术实现的。
请参阅图3,虚拟网络为虚拟计算环境在任何场所提供一个一致的网络环境,即在任何场 所,用户的个人计算环境所看到的网络配置和网络资源是一致的。对于虚拟计算环境,它的 网络号是用户熟悉工作场所网络的网络号,并且这个工作场所中的其他网络资源和它位于同 一个网络中。在陌生工作场所的目标主机上,用户虚拟计算环境的网络号依然是用户熟悉工 作场所中的网络号。此时,它能看到的同一网络中的网络资源实际上对应于熟悉工作场所中 的网络磁盘。虚拟网络的实现包括两部分(a)在0S浏览器内部构建一个自治域和(b)使 工作场所网络中的私有计算资源对OS浏览器中的个人计算环境可访问。
对于(a),在0S浏览器内部,设置了一个网络,它本身是一个自治域。这样0S浏览器 中创建的运行中的个人虚拟机计算环境实例加入到这个网络中的时候,就可以不必知道OS浏 览器外部的网络设置。只要OS浏览器的网络设置配置正确,域U就能通过OS浏览器访问外 部网络。本发明使用Xen提供的虛拟网络功能在OS浏览器内部建立了一个包括域0和域U的 局域网。如图2所示,域U通过虚拟网卡vifl.O连接到网络,域0通过vif0.0连接网络。 这个局域网通过NAT方式连接到外部网络。这里的域O充当路由器的功能,将接收到的包发 送给合适的目的网络。因此,在任何新的位置都没有必要修改域U的网络配置。在一个新的 网络环境中,只要域O中的物理网络设备配置合适,域U就能通过同样的网络配置访问外部 网络。
对于(b),有许多的IP隧道协议可以用来建立IP隧道。图l中,OS浏览器和服务器中 的IP隧道逻辑上相连,表示域O和服务器之间建立了一个隧道路径。通过这条隧道路径,使 位于工作场所中的私有网络资源可以被0S浏览器访问。通过这种机制,域U可以访问OS浏
览器来访问用户工作场所中的私有网络资源。 最后,给出一个个人虚拟环境的应用场景进一步说明个人虚拟环境的工作过程和实际应用。
请参阅如图4,用户在他熟悉的工作场所使用他自己的个人计算机,该计算机呈现给用户 的是包括文件系统、软件资源、系统管理工具和桌面环境等在内的个人计算环境①。用户计 算机连接到本地工作场所私有局域网中,用户在他的个人计算环境中通过本地网络使用本地 存储资源②和本地计算资源③。此外,用户此时也可以访问本地局域网以外的网络计算资源 和网络存储资源。由于实际工作的需要,用户需要到一个新的工作场所④。在这个新的工作场所中为用户 提供了一台跟用户熟悉工作场所局域网通过IP网络连接起来的计算机。用户使用部署有OS 浏览器的Live CD启动目标主机,通过OS浏览器从位于工作场所私有局域网中的系统支持 服务器上获得用户个人计算环境数据,创建一个运行中的用户个人计算环境(D。这个计算环 境和用户在他工作场所计算机上获得的是一样的。有了虚拟网络的支持,在这个目标主机上 提供的个人计算环境可以访问虚拟网络中的本地存储资源⑥和本地计算资源⑦。虚拟网络中 的本地存储资源和本地计算资源实际上是位于用户熟悉工作场所中的本地存储资源和本地计 算资源。当然,新目标主机上的计算环境当然也可以访问IP网络中的其他网络计算资源和网 络存储资源。
权利要求
1、一种基于虚拟机构建的虚拟计算环境系统,该系统将用户熟悉工作场所计算机上的计算环境部署到新的工作场所中的目标主机上,其特征在于,该系统包括目标主机、系统支持服务器和私有网络资源,系统支持服务器和私有网络资源构成用户熟悉工作场所私有局域网,目标主机和用户熟悉工作场所私有局域网通过外部网络连接,其中目标主机上具有OS浏览器,OS浏览器是可以自动引导计算机启动的软件栈,这个软件栈存储在便携式存储设备上,OS浏览器的核心是虚拟机,OS浏览器为个人虚拟计算环境的运行提供了一个通用的虚拟平台,用存有OS浏览器软件栈的便携式存储设备引导启动目标主机后,运行在目标主机上的软件栈已经不是原来部署在这台计算机上的软件栈,而是OS浏览器中的软件栈;在OS浏览器中创建一个局域网络,该局域网络作为一个自治系统,该自治系统在目标主机与用户熟悉工作场所的用户主机拥有相同的网络设置,这个自治系统通过NAT(Network Address Translation)与外部网络连接,通过外部网络,OS浏览器与位于用户熟悉工作场所私有局域网中的系统支持服务器上的分布式文件系统交互,获取或更新系统支持服务器上的系统映像文件中的数据,并最终呈现给用户自己熟悉的运行中的计算环境;OS浏览器提供了一个用户接口,用户利用这个接口从系统支持服务器选择用户自己的系统映像,并在OS浏览器中启动一个新的客户操作系统作为用户将要操作的虚拟计算环境;系统支持服务器设置在用户熟悉工作场所的私有局域网中,提供一个可以被外部网络访问的接口,并且在系统支持服务器上设置分布式文件系统和IP隧道模块,通过分布式文件系统将用户的系统映像导出到外部网络上,使用户能够通过OS浏览器获取系统映像文件中的数据,通过IP隧道模块使OS浏览器访问用户熟悉工作场所私有局域网中的私有网络资源,其中系统映像是一个计算环境的存储映像,形式上是一组文件的数据集合,其内容是一个用户操作系统的文件系统,包括操作系统和应用软件的文件以及用户个人文件。
2、 如权利要求l所述的系统,其特征在于所述便携式存储设备是移动硬盘或光盘。
3、 如权利要求l所述的系统,其特征在于所述虚拟机是Xen虚拟机。
4、 如权利要求2和3所述的系统,其特征在于OS浏览器在Xen虚拟机的域0中通过NFS (Network File System)客户端和位于用户熟悉工作场所私有局域网中的系统支持服务器上的NFS服务器端交互,为Xen虚拟机中的域U提供一个基于NFS的磁盘,域U的实际数据位 于系统支持服务器上的系统映像文件中。
5、 如权利要求3和4所述的系统,其特征在于OS浏览器中NAT转换后的网络与用户熟悉 工作场所私有局域网中的系统支持服务器通过IP隧道连接,使用户熟悉工作场所私有局域网 络中的私有网络资源可以被域U访问。
6、如权利要求l所述的系统,其特征在于,所述外部网络为IP网络。
全文摘要
本发明提出了一种基于虚拟机构建的虚拟计算环境系统,用来在一台连接到网络的计算机上为用户提供一个一致、统一的计算环境。使用户在任何地方的计算机上都能获得一个跟熟悉工作场所个人计算机上一致的计算环境。本发明基于虚拟机技术,设计了一个称之为OS浏览器的工具作为用户计算环境运行的统一虚拟平台。用户通过这个平台从网络指定系统映像,并创建相应的客户操作系统作为用户计算环境的操作系统。此外,虚拟网络设施能够使用户在这个计算环境中访问用户熟悉工作场所网络中网络资源。
文档编号G06F9/455GK101430649SQ200810226650
公开日2009年5月13日 申请日期2008年11月19日 优先权日2008年11月19日
发明者巨燕文, 白跃彬 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1