买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】VM开机方法、VMM、共享存储系统、VDI系统及物理主机_华为技术有限公司;中国科学院计算技术研究所_201310081895.1 

申请/专利权人:华为技术有限公司;中国科学院计算技术研究所

申请日:2013-03-14

公开(公告)日:2017-11-21

公开(公告)号:CN104052776B

主分类号:H04L29/08(2006.01)I

分类号:H04L29/08(2006.01)I;G06F9/455(2006.01)I

优先权:

专利状态码:有效-授权

法律状态:2017.11.21#授权;2014.10.22#实质审查的生效;2014.09.17#公开

摘要:本发明实施例提供一种VM开机方法,VMM,共享存储系统,VDI系统及物理主机;其中,虚拟机开机方法包括:检测虚拟机当前所处于的开机阶段;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段,则向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。本发明实施例提高了网络带宽的利用率,减少了虚拟机的开机时间。

主权项:一种虚拟机VM开机方法,其特征在于,包括:检测虚拟机当前所处于的开机阶段;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段,则向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。

全文数据:VM开机方法、VMM、共享存储系统、VDI系统及物理主机技术领域[0001]本发明涉及虚拟机技术,更具体地说,涉及一种VMvirtualmachine,虚拟机开机方法、VMMvirtualmachinemonitor,虚拟机监视器)、共享存储系统、VDIvirtualdesktopInfrastructure,虚拟桌面基础架构系统及物理主机。背景技术[0002]VDI作为一种新兴技术,目前己越来越受到人们的重视。在VDI应用环境下,用户可通过在数据中心的服务器运行操作系统(如WindowsXP,Vista等),将用户桌面进行虚拟化,即在服务器中虚拟出一个与用户本地安装的桌面一样的虚拟桌面;用户通过客户端设备客户机或是家用PC与虚拟桌面进行连接,可以达到访问虚拟桌面就像是访问本地安装桌面一样的效果。VDI同样是基于虚拟机技术,在VDI应用环境下,虚拟机一般运行在数据中心内的物理主机内,出于提高数据中心的利用率、容错能力以及功耗效率等原因,虚拟机的磁盘镜像一般存储于共享存储系统内,该共享存储系统可以是区别于物理主机的服务器等电子设备,当大量的虚拟机同时开机时,每个虚拟机都需要从共享存储系统中读取磁盘镜像,从而实现虚拟机的启动。[0003]发明人在实现本发明的过程中发现:虚拟机若要从共享存储系统中读取磁盘镜像,则需要与共享存储系统建立网络连接,进行数据的读取;然而虚拟机开机需要一个较长的过程,现有技术虚拟机在开机过程中始终与共享存储系统保持网络连接,当大量虚拟机同时处于开机状态时,将造成网络带宽不足的问题,形成开机风暴。可以看出,现有虚拟机在开机过程中始终与共享存储系统保持网络连接的开机方式,将导致网络带宽的浪费,网络带宽的利用率不高,影响虚拟机的开机时间的问题。发明内容[0004]有鉴于此,本发明实施例提供一种虚拟机开机方法,虚拟机监视器、共享存储系统、虚拟桌面基础架构系统及物理主机,以解决现有技术导致网络带宽的浪费,网络带宽的利用率不高的问题。[0005]为实现上述目的,本发明实施例提供如下技术方案:[0006]第一方面,本发明实施例提供一种虚拟机VM开机方法,包括:[0007]检测虚拟机当前所处于的开机阶段;[0008]若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;[0009]若所,测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段,则向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。[0010]结合第一方面,在第一方面的第一种可能的实现方式中,[0011]所述虚拟机的开机阶段包括:读取内核阶段,启动内核阶段,和读取模块阶段;[0012]所述由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段包括:进入读取内核阶段,或,由启动内核阶段进入到读取模块阶段;[0013]所述由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段包括:由读取内核阶段进入到启动内核阶段,或,结束读取模块阶段。[0014]第二方面,本发明实施例提供一种虚拟机监视器,包括:[0015]开机阶段检测模块,用于检测虚拟机当前所处于的开机阶段;[0016]网络连接建立模块,用于在所述开机阶段检测模块所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;[0017]网络连接释放模块,用于在所述开机阶段检测模块所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。[0018]第三方面,本发明实施例提供一种虚拟机开机方法,包括:[0019]当虚拟机状态由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;[0020]当虚拟机状态由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。[0021]第四方面,本发明实施例提供一种共享存储系统,包括:[0022]连接建立请求接收模块,用于当虚拟机状态由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收建立网络连接的请求信息;[0023]连接建立模块,用于在接收建立网络连接的请求信息后,建立所述虚拟机与共享存储系统间的网络连接;[0024]连接释放请求接收模块,用于当虚拟机状态由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收释放网络连接的请求信息;[0025]连接释放模块,用于在接收释放网络连接的请求信息后,释放所述虚拟机与共享存储系统间的网络连接。[0026]第五方面,本发明实施例提供一种物理主机,包括上述所述的虚拟机监视器。[0027]第六方面,本发明实施例提供一种虚拟桌面基础架构系统,包括上述所述的物理主机,和上述所述的共享存储系统。[0028]第七方面,本发明实施例提供一种物理主机,包括:处理器,通信接口,存储器和通信总线;[0029]其中所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通f目;[0030]所述通信接口,用于获取所述处理器生成的建立网络连接的请求信息,和释放网络连接的请求信息;在虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,向共享存储系统发送建立网络连接的请求信息;和,在虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,向共享存储系统发送释放网络连接的请求信息;[0031]所述处理器,用于执行程序;[0032]所述存储器,用于存放程序;[0033]其中程序用于:[0034]检测虚拟机当前所处于的开机阶段;[0035]若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立虚拟机与共享存储系统间的网络连接;[0036]若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在的通信阶段,则向共享存储系统发送释放网络连接的请求信息,释放虚拟机与共享存储系统间的网络连接。[0037]本发明实施例提供的虚拟机开机方法,将虚拟机的开机阶段分为虚拟机与共享存储系统不存在通信的阶段,和虚拟机与共享存储系统存在通信的阶段;通过检测虚拟机当前所处于的开机阶段,在虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,建立虚拟机与共享存储系统间的网络连接,使得虚拟机能够占用网络带宽;在虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,释放虚拟机与共享存储系统间的网络连接,使得虚拟机不再占用网络带宽。通过本发明实施例提供的虚拟机开机方法,能够针对不同虚拟机开机阶段的网络带宽需求,进行虚拟机与共享存储系统间的网络连接的建立和释放;在虚拟机的不同开机阶段,为虚拟机调度对应的网络带宽需求,提高了网络带宽的利用率,减少了虚拟机的开机时间,解决了现有技术浪费网络带宽的问题。附图说明[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0039]图1为本发明实施例提供的虚拟机开机方法的流程图;[0040]图2为本发明实施例提供的虚拟机开机情况下的网络链路负载情况的示意图;[0041]图3为本发明实施例提供的向共享存储系统发送建立网络连接的请求信息的方法流程图;[0042]图4为本发明实施例提供的向预存有开机令牌的存储设备请求开机令牌的方法流程图;[0043]图5为本发明实施例提供的虚拟机开机阶段的运行时间超时检测的方法流程图;[0044]图6为本发明实施例提供的虚拟机开机方法的另一流程图;[0045]图7为本发明实施例提供的虚拟机监视器的结构框图;[0046]图8为本发明实施例提供的虚拟机监视器的另一结构框图;[0047]图9为本发明实施例提供的开机阶段检测模块的结构框图;[0048]图10为本发明实施例提供的网络连接建立模块的结构框图;[0049]图11为本发明实施例提供的开机令牌请求单元的结构框图;[0050]图12为本发明实施例提供的网络连接释放模块的结构框图;[0051]图13为本发明实施例提供的虚拟机监视器的又一结构框图;[0052]图14为本发明实施例提供的超时检测模块的结构框图;[0053]图15为本发明实施例提供的虚拟机开机方法的又一流程图;[0054]图16为本发明实施例提供的处理请求信息的方法流程图;[0055]图17为本发明实施例提供的共享存储系统的结构框图;[0056]图18为本发明实施例提供的共享存储系统的另一结构框图;[0057]图19为本发明实施例提供的连接建立请求接收模块的结构框图;[0058]图20为本发明实施例提供的连接释放请求接收模块的结构框图;[0059]图21为本发明实施例提供的共享存储系统的又一结构框图;[0060]图22为本发明实施例提供的开机令牌返回单元的结构框图;[0061]图23为本发明实施例提供的共享存储系统的再一结构框图;[0062]图24为本发明实施例提供的VDI系统的结构框图;[0063]图25为本发明实施例提供的VDI系统的另一结构框图;[0064]图26为本发明实施例提供的物理主机的结构框图。具体实施方式[0065]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0066]图1为本发明实施例提供的虚拟机开机方法的流程图,参照图1,该方法可以包括步骤:[0067]步骤S100、检测虚拟机当前所处于的开机阶段;[0068]可通过VMM虚拟机监视器对各个虚拟机的开机阶段进行检测,值得注意的是,一个物理主机内可配置多个虚拟机和一个虚拟机监视器,通过一个虚拟机监视器可对多个虚拟机进行监视。[0069]可选的,在本发明实施例中,发明人从网络的角度,将虚拟机的开机阶段分为三个:读取内核阶段;启动内核阶段;读取模块阶段。图2示出了虚拟机开机情况下的网络链路负载情况,参照图2,在读取内核阶段和读取模块阶段,虚拟机需要从共享存储系统读取数据,因此消耗IO和网络带宽;但是在启动内核阶段,虚拟机不需要读取数据,因此IO和网络带宽处于不占用的状态。基于发明人的上述发现,可针对不同的虚拟机开机阶段的网络带宽需求,在虚拟机的不同开机阶段,为虚拟机调度对应的网络带宽需求,具体可参照步骤S110和步骤S120的处理方式。[0070]步骤S110、若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;[0071]可选的,由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段可以包括:进入读取内核阶段,或,由启动内核阶段进入到读取模块阶段。[0072]本发明实施例可仅在VMM检测到虚拟机的开机阶段为,进入读取内核阶段的情况下,向共享存储系统发送建立网络连接的请求信息;也可仅在VMM检测到虚拟机的开机阶段为,由启动内核阶段进入到读取模块阶段的情况下,向共享存储系统发送建立网络连接的请求信息;还可既在检测到虚拟机开机阶段处于进入读取内核阶段的情况下,和还在检测到虚拟机开机阶段由启动内核阶段进入到读取模块阶段的情况下,向共享存储系统发送建立网络连接的请求信息。可选的,在向共享存储系统发送建立网络连接的请求信息之前,虚拟机监视器可根据虚拟机与共享存储系统的通信方式,生成建立网络连接的请求信息,具体的建立网络连接的请求信息的生成方式可视具体情况而定。[0073]步骤S120、若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段,则向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。[0074]可选的,由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段可以包括:由读取内核阶段进入到启动内核阶段,或,结束读取模块阶段。本发明实施例可仅在VMM检测到虚拟机的开机阶段为,由读取内核阶段进入到启动内核阶段的情况下,向共享存储系统发送释放网络连接的请求信息;也可仅在V疆检测到虚拟机的开机阶段为,结束读取模块阶段的情况下,向共享存储系统发送释放网络连接的请求信息;还可既在检测到虚拟机开机阶段由读取内核阶段进入到启动内核阶段的情况下,和还在检测到虚拟机开机阶段处于结束读取模块阶段的情况下,向共享存储系统发送释放网络连接的请求信息。共享存储系统在接收到释放网络连接的请求信息后,将执行虚拟机与共享存储系统间的网络连接的释放过程。[0075]本发明实施例中,建立网络连接的请求信息的发送可以是VMM通过调用通信接口来实现,而该建立网络连接的请求信息是与开机阶段为由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段的虚拟机相对应。释放网络连接的请求信息的发送也与此同理。[0076]可选的,本发明实施例可在虚拟机开机时,周期性检测周期的时长可以尽可能的小)的检测虚拟机与共享存储系统之间的通信状态(即检测虚拟机与共享存储系统之间有无数据的收发、传递),在初次检测到虚拟机与共享存储系统之间存在通信时,则可确定虚拟机开机阶段处于读取内核阶段;在虚拟机与共享存储系统之间的通信状态由初次存在的通信状态变为不存在通信的状态时,则可确定虚拟机开机阶段进入到了启动内核阶段;对于虚拟机开机阶段进入了启动内核阶段后,若检测到虚拟机与共享存储系统之间的通信状态又变为存在通信的状态,则确定启动内核阶段结束,虚拟机开机阶段进入了读取模块阶段;虚拟机开机阶段进入了读取模块阶段后,若检测到虚拟机与共享存储系统之间的通信状态又变为不存在通信的状态,则确定读取模块阶段结束。显然,本发明实施例可预置各个通信状态切换时,各切换后的通信状态维持的标准时长,在切换后的通信状态实际维持的时长达到该标准时长时,确定虚拟机开机阶段发生了变化;如当虚拟机开机阶段由读取内核阶段进入了启动内核阶段,对应的虚拟机与共享存储系统的通信状态由存在通信变为不存在通信,本发明实施例可预置该通信状态切换下的不存在通信状态所维持的标准时长,在实际的不存在通信状态所维持的时长满足该标准时长时,确定虚拟机开机阶段进入了启动内核阶段,以此保证开机阶段确定的正确性,其他开机阶段的确定可与此同理。[0077]本发明实施例提供的虚拟机开机方法,将虚拟机的开机阶段分为虚拟机与共享存储系统不存在通信的阶段,和虚拟机与共享存储系统存在通信的阶段;通过检测虚拟机当前所处于的开机阶段,在虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,建立虚拟机与共享存储系统间的网络连接,使得虚拟机能够占用网络带宽;在虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,释放虚拟机与共享存储系统间的网络连接,使得虚拟机不再占用网络带宽。通过本发明实施例提供的虚拟机开机方法,能够针对不同虚拟机开机阶段的网络带宽需求,进行虚拟机与共享存储系统间的网络连接的建立和释放;在虚拟机的不同开机阶段,为虚拟机调度对应的网络带宽需求,提高了网络带宽的利用率,减少了虚拟机的开机时间,解决了现有技术浪费网络带宽的问题。[0078]在本发明实施例中,一个共享存储系统可以存储有多个虚拟机的磁盘镜像,因此当有多个虚拟机处于开机阶段时,对应的共享存储系统可能会在短时间内接收到大量的建立网络连接的请求信息。对于这种情况,本发明实施例的共享存储系统可不设置访问权限,任意的虚拟机均可对共享存储系统进行访问,共享存储系统在接收到多个虚拟机对应的建立网络连接的请求信息之后,可逐一对各个虚拟机对应的建立网络连接的请求信息进行应答,从而使得虚拟机在接收到应答后,通过VMM执行网络连接的建立过程。[0079]可选的,本发明实施例为控制对共享存储系统的并发访问数量,避免过多的建立网络连接的请求信息超过共享存储系统的服务能力,本发明实施例的共享存储系统也可设置访问权限,只有获得访问权限的虚拟机才可通过VMM实现对共享存储系统的访问,图3示出了本发明实施例向共享存储系统发送建立网络连接的请求信息的方法流程图,该方法流程与共享存储系统设置访问权限情况下的建立网络连接的请求信息的发送相对应。参照图3,该方法流程可以包括:[0080]步骤S111、向预存有开机令牌的存储设备请求开机令牌;[0081]当虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,VMM将为虚拟机请求开机令牌,从而使得存储设备能为对应的虚拟机分配开机令牌。[0082]本发明实施例中,开机令牌用于指示虚拟机访问共享存储系统的权限,在本发明实施例中,只有VMM获得了开机令牌后,才允许对应的虚拟机与共享存储系统建立网络连接,从共享存储系统读取数据。可选的,预存有开机令牌的存储设备可预先配置预设个数的开机令牌,同时配置开机令牌的状态为空闲和占用,存储设备在接收到一个请求开机令牌的信息后,可为对应的虚拟机分配一个空闲的开机令牌,同时更新空闲开机令牌的个数空闲开机令牌个数减一);在空闲开机令牌的个数为零时,存储设备将无法为虚拟机分配开机令牌,没有得到开机令牌的虚拟机,将无法对共享存储系统发起访问。[0083]步骤S112、在获得开机令牌后,根据所述开机令牌生成建立网络连接的请求信息,向共享存储系统发送建立网络连接的请求信息;[0084]由于共享存储系统配置有访问权限,在VMM获得开机令牌后,VM1可根据开机令牌为对应的虚拟机生成建立网络连接的请求信息,向共享存储系统发送该建立网络连接的请求信息,以指示对应的虚拟机具有访问共享存储系统的权限,从而使得共享存储系统配合进行网络连接的建立。[0085]通过图3所示流程可以看出,在共享存储系统配置有访问权限的情况下,需先请求开机令牌,再通过开机令牌生成建立网络连接的请求信息,进而向共享存储系统发起建立网络连接的请求信息。由于VMM为对应的虚拟机请求开机令牌时,存储设备内的空闲令牌数可能已经为零,针对这种情况,VMM可随机等待一个延迟时间后,再向存储设备请求开机令牌。对应的,图4示出了向预存有开机令牌的存储设备请求开机令牌的方法流程,参照图4,该流程可以包括步骤:[0086]步骤S1111、暂停虚拟机的运行,向预存有开机令牌的存储设备请求开机令牌;[0087]本发明实施例中,当虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,由于后续的虚拟机启动需要根据从共享存储系统中读取的数据进行,因此可在虚拟机能够访问共享存储系统前,暂停虚拟机的运行,从而节约系统能耗。[0088]步骤S1112、在所述存储设备存在空闲的开机令牌时,接收所述存储设备发送的开机令牌,恢复所述虚拟机的运行;[0089]Vffll接收了存储设备发送的开机令牌后,表明对应的虚拟机已具有访问共享存储系统的权限,可恢复虚拟机的运行。[0090]步骤S1113、若在预定时间内,未接收到所述存储设备发送的开机令牌,则随机等待一个延迟时间后,重新向所述存储设备请求开机令牌,直至接收到所述存储设备发送的开机令牌。[0091]由于重新向存储设备请求开机令牌的请求个数会很多,因此本发明实施例通过随机等待的延迟时间重新向存储设备请求开机令牌,可使得多个重新向存储设备请求开机令牌的请求的请求时间能够错开,避免了数量过多的并发请求。如果重新发起请求后,还未能接收到所述存储设备发送的开机令牌,则VMM将重复执行步骤S1113直至最终接收到所述存储设备发送的开机令牌。[0092]可选的,当共享存储系统配置有访问权限的情况下,向共享存储系统发送释放网络连接的请求信息的过程可以为:向预存有开机令牌的存储设备发送释放令牌请求,以便存储设备更新空闲令牌的个数,同时释放当前占有的开机令牌,并向共享存储系统发送释放网络连接的请求信息。当预存有开机令牌的存储设备设置于共享存储系统内时,向预存有开机令牌的存储设备发送释放令牌请求即可认为是向共享存储系统发送了释放网络连接的请求信息,在VMM发送释放令牌请求之后,即可执行释放虚拟机与共享存储系统间的网络连接的具体过程。[0093]可选的,本发明实施例还可加入虚拟机开机阶段的运行时间超时检测的机制,当虚拟机进入开机阶段时即可启动该机制,对应的,图5示出了虚拟机开机阶段的运行时间超时检测的方法流程,参照图5,该流程可以包括:[0094]步骤S200、检测虚拟机各开机阶段的运行时间,是否超过各开机阶段预设的运行时间;[0095]可选的,可通过虚拟机与共享存储系统之间的通信状态的变化来确认各开机阶段的运行时间,是否超过各开机阶段预设的运行时间。本发明实施例中,虚拟机的开机阶段分为读取内核阶段,启动内核阶段,和读取模块阶段。[00961对于读取内核阶段,在进入读取内核阶段时,可启动超时定时器,并以第一预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;若检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第一预设运行时间时,确定读取内核阶段的运行时间超时;若在所述超时定时器的定时时间未超过所述第一预设运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第一预设结束时长时,则确定读取内核阶段的运行时间未超时。[0097]对于启动内核阶段,在虚拟机由读取内核阶段进入到启动内核阶段时,启动超时定时器,并以第二预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;若检测到虚拟机与共享存储系统之间始终不存在通信,且所述超时定时器的定时时间超过所述第二预设运行时间时,确定启动内核阶段的运行时间超时;若在所述超时定时器的定时时间未超过所述第二预设预运行时间时,检测到虚拟机与共享存储系统之间存在通信的时长超过第二预设结束时长时,则确定启动内核阶段的运行时间未超时。[0098]对于读取模块阶段,在虚拟机由启动内核阶段进入到读取模块阶段时,启动超时定时器,并以第三预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;若检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第三预设运行时间时,确定读取模块阶段的运行时间超时;若在所述超时定时器的定时时间未超过所述第三预设预运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第三预设结束时长时,确定读取模块阶段的运行时间未超时。[0099]其中,第一预设监控时间,第二预设监控时间,第三预设监控时间的取值可取决于虚拟机监视器所运行的操作系统所提供的时钟精度以及每个虚拟机开机阶段的时间开销;各个开机阶段所检测的通信状态的周期数,取决于每个开机阶段的最大时间长度取决于系统配置)以及采样周期的大小;第一预设运行时间,第二预设运行时间,第三预设运行时间可视具体的虚拟机开机情况选定。第一预设结束时长,第二预设结束时长,和第三预设结束时长是根据不同开机阶段设定的通信状态持续阈值,各值可根据对应的开机阶段的具体情况进行设定,也可统一为同一阈值。[0100]步骤S210、若读取内核阶段的运行时间超过第一预设运行时间,则确定读取内核阶段运行超时;[0101]其中,所述第一预设运行时间为预设的读取内核阶段的运行时间。当共享存储系统配置有访向权限的情况下,若在读取内核阶段,虚拟机占用有开机令牌,则可在判定虚拟机开机过程存在异常后,释放虚拟机当前占有的开机令牌。[0102]可选的,虚拟机开机过程出现的异常情况是导致虚拟机启动阶段运行超时的一个原因。[0103]步骤S220、若启动内核阶段的运行时间超过第二预设运行时间,则确定启动内核阶段运行超时;[0104]其中,所述第二预设运行时间为预设的启动内核阶段的运行时间。[0105]步骤S230、若读取模块阶段的运行时间超过第三预设运行时间,则确定读取模块阶段运行超时;[0106]其中,所述第三预设运行时间为预设的读取模块阶段的运行时间。当共享存储系统配置有访问权限的情况下,若在读取模块阶段,虚拟机占用有开机令牌,则可在判定虚拟机开机过程存在异常后,释放虚拟机当前占有的开机令牌。[0107]对于虚拟机开机过程存在异常的处理,可以是直接退出虚拟机的开机流程。上文描述的是各开机阶段的运行时间超过各开机阶段预设的运行时间的情况,对于各开机阶段的运行时间未超过各开机阶段预设的运行时间的情况,虚拟机开机流程可正常执行。[0108]下面对本发明实施例提供的较为优选的虚拟机开机方法进行介绍,图6为本发明实施例提供的虚拟机开机方法的另一流程图,参照图6,该方法包括步骤:[0109]步骤S300、检测虚拟机当前所处于的开机阶段;[0110]步骤S310、若步骤S300所检测的虚拟机开机阶段处于进入读取内核阶段,或由启动内核阶段进入到读取模块阶段,则暂停虚拟机的运行,向共享存储系统请求开机令牌;[0111]步骤S320、在获得开机令牌后,根据所述开机令牌生成建立网络连接的请求信息,向共享存储系统发送建立网络连接的请求信息,建立虚拟机与共享存储系统间的网络连接;[0112]步骤S330、若在预定时间内,未接收到共享存储系统发送的开机令牌时,随机等待一个延迟时间后,重新向共享存储系统请求开机令牌直至接收到所述存储设备发送的开机令牌,在获得开机令牌后,执行步骤S320;[0113]步骤S340、若步骤S300所检测的虚拟机开机阶段处于由读取内核阶段进入到启动内核阶段,或结束读取模块阶段,则向共享存储系统发送释放令牌请求,释放所述虚拟机当前占有的开机令牌,释放虚拟机与共享存储系统间的网络连接;[0114]步骤S400、检测虚拟机各开机阶段的运行时间,是否超过各开机阶段预设的运行时间;[0115]步骤S410、若读取内核阶段的运行时间超过第一预设运行时间,则确定读取内核阶段运行超时,释放所述虚拟机当前占有的开机令牌;[0116]步骤S420、若启动内核阶段的运行时间超过第二预设运行时间,则确定启动内核阶段运行超时;[0117]步骤S430、若读取模块阶段的运行时间超过第三预设运行时间,则确定读取模块阶段运行超时,释放所述虚拟机当前占有的开机令牌。[0118]值得注意的是,步骤S300-步骤S340,和步骤S400-步骤S430为不同的处理过程,没有步骤之间的先后关系。[0119]下面对本发明实施例提供的虚拟机监视器进行描述,下文描述的虚拟机监视器与上文描述的虚拟机开机方法对应,两者可相互参照。[0120]图7为本发明实施例提供的虚拟机监视器的结构框图,参照图7,虚拟机监视器可以包括:[0121]开机阶段检测模块100,用于检测虚拟机当前所处于的开机阶段;[0122]网络连接建立模块110,用于在开机阶段检测模块100所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;[0123]网络连接释放模块120,用于在开机阶段检测模块1〇〇所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。[0124]通过本发明实施例提供的虚拟机监视器,能够针对不同虚拟机开机阶段的网络带宽需求,进行虚拟机与共享存储系统间的网络连接的建立和释放;在虚拟机的不同开机阶段,为虚拟机调度对应的网络带宽需求,提高了网络带宽的利用率,减少了虚拟机开机时间,解决了现有技术浪费网络带宽的问题。[0125]图8为本发明实施例提供的虚拟机监视器的另一结构框图,结合图7和图8所示,图8所示虚拟机监视器还包括:[0126]开机阶段预配置模块130,用于预先配置虚拟机的开机阶段,所述虚拟机的开机阶段包括:读取内核阶段,启动内核阶段,和读取模块阶段。[0127]在图8所示虚拟机监视器的基础上,开机阶段检测模块1〇〇的结构可图图9所示,包括:[0128]第一确定单元101,用于在虚拟机进入读取内核阶段时,或,由启动内核阶段进入到读取模块阶段时,确定所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段;[0129]第二确定单元102,用于在虚拟机由读取内核阶段进入到启动内核阶段时,或,结束读取模块阶段时,确定所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段。[0130]图10为本发明实施例提供的网络连接建立模块的结构框图,参照图10,网络连接建立模块110可以包括:[0131]开机令牌请求单元111,用于向预存有开机令牌的存储设备请求开机令牌;[0132]其中,所述开机令牌用于指示虚拟机访问共享存储系统的权限;[0133]网络连接建立请求生成单元112,用于在获得开机令牌后,根据所述开机令牌生成建立网络连接的请求信息;[0134]网络连接建立请求发送单元113,用于向共享存储系统发送建立网络连接的请求信息,以便建立虚拟机与共享存储系统间的网络连接。[0135]可选的,预存有开机令牌的存储设备可设置于共享存储系统内。[0136]图11为本发明实施例提供的开机令牌请求单元的结构框图,参照图11,开机令牌请求单元111可以包括:[0137]虚拟机运行暂停子单元1111,用于暂停所述虚拟机的运行;[0138]请求子单元1112,用于在暂停所述虚拟机的运行后,向预存有开机令牌的存储设备请求开机令牌;[0139]开机令牌接收子单元1113,用于在所述存储设备存在空闲的开机令牌时,接收所述存储设备返回的开机令牌;[0140]虚拟机运行恢复子单元1114,用于在接收所述存储设备返回的开机令牌后,恢复所述虚拟机的运行;[0141]重新请求子单元1115,用于在预定时间内,未接收到所述存储设备返回的开机令牌时,随机等待一个延迟时间后,重新向所述存储设备请求开机令牌,直至接收到所述存储设备返回的开机令牌。[0142]图12为本发明实施例提供的网络连接释放模块的结构框图,参照图12,网络连接释放模块120可以包括:[0143]开机令牌释放请求单元121,用于向预存有开机令牌的存储设备发送释放令牌请求;[0144]开机令牌释放单元122,用于释放虚拟机当前占有的开机令牌;[0145]网络连接释放请求发送单元123,用于向共享存储系统发送释放网络连接的请求伯息。[0146]图13为本发明实施例提供的虚拟机监视器的又一结构框图,结合图8、图9和图13所示,虚拟机监视器还可以包括:[0147]超时检测模块140,用于检测虚拟机各开机阶段的运行时间,是否超过各开机阶段预设的运行时间;[0148]第一超时执行模块150,用于在读取内核阶段的运行时间超过第一预设运行时间时,确定读取内核阶段运行超时,释放虚拟机当前占有的开机令牌,所述第一预设运行时间为预设的读取内核阶段的运行时间;[0149]第二超时执行模块160,用于在启动内核阶段的运行时间超过第二预设运行时间时,确定启动内核阶段运行超时,所述第二预设运行时间为预设的启动内核阶段的运行时间;[0150]第三超时执行模块170,用于在读取模块阶段的运行时间超过第三预设运行时间时,确定读取模块阶段运行超时,释放虚拟机当前占有的开机令牌,所述第三预设运行时间为预设的读取模块阶段的运行时间。[0151]图14为本发明实施例提供的超时检测模块的结构框图,参照图14,超时检测模块140可以包括:[0152]第一检测单元141,用于在进入读取内核阶段时,启动超时定时器,并以第一预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;[0153]第一超时判定单元142,用于在检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第一预设运行时间时,确定读取内核阶段的运行时间超时;在所述超时定时器的定时时间未超过所述第一预设预运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第一预设结束时长时,则确定读取内核阶段的运行时间未超时;[0154]第二检测单元143,用于在虚拟机由读取内核阶段进入到启动内核阶段时,启动超时定时器,并以第二预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;[0155]第二超时判定单元144,用于在检测到虚拟机与共享存储系统之间始终不存在通信,且所述超时定时器的定时时间超过所述第二预设运行时间时,确定启动内核阶段的运行时间超时;在所述超时定时器的定时时间未超过所述第二预设预运行时间时,检测到虚拟机与共享存储系统之间存在通信的时长超过第二预设结束时长时,则确定启动内核阶段的运行时间未超时;[0156]第三检测单元145,用于在虚拟机由启动内核阶段进入到读取模块阶段时,启动超时定时器,并以第三预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;[0157]第三超时判定单元146,用于在检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第三预设运行时间时,确定读取模块阶段的运行时间超时;在所述超时定时器的定时时间未超过所述第三预设预运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第三预设结束时长时,确定读取模块阶段的运行时间未超时。[0158]显然,第一检测单元141、第二检测单元143和第三检测单元145可集成为一体。[0159]下面将以共享存储系统的角度,描述本发明实施例提供的虚拟机开机方法,下文描述的虚拟机开机方法与上文从虚拟监视器角度描述的虚拟机开机方法相对应,两者可相互参照。[0160]图15为本发明实施例提供的虚拟机开机方法的又一流程图,参照图15,该方法可以包括步骤:[0161]步骤S500、当虚拟机状态由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;[0162]步骤S510、当虚拟机状态由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。[0163]可选的,虚拟机的开机阶段包括:读取内核阶段,启动内核阶段,和读取模块阶段。虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段包括:进入读取内核阶段,或,由启动内核阶段进入到读取模块阶段。虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在的通信阶段包括:由读取内核阶段进入到启动内核阶段,或,结束读取模块阶段。[0164]可选的,共享存储系统可不配置访问权限,任意的虚拟机均能访问共享存储系统,共享存储系统可逐一的接收各虚拟机发送的建立网络连接的请求信息,实现虚拟机与共享存储系统之间的网络连接的建立过程。[0165]可选的,共享存储系统也可配置访问权限,只有拥有访问权限的虚拟机才能访问共享存储系统;对于这种情况,虚拟机需要获得访问权限之后,才能通过虚拟机监视器发起建立网络连接的请求,可选的,共享存储系统可预置预设个数的开机令牌,开机令牌用于指示虚拟机访问共享存储系统的权限;共享存储系统可在接收建立网络连接的请求信息之前先接收第一请求信息,第一请求信息为虚拟机通过虚拟机监视器发送的请求开机令牌的请求信息,共享存储系统在接收第一请求信息之后,向所述虚拟机返回开机令牌,以便虚拟机根据所述开机令牌生成建立网络连接的请求信息,以致共享存储系统接收根据所述开机令牌生成的建立网络连接的请求信息。[0166]对于共享存储系统配置访问权限的情况,在确定虚拟机由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在的通信阶段时,虚拟机可通过虚拟机监视器向共享存储系统发送第二请求信息,第二请求信息为释放开机令牌的请求信息,共享存储系统在接收到第二请求信息后,将把第二请求信息确定为释放网络连接的请求信息,实现虚拟机与共享存储系统间的网络连接的释放。[0167]可选的,共享存储系统中可预置请求队列,该请求队列用于排列多个虚拟机发送的请求开机令牌的请求信息,当共享存储系统接收到第一请求信息之后,将把第一请求信息加入到预置的请求队列中;可选的,请求队列中排列的请求开机令牌的请求信息可按照加入的先后顺序进行队列排序优先级的确定,当然也可指定提升某一请求开机令牌的请求信息的排序优先级。当所加入到请求队列中的第一请求信息在所述请求队列的排序优先级为第一时,可判断预置的预设个数的开机令牌中是否存在空闲的开机令牌,若存在空闲的开机令牌,则向所述虚拟机返回开机令牌,更新空闲的开机令牌的个数即空闲开机令牌个数减一。[0168]显然,请求队列还可用于排列多个虚拟机发送的释放开机令牌的请求信息,共享存储系统可在接收到第二请求信息之后,将第二请求信息加入到预置的请求队列中,当所加入的第二请求信息在所述请求队列的排序优先级为第一时,更新空闲的开机令牌的个数即空闲开机令牌个数加一)。[0169]对于请求队列混合请求开机令牌的请求信息,和释放开机令牌的请求信息的情况,图16示出了对应的请求处理方式,图16为本发明实施例提供的处理请求信息的方法流程图,参照图16,该流程可以包括:[0170]步骤seoo、判断请求队列是否为空,若是,执行步骤S610,若否,执行步骤S620;[0171]共享存储系统接收到请求信息后,将所有的请求按照到达顺序插入请求队列,再对队列内的请求按照先进先出的原则进行处理,若请求队列为空,则表明目前共享存储系统没有接收到请求信息,可结束流程。[0172]步骤S610、结束流程;[0173]步骤S620、判断当前请求的类型,若当前请求为请求开机令牌对应的请求,执行步骤S630,若当前请求为释放开机令牌对应的请求,执行步骤S660;[0174]步骤S630、判断当前是否存在空闲的开机令牌,若是,执行步骤S64〇、若否,执行步骤S650;[0175]步骤S640、向虚拟机返回开机令牌,空闲开机令牌个数减一;[0176]步骤S650、向虚拟机发送拒绝返回开机令牌的信息;[0177]步骤S660、更新空闲开机令牌数,将空闲开机令牌个数加一。[0178]下面对本发明实施例提供的共享存储系统进行描述,下文描述的共享存储系统与上文以共享存储系统角度描述的虚拟机开机方法对应,两者可相互参照。[0179]图17为本发明实施例提供的共享存储系统的结构框图,参照图17,共享存储系统可以包括:[0180]连接建立请求接收模块200,用于当虚拟机状态由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收建立网络连接的请求信息;[0181]连接建立模块210,用于在接收建立网络连接的请求信息后,建立所述虚拟机与共享存储系统间的网络连接;[0182]连接释放请求接收模块220,用于当虚拟机状态由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收释放网络连接的请求信息;[0183]连接释放模块2加,用于在接收释放网络连接的请求信息后,释放所述虚拟机与共享存储系统间的网络连接。[0184]图18为本发明实施例提供的共享存储系统的另一结构框图,结合图17和图18所示,共享存储系统还包括:[0185]开机令牌存储模块240,用于存储开机令牌,所述开机令牌用于指示虚拟机访问共享存储系统的权限。[0186]在图18所示共享存储系统的基础上,连接建立请求接收模块200的结构可如图19所示,包括:[0187]第一请求信息接收单元201,用于在虚拟机由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收第一请求信息,所述第一请求信息为请求开机令牌的请求信息;[0188]开机令牌返回单元202,用于在第一请求信息接收模块201接收第一请求信息后,向所述虚拟机返回开机令牌;[0189]连接建立请求接收单元203,用于接收虚拟机通过虚拟机监视器,根据所述开机令牌生成的建立网络连接的请求信息。[0190]在图18所示共享存储系统的基础上,连接释放请求接收模块220的结构可如图20所示,包括:[0191]第二请求信息接收单元221,用于在虚拟机由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收第二请求信息,所述第二请求信息为释放开机令牌的请求信息;[0192]请求确定单元222,用于将所述第二请求信息确定为释放网络连接的请求信息。[0193]图21为本发明实施例提供的共享存储系统的又一结构框图,结合图18、图19和图21所示,共享存储系统还包括:[0194]请求加入模块250,用于在第一请求信息接收单元201接收第一请求信息之后,将所述第一请求信息加入到预置的请求队列中,所述请求队列排列有多个虚拟机发送的请求开机令牌的请求信息。__[0195]在图21所示共享存储系统的基础上,开机令牌返回单元2〇2的结构可如图22所示,包括:[0196]空闲判断单元2021,用于所述第一请求信息在所述请求队列的排序优先级为第一时,判断预置的预设个数的开机令牌中是否存在空闲的开机令牌;[0197]令牌返回更新单元2022,用于在空闲判断单元2021判断存在空闲的开机令牌时,向所述虚拟机返回开机令牌,更新空闲的开机令牌的个数。[0198]可选的,请求加入模块250还可用于将所述第二请求信息加入到预置的请求队列中;所述预置的请求队列还排列有多个虚拟机发送的释放开机令牌的请求信息。在此基础上,共享存储系统还可具有图23所示结构,结合图21和图23所示,共享存储系统还包括:令牌更新模块260,用于在所述第二请求信息在所述请求队列的排序优先级为第一时,更新空闲的开机令牌的个数。[0199]本发明实施例还提供一种可设置虚拟机的物理主机,该物理主机可以包括上述所述的虚拟机监视器,具体可参照图7-图14所示的虚拟机监视器对应的描述。[0200]本发明实施例还提供一种虚拟桌面基础架构VDI系统,图24为本发明实施例提供的VDI系统的结构框图,参照图24,VDI系统可包括:物理主机300和共享存储系统400,其中,物理主机300可为上述所述的物理主机,共享存储系统可为上述所述的共享存储系统,具体可参照图17-图23所示的共享存储系统对应的描述。[0201]值得注意的是,一个物理主机300内设置的多个虚拟机可对应一个共享存储系统400,即一个物理主机300内的多个虚拟机可均从同一共享存储系统400内读取磁盘镜像,进行开机启动;一个物理主机300内设置的多个虚拟机也可对应多个共享存储系统400,即一个物理主机300内的多个虚拟机的磁盘镜像分散存储在多个共享存储系统400内,如一部分虚拟机的磁盘镜像存储在一个共享存储系统400内,另一部分虚拟机的磁盘镜像存储在另一个共享存储系统400内;多个物理主机300内设置的多个虚拟机也可对应多个共享存储系统400。对于物理主机300与共享存储系统400的数量对应关系,可视具体情况而定,本发明实施例不作限定。[0202]对于物理主机内设置的多个虚拟机对应多个共享存储系统的情况,虚拟机需要先确定对应的共享存储系统,才可确定虚拟机的磁盘镜像存放的位置,可选的,可将多个共享存储系统进行编号,虚拟机在开机时,对应的虚拟机监视器可确定与虚拟机对应的共享存储系统编号可通过虚拟机标识与共享存储系统编号的映射关系来确定),进而向对应的共享存储系统发起建立网络连接的请求或释放网络连接的请求。此外,在共享存储系统配置有访问权限的情况下,本发明实施例可配置各个共享存储系统对应的预设个数的开机令牌,通过一个存储设备存储一个共享存储系统的开机令牌的方式进行开机令牌的存储管理,虚拟机在开机时,监视器可在确定与虚拟机对应的共享存储系统后,向该共享存储系统对应的存储设备请求开机令牌或释放开机令牌,进而向对应的共享存储系统请求建立网络连接或释放网络连接;显然,也可在各个共享存储系统内配置各自对应的开机令牌,图25示出了对应的VDI系统结构,可一同参照。[0203]本发明实施例还提供一种物理主机,图26示出了该物理主机的结构框图。物理主机可能是包含计算能力的主机服务器,或者是个人计算机PC,或者是可携带的便携式计算机或终端等等,本发明具体实施例并不对主机的具体实现做限定。物理主机可以包括:处理器1,通信接口2,存储器3和通信总线4;[0204]其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;[0205]通信接口2,用于获取处理器1生成的建立网络连接的请求信息,和释放网络连接的请求信息;在虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,向共享存储系统发送建立网络连接的请求信息,和,在虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,向共享存储系统发送释放网络连接的请求信息;[0206]可选的,通信接口2可以为网卡接口;[0207]处理器1,用于执行程序;[0208]存储器3,用于存放程序;[0209]程序可以包括程序代码,所述程序代码包括计算机操作指令。[0210]处理器1可能是一个中央处理器CPU,或者是特定集成电路ASICApplicationSpecificIntegratedCircuit,或者是被配置成实施本发明实施例的一个或多个集成电路。[0211]存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器non-volatilememory,例如至少一个磁盘存储器。[0212]其中,程序可具体用于:[0213]检测虚拟机当前所处于的开机阶段;[0214]若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立虚拟机与共享存储系统间的网络连接;[0215]若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在的通信阶段,则向共享存储系统发送释放网络连接的请求信息,释放虚拟机与共享存储系统间的网络连接。[0216]可选的,程序可以包括图7至图14所示的功能模块。[0217]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。[0218]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。[0219]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器RAM、内存、只读存储器R0M、电可编程R0M、电可擦除可编程R0M、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。[0220]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

权利要求:1.一种虚拟机VM开机方法,其特征在于,包括:检测虚拟机当前所处于的开机阶段;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段,则向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。2.根据权利要求1所述的方法,其特征在于,所述虚拟机的开机阶段包括:读取内核阶段,启动内核阶段,和读取模块阶段;所述由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段包括:进入读取内核阶段,或,由启动内核阶段进入到读取模块阶段;所述由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段包括:由读取内核阶段进入到启动内核阶段,或,结束读取模块阶段。3.根据权利要求1或2所述的方法,其特征在于,所述向共享存储系统发送建立网络连接的请求信息的过程包括:向预存有开机令牌的存储设备请求开机令牌,在获得开机令牌后,根据所述开机令牌生成建立网络连接的请求信息,向共享存储系统发送建立网络连接的请求信息,其中,所述开机令牌用于指示虚拟机访问共享存储系统的权限;所述向共享存储系统发送释放网络连接的请求信息的过程包括:向预存有开机令牌的存储设备发送释放开机令牌请求,释放虚拟机当前占有的开机令牌,向共享存储系统发送释放网络连接的请求信息。4.根据权利要求3所述的方法,其特征在于,所述向预存有开机令牌的存储设备请求开机令牌的过程包括:暂停所述虚拟机的运行,向预存有开机令牌的存储设备请求开机令牌;在所述存储设备存在空闲的开机令牌时,接收所述存储设备发送的开机令牌,恢复所述虚拟机的运行;若在预定时间内,未接收到所述存储设备发送的开机令牌,则随机等待一个延迟时间后,重新向所述存储设备请求开机令牌,直至接收到所述存储设备发送的开机令牌。5.根据权利要求3所述的方法,其特征在于,还包括:检测虚拟机各开机阶段的运行时间,是否超过各开机阶段预设的运行时间;若读取内核阶段的运行时间超过第一预设运行时间,则确定读取内核阶段运行超时,释放虚拟机当前占有的开机令牌,所述第一预设运行时间为预设的读取内核阶段的运行时间;若启动内核阶段的运行时间超过第二预设运行时间,则确定启动内核阶段运行超时,所述第二预设运行时间为预设的启动内核阶段的运行时间;_若读取模块阶段的运行时间超过第三预设运行时间,则确定读取模块阶段运行超时,释放虚拟机当前占有的开机令牌,所述第三预设运行时间为预设的读取模块阶段的运行时间。6.根据权利要求5所述的方法,其特征在于,所述检测虚拟机各开机阶段的运行时间,是否超过各开机阶段预设的运行时间的过程包括:在进入读取内核阶段时,启动超时定时器,并以第一预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;若检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第一预设运行时间时,确定读取内核阶段的运行时间超时;若在所述超时定时器的定时时间未超过所述第一预设运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第一预设结束时长时,则确定读取内核阶段的运行时间未超时;在虚拟机由读取内核阶段进入到启动内核阶段时,启动超时定时器,并以第二预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;若检测到虚拟机与共享存储系统之间始终不存在通信,且所述超时定时器的定时时间超过所述第二预设运行时间时,确定启动内核阶段的运行时间超时;若在所述超时定时器的定时时间未超过所述第二预设预运行时间时,检测到虚拟机与共享存储系统之间存在通信的时长超过第二预设结束时长时,则确定启动内核阶段的运行时间未超时;在虚拟机由启动内核阶段进入到读取模块阶段时,启动超时定时器,并以第三预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;若检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第三预设运行时间时,确定读取模块阶段的运行时间超时;若在所述超时定时器的定时时间未超过所述第三预设预运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第三预设结束时长时,确定读取模块阶段的运行时间未超时。7.根据权利要求3所述的方法,其特征在于,所述存储设备设置于共享存储系统内。8.—种虚拟机监视器VMM,其特征在于,包括:开机阶段检测模块,用于检测虚拟机当前所处于的开机阶段;网络连接建立模块,用于在所述开机阶段检测模块所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,向共享存储系统发送建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;网络连接释放模块,用于在所述开机阶段检测模块所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,向共享存储系统发送释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。9.根据权利要求8所述的虚拟机监视器,其特征在于,还包括:开机阶段预配置模块,用于预先配置虚拟机的开机阶段,所述虚拟机的开机阶段包括:读取内核阶段,启动内核阶段,和读取模块阶段;所述开机阶段检测検块包括:第一确定单元,用于在虚拟机进入读取内核阶段时,或,由启动内核阶段进入到读取模块阶段时,确定所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共孚存储系统存在通彳曰的卩力段;第二确定单元,用于在虚拟机由读取内核阶段进入到启动内核阶段时,或,结束读取模块阶段时,确定所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段。10.根据权利要求8或9所述的虚拟机监视器,其特征在于,所述网络连接建立模块包括:开机令牌请求单元,用于向预存有开机令牌的存储设备请求开机令牌,其中,所述开机令牌用于指示虚拟机访问共享存储系统的权限;网络连接建立请求生成单元,用于在获得开机令牌后,根据所述开机令牌生成建立网络连接的请求信息;网络连接建立请求发送单元,用于向共享存储系统发送建立网络连接的请求信息,以便建立虚拟机与共享存储系统间的网络连接;所述网络连接释放模块包括:开机令牌释放请求单元,用于向预存有开机令牌的存储设备发送释放令牌请求;开机令牌释放单元,用于释放虚拟机当前占有的开机令牌;网络连接释放请求发送单元,用于向共享存储系统发送释放网络连接的请求信息。11.根据权利要求10所述的虚拟机监视器,其特征在于,所述开机令牌请求单元包括:虚拟机运行暂停子单元,用于暂停所述虚拟机的运行;请求子单元,用于在暂停所述虚拟机的运行后,向预存有开机令牌的存储设备请求开机令牌;开机令牌接收子单元,用于在所述存储设备存在空闲的开机令牌时,接收所述存储设备返回的开机令牌;虚拟机运行恢复子单元,用于在接收所述存储设备返回的开机令牌后,恢复所述虚拟机的运行;重新请求子单元,用于在预定时间内,未接收到所述存储设备返回的开机令牌时,随机等待一个延迟时间后,重新向所述存储设备请求开机令牌,直至接收到所述存储设备返回的开机令牌。12.根据权利要求10所述的虚拟机监视器,其特征在于,还包括:超时检测模块,用于检测虚拟机各开机阶段的运行时间,是否超过各开机阶段预设的运行时间;第一超时执行模块,用于在读取内核阶段的运行时间超过第一预设运行时间时,确定读取内核阶段运行超时,释放虚拟机当前占有的开机令牌,所述第一预设运行时间为预设的读取内核阶段的运行时间;第二超时执行模块,用于在启动内核阶段的运行时间超过第二预设运行时间时,确定启动内核阶段运行超时,所述第二预设运行时间为预设的启动内核阶段的运行时间;第三超时执行模块,用于在读取模块阶段的运行时间超过第三预设运行时间时,确定读取模块阶段运行超时,释放虚拟机当前占有的开机令牌,所述第三预设运行时间为预设的读取模块阶段的运行时间。13.根据权利要求12所述的虚拟机监视器,其特征在于,所述超时检测模块包括:第一检测单元,用于在进入读取内核阶段时,启动超时定时器,并以第一预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;第一超时判定单元,用于在检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第一预设运行时间时,确定读取内核阶段的运行时间超时;在所述超时定时器的定时时间未超过所述第一预设预运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第一预设结束时长时,则确定读取内核阶段的运行时间未超时;第二检测单元,用于在虚拟机由读取内核阶段进入到启动内核阶段时,启动超时定时器,并以第二预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;第二超时判定单元,用于在检测到虚拟机与共享存储系统之间始终不存在通信,且所述超时定时器的定时时间超过所述第二预设运行时间时,确定启动内核阶段的运行时间超时;在所述超时定时器的定时时间未超过所述第二预设预运行时间时,检测到虚拟机与共享存储系统之间存在通信的时长超过第二预设结束时长时,则确定启动内核阶段的运行时间未超时;第三检测单元,用于在虚拟机由启动内核阶段进入到读取模块阶段时,启动超时定时器,并以第三预设监控时间为周期,检测虚拟机与共享存储系统之间的通信状态;第三超时判定单元,用于在检测到虚拟机与共享存储系统之间始终存在通信,且所述超时定时器的定时时间超过所述第三预设运行时间时,确定读取模块阶段的运行时间超时;在所述超时定时器的定时时间未超过所述第三预设预运行时间时,检测到虚拟机与共享存储系统之间不存在通信的时长超过第三预设结束时长时,确定读取模块阶段的运行时间未超时。14.一种虚拟机VM开机方法,其特征在于,包括:当虚拟机状态由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收建立网络连接的请求信息,建立所述虚拟机与共享存储系统间的网络连接;当虚拟机状态由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收释放网络连接的请求信息,释放所述虚拟机与共享存储系统间的网络连接。15.根据权利要求14所述的方法,其特征在于,所述接收建立网络连接的请求信息的过程包括:接收第一请求信息,第一请求信息为请求开机令牌的请求信息,通过虚拟机监视器向所述虚拟机返回开机令牌,在向所述虚拟机返回开机令牌后,接收所述虚拟机通过虚拟机监视器根据所述开机令牌生成的建立网络连接的请求信息,其中,所述开机令牌用于指示虚拟机访问共享存储系统的权限;所述接收释放网络连接的请求信息的过程包括:接收第二请求信息,将所述第二请求信息确定为释放网络连接的请求信息,所述第二请求信息为释放开机令牌的请求信息。16.根据权利要求15所述的方法,其特征在于,在接收第一请求信息之后,还包括:将所述第一请求信息加入到预置的请求队列中,所述请求队列排列有多个请求开机令牌的请求伯息;所述向所述虚拟机返回开机令牌的过程包括:当所述第一请求信息在所述请求队列的排序优先级为第一时,判断预置的预设个数的开机令牌中是否存在空闲的开机令牌;若存在空闲的开机令牌,则向所述虚拟机返回开机令牌,更新空闲的开机令牌的个数。17.根据权利要求16所述的方法,其特征在于,在接收第二请求信息之后,还包括:将所述第二请求信息加入到预置的请求队列中;所述预置的请求队列还排列有多个虚拟机发送的释放开机令牌的请求信息;当所述第二请求信息在所述请求队列的排序优先级为第一时,更新空闲的开机令牌的个数。18.根据权利要求14-17任一项所述的方法,其特征在于,虚拟机的开机阶段包括:读取内核阶段,启动内核阶段,和读取模块阶段;所述虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段包括:进入读取内核阶段,或,由启动内核阶段进入到读取模块阶段;所述虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段包括:由读取内核阶段进入到启动内核阶段,或,结束读取模块阶段。19.一种共享存储系统,其特征在于,包括:连接建立请求接收模块,用于当虚拟机状态由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收建立网络连接的请求信息;连接建立模块,用于在接收建立网络连接的请求信息后,建立所述虚拟机与共享存储系统间的网络连接;连接释放请求接收模块,用于当虚拟机状态由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收释放网络连接的请求信息;连接释放模块,用于在接收释放网络连接的请求信息后,释放所述虚拟机与共享存储系统间的网络连接。20.根据权利要求19所述的共享存储系统,其特征在于,还包括:开机令牌存储模块,用于存储开机令牌,所述开机令牌用于指示虚拟机访问共享存储系统的权限;所述连接建立请求接收模块包括:第一请求信息接收单元,用于在虚拟机由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,接收第一请求信息,所述第一请求信息为请求开机令牌的请求信息;开机令牌返回单元,用于在所述第一请求信息接收单元接收第一请求信息后,向所述虚拟机返回开机令牌;连接建立请求接收单元,用于接收虚拟机通过虚拟机监视器,根据所述开机令牌生成的建立网络连接的请求信息;所述连接释放请求接收模块包括:第二请求信息接收单元,用于在虚拟机由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,接收第二请求信息,所述第二请求信息为释放开机令牌的请求信息;请求确定单元,用于将所述第二请求信息确定为释放网络连接的请求信息。21.根据权利要求20所述的共享存储系统,其特征在于,还包括:请求加入模块,用于在所述第一请求信息接收单元接收第一请求信息之后,将所述第一请求信息加入到预置的请求队列中,所述请求队列排列有多个请求开机令牌的请求信息;所述开机令牌返回单元包括:空闲判断单元,用于所述第一请求信息在所述请求队列的排序优先级为第一时,判断预置的预设个数的开机令牌中是否存在空闲的开机令牌;令牌返回更新单元,用于在所述空闲判断单元判断存在空闲的开机令牌时,向所述虚拟机返回开机令牌,更新空闲的开机令牌的个数。22.根据权利要求21所述的共享存储系统,其特征在于,所述请求加入模块,还用于将所述第二请求信息加入到预置的请求队列中;所述预置的请求队列还排列有多个虚拟机发送的释放开机令牌的请求信息;所述共享存储系统还包括:令牌更新模块,用于在所述第二请求信息在所述请求队列的排序优先级为第一时,更新空闲的开机令牌的个数。23.—种物理主机,其特征在于,包括权利要求8-13任一项所述的虚拟机监视器。24.—种虚拟桌面基础架构VDI系统,其特征在于,包括权利要求23所述的物理主机,和权利要求19-22任一项所述的共享存储系统。25.—种物理主机,其特征在于,包括:处理器,通信接口,存储器和通信总线;其中所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;所述通信接口,用于获取所述处理器生成的建立网络连接的请求信息,和释放网络连接的请求信息;在虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段时,向共享存储系统发送建立网络连接的请求信息;和,在虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在通信的阶段时,向共享存储系统发送释放网络连接的请求信息;所述处理器,用于执行程序;所述存储器,用于存放程序;其中程序用于:检测虚拟机当前所处于的开机阶段;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统不存在通信的阶段进入到虚拟机与共享存储系统存在通信的阶段,则向共享存储系统发送建立网络连接的请求信息,建立虚拟机与共享存储系统间的网络连接;若所检测的虚拟机开机阶段处于由虚拟机与共享存储系统存在通信的阶段进入到虚拟机与共享存储系统不存在的通信阶段,则向共享存储系统发送释放网络连接的请求信息,释放虚拟机与共享存储系统间的网络连接。

百度查询: 华为技术有限公司;中国科学院计算技术研究所 VM开机方法、VMM、共享存储系统、VDI系统及物理主机

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。