一种在云计算系统创建虚拟机的方法及云计算系统的制作方法

文档序号:7682557阅读:168来源:国知局
专利名称:一种在云计算系统创建虚拟机的方法及云计算系统的制作方法
技术领域
本发明涉及云计算相关技术领域,特别是一种在云计算系统创建虚拟机的方法及云计算系统。
背景技术
云计算是一种网络应用模式,将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。云计算提供的服务包括三个方面=IaaS (基础架构即服务)、I^aaS (平台即服务)、MaS (软件即服务)。虚拟机技术是一种有效管理和充分共享物理资源的重要手段,能够在计算机系统的软、硬件之间引入抽象层,为上层应用提供独立运行环境,且实现硬件资源的共享复用。虚拟机技术作为云计算应用的关键技术,特别是云计算提供的平台即服务和基础架构即服务,必须有虚拟机作基础。
现有创建一个虚拟机镜像的过程如下根据用户需求,创建一个虚拟机镜像,该镜封装了操作系统,应用程序,用户数据盘等软硬件配置,然后将该虚拟机镜像拷贝到目标物理机上运行。
但用户创建虚拟机采用的方法是直接对虚拟机镜像的进行复制,虚拟机镜像文件占用存储空间较大,因此将虚拟机镜像文件传送到目标主机上花费的时间开销和带宽资源较大。此外用户数据盘是整合在虚拟机镜像中,当虚拟机系统崩溃时,无法保证用户数据的安全性。

发明内容
本发明的第一个发明目的在于提供一种在云计算系统创建虚拟机的方法,以解决现有技术中云计算平台在创建虚拟机时间开销和带宽资源较大,并且无法保障虚拟机中用户信息的安全性。
为了实现本发明的第一个发明目的,采用的技术方案如下
一种在云计算系统创建虚拟机的方法,所述云计算系统包括云控制服务器、至少一个节点控制服务器和至少一个存储服务器,所述存储服务器存储虚拟机基准镜像文件、用户扩展镜像文件和用户磁盘镜像文件,用户扩展镜像文件和用户磁盘镜像文件均是与用户信息相关联,每一个用户都保存有唯一的一个用户扩展镜像文件和用户磁盘镜像文件。
所述方法包括
云控制器接收用户请求,并向节点控制服务器转发用户请求,所述用户请求包括虚拟机基准镜像,CPU、内存大小以及用户磁盘镜像文件;
节点控制服务器接收云控制器转发的用户请求,并根据用户请求创建虚拟机,采用如下步骤
(1)根据用户请求获取虚拟机基准镜像文件并保存在节点控制服务器上作为虚拟机基准镜像副本;
(2)如果存储服务器中没有用户扩展镜像文件,则节点控制服务器根据第一虚拟机基
4准镜像副本,在本机上创建用户扩展镜像文件,如果存储服务器中没有用户扩展镜像文件, 则节点控制服务器从服务器中获取用户扩展镜像文件;
(3)节点控制服务器结合虚拟机基准镜像副本和用户扩展镜像生成虚拟机系统文件, 使用虚拟机系统文件、用户磁盘镜像文件和配置信息(cpu、内存、网络等配置)创建虚拟机。
作为一种优选方案,所述步骤(1)具体包括
节点控制服务器判断如果用户请求获取的虚拟机基准镜像文件已经保存在节点控制服务器,且保存在节点控制服务器的虚拟机镜像副本与保存在存储服务器的虚拟机镜像文件一致,则直接执行步骤(2);
否则,节点控制服务器从存储服务器下载虚拟机镜像文件,并保存在节点控制服务器上作为虚拟机镜像副本,然后执行步骤(2)。
作为进一步的优选方案,节点控制服务器从存储服务器下载虚拟机镜像时,首先判断节点控制服务器用于存储虚拟机镜像副本的存储空间是否已满,若否,直接将虚拟机基准镜像拷贝到节点控制服务器中作为虚拟机镜像副本;若是,则删除节点控制服务器上最近最少使用的虚拟机镜像副本,然后从存储服务器下载虚拟机基准镜像文件存储到节点控制服务器作为虚拟机镜像副本。
作为一种优选方案,在虚拟机运行结束后,将虚拟机系统文件与虚拟机基准镜像副本之间的数据差异作为用户扩展镜像,且该用户扩展镜像是保存在存储服务器上。
作为一种优选方案,云控制器根据接收到的用户请求以及预设的选择策略,指定待创建虚拟机的节点控制服务器。
作为进一步的优选方案,所述预设的选择策略为当前所有节点控制服务器资源利用率最低优先策略,即根据用户请求信息中指定的所需CPU和内存大小,选择当前资源利用率最低且资源满足用户所需CPU和内存大小的节点服务器为待创建虚拟机的节点控制服务器。
作为一种优选方案,所述方法还包括
当虚拟机从第一节点控制服务器迁移到第二节点控制服务器时,如果第二节点控制服务器上存在与第一节点控制服务器相同的虚拟机镜像副本,则仅需关闭需迁移的虚拟机, 然后用第二节点控制服务器上的虚拟机镜像副本和存储服务器上的用户扩展镜像生成虚拟机系统文件,结合用户磁盘镜像文件和配置信息在第二节点控制服务器上启动该虚拟机,否则从第一节点控制服务器复制虚拟机镜像副本到第二节点控制服务器。
本发明的第二个发明目的,在于提供一种云计算系统,以实现本发明第一个发明目的所提供的在云计算系统创建虚拟机的方法。
为了实现本发明的第二个发明目的,采用的技术方案如下
一种云计算系统,所述云计算系统包括云控制服务器、至少一节点控制服务器和至少一个存储服务器,所述存储服务器存储虚拟机基准镜像文件、用户扩展镜像文件和用户磁盘镜像文件;
所述云控制器上设有用于接收包括所需CPU和内存大小的用户请求,并向节点控制服务器转发用户请求的用户请求模块;
所述节点控制服务器上设有虚拟机创建模块
所述虚拟机创建模块接收云控制器转发的用户请求,并根据用户请求创建虚拟机,包括如下子模块
虚拟机基准镜像副本获取子模块,用于获取虚拟机基准镜像文件并保存在节点控制服务器上作为虚拟机基准镜像副本;
用户文件获取子模块,用于从存储服务器获取用户扩展镜像文件,节点控制服务器从存储服务器获取用户磁盘镜像文件;
虚拟机生成子模块,用于结合虚拟机基准镜像副本和用户扩展镜像生成虚拟机系统文件,使用虚拟机系统文件、用户磁盘镜像文件和配置信息创建虚拟机。
作为一种优选方案,虚拟机基准镜像副本获取子模块判断如果用户请求获取的虚拟机基准镜像文件没有保存在节点控制服务器,或者保存在节点控制服务器的虚拟机镜像副本与保存在存储服务器的虚拟机镜像文件不一致,则从存储服务器下载虚拟机镜像,并保存在节点控制服务器上作为虚拟机镜像副本。
作为一种优选方案,所述节点服务器上还设有扩展镜像维护模块,用于在虚拟机运行结束后,将虚拟机系统文件与虚拟机基准镜像副本之间的数据差异保存在用户扩展镜像,该扩展镜像保存在存储服务器上。
本发明减少创建虚拟机时间开销和带宽资源,降低虚拟机迁移过程传送网络带宽的使用,避免虚拟机系统崩溃导致的用户数据丢失问题。


图1为存储服务器和节点控制服务器目录结构; 图2为创建虚拟机流程图。
具体实施例方式下面结合附图和具体实施例对本发明做进一步详细的说明。
本实施例为云计算系统中创建虚拟机的方法,云计算系统包括 云计算平台部署结构包含以下部分
Web服务器,用于接收前端用户发送的创建虚拟机操作请求。
云控制服务器,用于接收web服务器转发的用户请求,根据预设的选择策略指定节点控制器,并向选定的节点控制服务器转发用户请求。
节点控制服务器,用于接收云控制发送的请求,并执行相应的虚拟机操作。
存储服务器,包含存储设备以及网络文件系统服务器,用于存储虚拟机镜像文件、 扩展镜像文件、用户磁盘镜像文件以及向节点控制服务器提供共享文件目录挂载点。
存储服务器文件目录结构和节点控制服务器文件目录结构如图1所示。存储服务器文件目录结构包含虚拟机基准镜像存储模块、扩展镜像存储模块和磁盘镜像存储模块, 这三个模块都是共享文件。节点控制服务器文件目录结构如图1所示,包括本地目录和共享目录,本地目录包括本地镜像存储模块,共享目录则是通过建立挂载点,将虚拟机基准镜像存储模块、扩展镜像存储模块和磁盘镜像存储模块挂载到共享目录下。
虚拟机创建方法,其流程图如图2所示
1 接收用户请求,用户请求指按照用户所选择的配置信息创建虚拟机。
配置信息包括虚拟机基准镜像,cpu、内存大小以及用户磁盘镜像文件;虚拟机基准镜像为创建虚拟机的父本,只封装了操作系统以及所需软件,没有个人数据盘,即虚拟机基准镜像只有系统盘C盘。用户磁盘镜像文件是用户的个人数据盘,用于存储用户在使用虚拟机时所需保存的数据信息,类似一般系统中的D盘。云控制平台在新建一个用户时会给该用户分配个人数据盘。虚拟机基准镜像、用户扩展镜像和用户磁盘镜像文件均保存在存储设备,通过NFS服务器将这三个文件所在目录设置为共享目录,使得节点控制服务器可以挂载访问。
2:根据接收到的用户请求以及预设的选择策略,指定待创建虚拟机的节点控制服务器。
预设的选择策略为当前所有节点控制服务器资源利用率最低优先策略,即根据用户请求信息中的CPU和内存大小,选择当前资源利用率最低的节点服务器为待创建虚拟机的宿主物理机(即节点控制服务器)。
3:根据预设的判定策略,将用户所选的虚拟机基准镜像传送到指定的节点控制服务器。
根据步骤1选择的虚拟机基准镜像,判断虚拟机基准镜像是否在待创建虚拟机的节点控制服务器上的本地镜像目录已有备份,若不存在,执行步骤3 (A),若存在,继续判断本地镜像与虚拟机基准镜像是否一致,若不一致,执行3 (B)0若一致,直接跳到步骤4。
3(A)判断节点控制服务器镜像存储空间是否已满,若否,直接将虚拟机基准镜像拷贝到节点控制服务器中镜像目录。若是,则采用最近最少使用的选择策略删除本地镜像目录最近最少使用的虚拟机镜像,然后将虚拟机基准镜像存储到本地镜像目录。
3 (B)用虚拟机基准镜像覆盖本地同名镜像。
本地镜像与虚拟机基准镜像一致性是指节点控制服务器的本地镜像是虚拟机基准镜像的最新版本,管理员由于用户需求对虚拟机基准镜像进行修改,会导致两种镜像不一致。可采用以下方法判断本地镜像与虚拟机基准镜像的一致性
在虚拟机基准镜像设置标志位,保存该基准镜像与每个节点控制服务器的本地备份镜像的最后修改时间差,只要对比当前两个镜像的最后修改时间差是否与之前保存的一致, 就可判断本地镜像是否为最新版本。
简单的说,步骤3是将用户选择的虚拟机基准镜像的最新版本拷贝到待创建虚拟机的节点控制服务器。
4 创建虚拟机在节点控制服务器的本地镜像基础上,建立一个新的用户扩展镜像,本地镜像称为该扩展镜像的“母镜像”。用户扩展镜像结合母镜像,用户请求的CPU、内存大小,用户磁盘镜像文件以及虚拟机的配置模板,就可以启动用户所请求的虚拟机。使用虚拟机的过程中,不会对“母镜像”进行任何更改,它只读“母镜像”。用户扩展镜像则保存由于操作产生的与“母镜像”的数据差异,因此扩展镜像占用存储空间很小。节点控制服务器提供虚拟机的配置模板,配置模板除了 CPU、内存大小、时钟、虚拟机启动方式等设置外,还将用户磁盘镜像文件挂载到虚拟机作为个人磁盘。
用户扩展镜像是在存储服务器上,用户在使用虚拟机时,是直接对存储服务器上的扩展镜像进行写操作。
本发明创建的虚拟机是由虚拟机基准镜像在节点控制服务器上的副本(即母镜像)、扩展镜像、用户磁盘镜像文件和配置文件所组成的。母镜像存储在节点控制器服务器, 而用户扩展镜像和用户磁盘镜像文件则是节点控制服务器通过建立挂载点共享存储设备上的数据。
由于采用母镜像加增量镜像的方式创建用户虚拟机,当一节点控制服务器用同一个虚拟机基准镜像来创建多个用户虚拟机时,节点控制器只需要保存虚拟机基准镜像的一个备份,分别为每个用户创建一个扩展镜像,结合基准镜像、用户磁盘镜像和配置文件来扩展镜像来创建多个用户虚拟机,而不是通过多个虚拟机基准镜像的复制来创建用户虚拟机,由于扩展镜像占用存储空间较小,这样可以减少创建虚拟机时间开销和带宽资源。
用户磁盘镜像文件通过挂载方式作为个人硬盘,可随时卸载。当用户操作失误导致虚拟机系统崩溃,并不影响用户保存在硬盘的数据,只需为重新用户创建一个虚拟机,通过配置文件将硬盘挂载到新虚拟机即可。这样可以有效解决由于系统崩溃而导致的用户数据丢失问题。此外,在迁移用户虚拟机过程,若迁移的目标节点控制服务器存在与用户虚拟机的基准镜像一致的母镜像,则只需将扩展镜像与迁移的目标节点控制服务器作为系统文件,然后挂载用户磁盘即可,这样减少虚拟机迁移过程中传送网络带宽的使用。
权利要求
1.一种在云计算系统创建虚拟机的方法,所述云计算系统包括云控制服务器、至少一个节点控制服务器和至少一个存储服务器,其特征在于,所述存储服务器存储虚拟机基准镜像文件、用户扩展镜像文件和用户磁盘镜像文件,所述方法包括云控制器接收用户请求,并向节点控制服务器转发用户请求,所述用户请求包括用户选择的虚拟机基准镜像,CPU、内存大小以及用户磁盘镜像文件;节点控制服务器接收云控制器转发的用户请求,并根据用户请求创建虚拟机,采用如下步骤(1)根据用户请求获取虚拟机基准镜像文件并保存在节点控制服务器上作为第一虚拟机基准镜像副本;(2)如果存储服务器中没有用户扩展镜像文件,则节点控制服务器根据第一虚拟机基准镜像副本,在本机上创建用户扩展镜像文件,如果存储服务器中没有用户扩展镜像文件, 则节点控制服务器从服务器中获取用户扩展镜像文件;(3)节点控制服务器结合虚拟机基准镜像副本和用户扩展镜像作为虚拟机系统文件, 使用虚拟机系统文件、用户磁盘镜像文件和虚拟机配置文件创建虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述步骤(1)具体包括节点控制服务器判断如果用户请求获取的虚拟机基准镜像文件已经保存在节点控制服务器,且保存在节点控制服务器的虚拟机镜像副本与保存在存储服务器的虚拟机镜像文件一致,则直接执行步骤(2);否则,节点控制服务器从存储服务器下载虚拟机镜像文件,并保存在节点控制服务器上作为虚拟机镜像副本,然后执行步骤(2)。
3.根据权利要求2所述的方法,其特征在于,节点控制服务器从存储服务器下载虚拟机镜像时,首先判断节点控制服务器用于存储虚拟机镜像副本的存储空间是否已满,若否, 直接将虚拟机基准镜像拷贝到节点控制服务器中作为虚拟机镜像副本;若是,则删除节点控制服务器上最近最少使用的虚拟机镜像副本,然后从存储服务器下载虚拟机基准镜像文件存储到节点控制服务器作为虚拟机镜像副本。
4.根据权利要求1所述的方法,其特征在于,在虚拟机运行结束后,将虚拟机系统文件与虚拟机基准镜像副本之间的数据差异作为用户扩展镜像,并且把扩展镜像保存在存储服务器上。
5.根据权利要求1所述的方法,其特征在于,云控制器根据接收到的用户请求以及预设的选择策略,指定待创建虚拟机的节点控制服务器。
6.根据权利要求5所述的方法,其特征在于,所述预设的选择策略为当前所有节点控制服务器资源利用率最低优先策略,即根据用户请求信息中指定的所需CPU和内存大小, 选择当前资源利用率最低且资源满足用户所需CPU和内存大小的节点服务器为待创建虚拟机的节点控制服务器。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括当虚拟机从第一节点控制服务器迁移到第二节点控制服务器时,如果第二节点控制服务器上存在与第一节点控制服务器相同的虚拟机镜像副本,则在第一节点服务器关闭虚拟机,第二节点控制服务器采用虚拟机镜像副本和存储服务器上的用户扩展镜像作为虚拟机系统文件,结合用户磁盘镜像文件和配置信息在第二节点控制服务器上启动虚拟机,否则从第一节点控制服务器复制虚拟机镜像副本到第二节点控制服务器,第二节点控制服务器采用从第一节点控制服务器复制的虚拟机镜像副本和存储服务器上的用户扩展镜像作为虚拟机系统文件,结合用户磁盘镜像文件和配置信息在第二节点控制服务器上启动虚拟机。
8.—种云计算系统,其特征在于,所述云计算系统包括云控制服务器、至少一个节点控制服务器和至少一个存储服务器,所述存储服务器存储虚拟机基准镜像文件、用户扩展镜像文件和用户磁盘镜像文件;所述云控制器上设有用于接收包括所需CPU和内存大小的用户请求,并向节点控制服务器转发用户请求的用户请求模块;所述节点控制服务器上设有虚拟机创建模块所述虚拟机创建模块接收云控制器转发的用户请求,并根据用户请求创建虚拟机,包括如下子模块虚拟机基准镜像副本获取子模块,用于获取虚拟机基准镜像文件并保存在节点控制服务器上作为虚拟机基准镜像副本;用户文件获取子模块,用于从存储服务器获取用户扩展镜像文件,节点控制服务器从存储服务器获取用户磁盘镜像文件;虚拟机生成子模块,用于结合虚拟机基准镜像副本和用户扩展镜像生成虚拟机系统文件,使用虚拟机系统文件、用户磁盘镜像文件和虚拟机配置信息创建虚拟机。
9.根据权利要求8所述的云计算系统,其特征在于,虚拟机基准镜像副本获取子模块判断如果用户请求获取的虚拟机基准镜像文件没有保存在节点控制服务器,或者保存在节点控制服务器的虚拟机镜像副本与保存在存储服务器的虚拟机镜像文件不一致,则从存储服务器下载虚拟机镜像,并保存在节点控制服务器上作为虚拟机镜像副本。
10.根据权利要求8所述的云计算系统,其特征在于,所述节点服务器上还设有扩展镜像维护模块,用于在虚拟机运行结束后,将虚拟机系统文件与虚拟机基准镜像副本之间的数据差异作为用户扩展镜像。
全文摘要
本发明涉及云计算相关技术领域,特别是一种在云计算系统创建虚拟机的方法及云计算系统,所述云计算系统包括云控制服务器、至少一个节点控制服务器和至少一个存储服务器,所述存储服务器存储虚拟机基准镜像文件、用户扩展镜像文件和用户磁盘镜像文件,所述方法包括云控制器接收用户请求,并向节点控制服务器转发用户请求,所述用户请求包括用户选择的虚拟机基准镜像,cpu、内存大小以及用户磁盘镜像文件;节点控制服务器接收云控制器转发的用户请求,并根据用户请求创建虚拟机。本发明减少创建虚拟机时间开销和带宽资源,降低虚拟机迁移过程传送网络带宽的使用,避免虚拟机系统崩溃导致的用户数据丢失问题。
文档编号H04L29/08GK102185928SQ20111014566
公开日2011年9月14日 申请日期2011年6月1日 优先权日2011年6月1日
发明者吴海玲, 邓书芬, 纪求华 申请人:广州杰赛科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1