CN103176845B - 一种虚拟机部署方法、系统和装置 - Google Patents
一种虚拟机部署方法、系统和装置 Download PDFInfo
- Publication number
- CN103176845B CN103176845B CN201110435661.3A CN201110435661A CN103176845B CN 103176845 B CN103176845 B CN 103176845B CN 201110435661 A CN201110435661 A CN 201110435661A CN 103176845 B CN103176845 B CN 103176845B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- physical server
- attribute
- high availabitity
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种虚拟机部署方法、系统和装置。该方法包括:识别虚拟机的是否高可用属性标签,根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上;其中,所述是否高可用属性标签用于标识虚拟机是否是具有高可用属性。应用本发明能提高虚拟机的I/O性能。
Description
技术领域
本发明涉及虚拟机技术领域,尤其涉及一种虚拟机部署方法、系统和装置。
背景技术
服务器虚拟化是一种对服务器计算资源的抽象,通过在一台物理服务器的基础上将资源划分为多个相互独立的“虚拟”的软件运行环境,即划分为多个相互独立的虚拟机,从而将CPU、内存、I/O等服务器物理资源转化为一组统一管理、可灵活调度、动态分配的逻辑资源,每个虚拟机各自拥有计算、存储和网络等逻辑资源,并在其基础上运行各自的操作系统和应用。
虚拟化技术有利于提高服务器的资源利用率,解决不同应用系统资源利用不均衡的问题,满足业务应用对资源的动态变化需求,降低企业IT系统TCO(TotalCostofOwnership),是云计算的核心基础技术之一。目前,应用在基于X86标准架构的PC服务器(以下简称X86服务器)上的虚拟化技术比较成熟,正在得到越来越广泛的应用。
X86服务器多采用底层硬件模拟技术实现虚拟化,利用虚拟机管理程序Hypervisor(也叫虚拟机监视器VMM-VirtualMachineMonitor)来模拟底层硬件的功能,为上层操作系统提供虚拟的运行环境-虚拟机。
Hypervisor是运行于物理服务器上的软件层,管理其上的虚拟机,帮助虚拟机分享物理服务器的硬件资源。通过Hypervisor的软件功能,将物理服务器中的CPU、内存、I/O等资源进行抽象化,将原先与具体物理服务器和物理设备绑定的资源转化为可以统一分配和管理的一组逻辑资源。Hypervisor实现从虚拟资源到物理资源的映射,当虚拟机中的操作系统通过指令访问系统资源时,Hypervisor将接管其请求,并进行相应的处理。
虚拟机为用户提供与原有物理服务器类似的运行环境,用于安装并使用操作系统和应用程序。虚拟服务器使用物理服务器的部分资源,在用户看来它与物理服务器的使用完全相同。从操作系统的角度来看,运行在虚拟机上与运行在其对应的物理服务器上几乎没有区别。
在企业级应用中,X86服务器虚拟化主要采用裸金属架构,即直接将Hypervisor安装在服务器硬件设备中,以获得服务器的最佳性能。Hypervisor运行在物理机的裸硬件上,充当主机操作系统,而由Hypervisor管理的虚拟机运行客户端操作系统(GuestOS)。
图1是目前的虚拟机部署示意图。
图1中,为了保证一个服务器集群的高可用性(HighAvailability,HA),X86服务器采用共享存储的方式实现虚拟化。
具体地,虚拟机以一个特定的文件封装格式储存在共享存储系统的磁盘上,虚拟化管理系统确定虚拟机启动时在哪个物理服务器上运行,并对各个物理服务器上的虚拟机监视器进行管理。
其中,共享存储系统是通过各种存储设备和网络设备形成的虚拟化环境中的集中存储,通常包括SAN、iSCSI、NAS等不同类型的共享存储设备。物理服务器通过SAN交换机或光纤、IP网络等连接相应的共享存储设备,当虚拟机启动时,虚拟化管理系统可以根据所需的策略选择在某个物理服务器上运行该虚拟机。
采取共享存储的方式实现X86服务器虚拟化存在如下缺点:
当一个服务器集群中同时运行的的虚拟机数量比较多时,受到共享存储的磁盘I/O能力限制,或者连接共享存储的网络带宽限制,当众多虚拟机同时访问共享存储时,各虚拟机会出现存储I/O性能降低的情况,导致存储成为整个系统的瓶颈。
另外,对于存储在共享存储设备上的虚拟机,无论其上是否运行存储密集型的应用,该虚拟机上的GuestOS都需要频繁的访问共享存储进行读写操作,也导致了虚拟机I/O性能降低。
发明内容
有鉴于此,本发明提供了一种虚拟机部署方法、系统和装置,从而提高虚拟机的I/O性能。
本发明的技术方案具体是这样实现的:
一种虚拟机部署方法,该方法包括:
识别虚拟机的是否高可用属性标签,根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上;
其中,所述是否高可用属性标签用于标识虚拟机是否是具有高可用属性。
一种虚拟机部署方法,该方法包括:
识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上;
在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区;
其中,在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
一种虚拟机部署系统,该系统包括属性配置模块和部署管理模块;
所述属性配置模块,用于根据虚拟机是否具有高可用属性,为所述虚拟机配置是否高可用属性标签;
所述部署管理模块,用于识别虚拟机的是否高可用属性标签,根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上。
一种虚拟机部署系统,该系统包括属性配置模块和部署管理模块;
所述属性配置模块,用于为在共享存储空间上存储映像文件的虚拟机配置缓存调度属性标签;
所述部署管理模块,用于识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区,其中,所述部署管理模块在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
一种虚拟机部署装置,该装置包括识别模块和部署模块;
所述识别模块,用于识别虚拟机的是否高可用属性标签;
所述部署模块,用于根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上。
一种虚拟机部署装置,该装置包括识别模块和部署模块;
所述识别模块,用于识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上;
所述部署模块,用于在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区,其中,所述部署模块在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
由上述技术方案可见,本发明根据虚拟机的是否高可用属性标签,在虚拟机不具有高可用属性时,将虚拟机的映像文件存储在物理服务器的本地存储空间,或者根据在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,将虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,由于充分利用了物理服务器本地的存储空间,避免了将所有虚拟机、或者所有虚拟机的操作系统缓存都存储在共享存储空间,从而避免了由于共享存储空间存储的虚拟机映像文件和操作系统缓存过多而导致的I/O性能降低问题,提高了虚拟机的I/O性能。
附图说明
图1是目前的虚拟机部署示意图。
图2是本发明提供的虚拟机映像文件在共享存储和本地存储之间部署的方法流程图。
图3是本发明提供的虚拟机映像文件在共享存储和本地存储之间调度的方法流程图。
图4是本发明提供的虚拟机的操作系统缓存在共享存储和本地存储之间部署的方法流程图。
图5是在虚拟机启动或重启时的操作系统缓存调度方法流程图。
图6是虚拟机进行在线迁移时的操作系统缓存调度方法流程图。
图7是当虚拟机关闭时的操作系统缓存调度方法流程图。
图8是本发明提供的虚拟机部署系统的组成示意图。
图9是本发明提供的虚拟机部署装置结构图。
图10是对虚拟机的操作系统缓存进行调度的示意图。
具体实施方式
本发明提供的技术方案,根据虚拟机的是否高可用属性标签,在虚拟机不具有高可用属性时,将虚拟机的映像文件存储在物理服务器的本地存储空间,或者根据在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,将虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,从而充分利用了物理服务器的本地存储空间,避免了将所有虚拟机和其操作系统缓存都存储在共享存储空间所导致的I/O性能降低问题。
另外,由于本发明提供的技术方案在虚拟机具有高可用属性时,将虚拟机的映像文件存储在共享存储空间上,因此,也能够保证服务器集群的高可用性:当集群中某个物理服务器出现故障时,在该物理服务器上运行的、具有高可用属性的虚拟机,由于其映像文件存储在共享存储空间上,因此能够在集群内的其他物理服务器上重新启动,虚拟机上的应用系统也能得到及时的恢复,并且,具有高可用属性的虚拟机还能够在集群内方便地进行在线迁移。
本发明对虚拟机在共享存储和物理服务器本地存储之间的部署和调度包含两个层面:其一,虚拟机映像文件在共享存储和本地存储之间的部署和调度,其二,对于映像文件存储在共享存储空间的虚拟机,其操作系统(GuestOS)的系统缓存在共享存储和本地存储之间的部署和调度。下面分别进行介绍:
图2是本发明提供的虚拟机映像文件在共享存储和本地存储之间部署的方法流程图。
如图2所示,该方法包括:
步骤201,识别虚拟机的是否高可用属性标签。
本步骤中,所述是否高可用属性标签用于标识虚拟机是否是具有高可用属性,通过预先为每个虚拟机进行配置得到。
步骤202,根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,执行步骤203,否则,执行步骤204。
步骤203,将该虚拟机的映像文件存储在共享存储空间上。
本步骤中,通过将虚拟机的映像文件存储在共享存储空间上,实现了将虚拟机部署在共享存储空间。
步骤204,将该虚拟机的映像文件存储在物理服务器的本地存储空间上。
本步骤中,通过将虚拟机的映像文件存储在物理服务器的本地存储空间上,实现了将虚拟机部署在物理服务器的本地存储空间。
图2所示方法中,在将该虚拟机的映像文件存储在物理服务器的本地存储空间上时,可以采用负载均衡或者节能省电的模式。
当采用负载均衡模式时,系统监控并计算每个物理服务器当前运行的虚拟机数量和/或系统负荷,根据所述虚拟机数量和/或系统负荷,优先将虚拟机部署在系统负荷较小的物理服务器上,以使整个虚拟化系统中的物理服务器的负荷相对均衡。其中,可以简单地根据虚拟机数量判断系统负荷,进而选择系统负荷较小的物理服务器,也可以根据具体的系统负荷监测值选择系统负荷较小的物理服务器,或者,也可以综合考虑虚拟机数量和具体的系统负荷监测值,选择系统负荷较小的物理服务器。
当采用节能省电模式时,系统仍然监控并计算每个物理机当前运行的虚拟机数量和/或系统负荷,优先将虚拟机部署在已经有一定数量虚拟机运行的物理服务器上,从而将没有虚拟机运行的物理服务器释放并关闭,以达到节能省电的目的。
图3是本发明提供的虚拟机映像文件在共享存储和本地存储之间调度的方法流程图。
如图3所示,该方法包括:
步骤301,监控虚拟机的是否高可用属性标签是否发生变更,如果虚拟机的是否高可用属性标签由不具有高可用属性变为具有高可用属性,执行步骤302,如果虚拟机的是否高可用属性标签由具有高可用属性变为不具有高可用属性,执行步骤303。
步骤302,将该虚拟机的映像文件从物理服务器的本地存储空间迁移至所述共享存储空间上。
步骤303,将该虚拟机的映像文件从所述共享存储空间迁移至物理服务器的本地存储空间上。
按照图3所示方法将虚拟机在共享存储空间和物理服务器的本地存储空间之间进行迁移时,仍然可以采用所述负载均衡或者节能省电的模式,此处不赘述。
本发明在将虚拟机的操作系统缓存在共享存储空间和物理服务器本地存储空间之间进行部署和调度时,需要预先为每个虚拟机新增缓存调度属性标签,该属性标签可以包括进行缓存调度,不进行缓存调度和系统自动三种取值,该属性标签仅对其映像文件存储在共享存储上的虚拟机有效。
图4是本发明提供的虚拟机的操作系统缓存在共享存储和本地存储之间部署的方法流程图。
如图4所示,该方法包括:
步骤401,识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签。
步骤402,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上。
步骤403,在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区。
其中,在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
下面针对缓存调度标签的不同取值,对其缓存调度的具体方法进行介绍。
当缓存调度标签取值为进行缓存调度时,虚拟机操作系统缓存的调度方法流程参见图5~图7。
图5是在虚拟机启动或重启时的操作系统缓存调度方法流程图。
如图5所示,该流程包括:
步骤501,根据资源分配策略在相应的物理服务器上,从共享存储中载入需要启动的虚拟机映像文件。
步骤502,根据虚拟机GuestOS上设置的系统缓存大小要求,在物理服务器本地存储事先划分的区域中分配相应的存储空间。
步骤503,将虚拟机GuestOS的系统缓存指向分配好的物理服务器本地存储,对于Windows操作系统,将页面文件,对于Linux操作系统,将交换分区或交换文件储存在虚拟机运行的物理服务器的本地存储上。
当虚拟机完全启动以后,虚拟机操作系统的其他内容与应用程序仍然储存于共享存储空间。
图6是虚拟机进行在线迁移时的操作系统缓存调度方法流程图。
如图6所示,该流程包括:
步骤601,根据虚拟机GuestOS的系统缓存大小要求,在目标物理服务器本地存储事先划分的区域中分配相应的存储空间。
步骤602,对虚拟机进行迁移,在拷贝虚拟机内存的同时,将虚拟机在原物理服务器本地存储上的系统缓存拷贝至目标物理服务器上分配好的本地存储中。
步骤603,释放虚拟机在原物理服务器本地存储中的系统缓存空间。
图7是当虚拟机关闭时的操作系统缓存调度方法流程图。其中,对于虚拟化系统,虚拟机关闭状态通常为系统休眠状态。
如图7所示,该流程包括:
步骤701,将虚拟机的所有相关内容在共享存储上对应的映像文件中进行保存。
步骤702,释放虚拟机在物理服务器本地存储上的系统缓存空间。
当缓存调度标签取值为不进行缓存调度时,虚拟化系统按照传统的运行方式,不对虚拟机的GuestOS系统缓存进行调度操作,虚拟机的操作系统缓存仍然储存于共享存储上。
当缓存调度标签取值为自动进行缓存调度时,需要对虚拟机的磁盘I/O性能数据进行监控、收集和分析。当虚拟机的磁盘I/O性能出现瓶颈,达到预设的上限,和/或占用共享存储带宽过多,达到预设的上限时,将虚拟机GuestOS的系统缓存从共享存储转移至该虚拟机所运行的物理服务器的本地存储上。系统缓存调度的具体方法与缓存调度标签取值为进行缓存调度时相同。
当缓存调度标签取值为自动进行缓存调度时,本发明还可以在虚拟机的磁盘I/O减少,达到预设的下限,和/或占用共享存储带宽较小,达到预设的下限时,将虚拟机GuestOS的系统缓存从该虚拟机所运行的物理服务器的本地存储转移至共享存储上。
由于虚拟机在其物理服务器本地存储上储存的是系统缓存,与其使用的物理服务器的物理内存情况类似,不包含虚拟机内重要的应用数据与操作系统数据。当需要对虚拟机进行故障重启或者在线迁移等操作时,虚拟机的系统缓存可以很容易的在集群内任意物理服务器的本地存储上重启或拷贝,不会影响集群系统的高可用性。
本发明采用共享存储与本地存储相结合的方法,对虚拟机的映像文件或虚拟机的操作系统缓存进行部署和调度,从而提高虚拟机的I/O性能。
在实际虚拟机系统中,可以通过在虚拟机系统中增加配置模块,用于为虚拟机配置相应的属性标签,在虚拟机系统中的虚拟化管理系统中和/或虚拟机监视器中增加部署管理模块,用于根据所述属性标签来进行虚拟机的部署和调度,来实现本发明提供的虚拟机部署和调度方法,具体请参见图8。
图8是本发明提供的虚拟机部署系统的组成示意图。
如图8所示,在虚拟化管理系统增加了部署管理模块801、在Hypervisor中增加了部署管理模块802,用于实现本发明中根据属性标签对虚拟机或者其操作系统缓存在共享存储和本地存储之间进行调度的功能。在图8所示系统中,还存在配置模块(图8未示出),所述配置模块可以部署在虚拟化管理系统中,也可以部署在Hypervisor中,用于为虚拟机配置属性标签。
当根据虚拟机的是否高可用属性标签,对虚拟机在共享存储和本地存储之间进行调度时,可以只在虚拟化管理系统中增加部署管理模块801。
所述属性配置模块,用于根据虚拟机是否具有高可用属性,为所述虚拟机配置是否高可用属性标签。
部署管理模块801,用于识别虚拟机的是否高可用属性标签,根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上。
部署管理模块801,用于监控并计算每个物理服务器当前的系统负荷和/或当前运行的虚拟机数量,在虚拟机不具有高可用属性时,根据每个物理服务器当前的系统负荷和/或当前运行的虚拟机数量,依据系统负载均衡原则或节能省电原则选择物理服务器,将所述虚拟机的映像文件存储在选定的物理服务器上。
部署管理模块801,用于监控虚拟机的是否高可用属性标签是否发生变更,在虚拟机的是否高可用属性标签由不具有高可用属性变为具有高可用属性时,将该虚拟机的映像文件从物理服务器的本地存储空间迁移至所述共享存储空间上,在虚拟机的是否高可用属性标签由具有高可用属性变为不具有高可用属性时,将该虚拟机的映像文件从所述共享存储空间迁移至物理服务器的本地存储空间上。
当根据虚拟机的缓存调度属性标签,对虚拟机的操作系统缓存在共享存储和本地存储之间进行调度时,通常需要在虚拟化管理系统中增加部署管理模块801、并在虚拟机监视器中增加部署管理模块802,也可以仅在虚拟化管理系统中增加部署管理模块801、或仅在虚拟机监视器中增加部署管理模块802。具体地:
所述属性配置模块,用于为在共享存储空间上存储映像文件的虚拟机配置缓存调度属性标签。
部署管理模块,用于识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区,其中,所述部署管理模块在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
所述部署管理模块,用于在所述缓存调度属性标签为进行缓存调度时,将映像文件存储在共享存储空间的虚拟机的操作系统缓存,调度到该虚拟机当前运行的物理服务器的本地存储空间上;或者,在所述缓存调度属性标签为不进行缓存调度时,将映像文件存储在共享存储空间的虚拟机的操作系统缓存,也存储在共享存储空间;或者,在所述缓存调度属性标签为自动进行缓存调度时,对映像文件存储在共享存储空间的虚拟机的磁盘I/O性能数据和/或占用的共享存储带宽进行监控和分析,在所述磁盘I/O性能数据达到预设上限值、和/或所述占用的共享存储带宽达到预设上限值时,将所述虚拟机的操作系统缓存从共享存储空间调度到所述虚拟机当前运行的物理服务器的本地存储空间,和/或,在所述磁盘I/O性能数据达到预设下限值、和/或所述占用的共享存储带宽达到预设下限值时,将所述虚拟机的操作系统缓存从所述虚拟机当前运行的物理服务器的本地存储空间调度到共享存储空间。
当在虚拟化管理系统中增加部署管理模块801、并在虚拟机监视器中增加部署管理模块802时:
部署管理模块801,用于识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在每台物理服务器的本地存储空间中,划分专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
部署管理模块802,用于在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区。
部署管理模块801,可以具体用于在所述缓存调度属性标签为进行缓存调度时,判定需要将映像文件存储在共享存储空间的虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,在所述缓存调度属性标签为不进行缓存调度时,判定不需要将映像文件存储在共享存储空间的虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,在所述缓存调度属性标签为自动进行缓存调度时,对映像文件存储在共享存储空间的虚拟机的磁盘I/O性能数据和/或占用的共享存储带宽进行监控和分析,在所述磁盘I/O性能数据达到预设上限值、和/或所述占用的共享存储带宽达到预设上限值时,判定需要将所述虚拟机的操作系统缓存从共享存储空间调度到所述虚拟机当前运行的物理服务器的本地存储空间,和/或,在所述磁盘I/O性能数据达到预设下限值、和/或所述占用的共享存储带宽达到预设下限值时,判定需要将所述虚拟机的操作系统缓存从所述虚拟机当前运行的物理服务器的本地存储空间调度到共享存储空间。
部署管理模块802,还可以用于在需要将所述虚拟机的操作系统缓存从所述虚拟机当前运行的物理服务器的本地存储空间调度到共享存储空间时,将所述虚拟机的操作系统缓存存储在所述共享存储空间,并释放所述虚拟机的操作系统缓存在物理服务器上占用的本地存储空间。
本发明还提供了虚拟机部署装置,具体请参见图9。
图9是本发明提供的虚拟机部署装置结构图。
如图9所示,该虚拟机部署装置包括识别模块901和部署模块902。
识别模块901,用于识别虚拟机的是否高可用属性标签。
部署模块902,用于根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上。或者:
识别模块901,用于识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上。
部署模块902,用于在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区,其中,所述部署模块在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
由上述方案可见,本发明通过在X86等虚拟化系统的虚拟化管理中新增模块,为每一个虚拟机新增是否需要高可用的属性标签,新增模块根据所述属性标签对虚拟机在共享存储和本地存储之间进行调度,既满足了X86虚拟化系统的高可用性需求,又解决了现有系统采用共享存储时的I/O瓶颈问题,还充分利用了物理服务器的本地存储。
本发明通过在X86等虚拟化系统的虚拟化管理和物理服务器的Hypervisor中新增模块,为每个在共享存储上存储映像文件的虚拟机新增是否进行缓存调度的属性标签,新增模块对在共享存储上存储映像文件的虚拟机的GuestOS缓存迁移至本地存储进行相应的管理,具体请参见图10。
图10是对虚拟机的操作系统缓存进行调度的示意图。
如图10所示,当虚拟机进行缓存调度时,虚拟机按照其事先设置好的存储路径或位置,在其运行的物理服务器的本地存储上生成所需的缓存文件或分区,维持虚拟机GuestOS的正常运行。其中,对于GuestOS为Windows操作系统的虚拟机,其系统缓存为页面文件(Pagefile);对于GuestOS为Linux操作系统的虚拟机,其系统缓存为交换分区(SWAP)或交换文件。
其中,系统在配置虚拟机时,通过虚拟化管理系统中新增的部署管理模块进行设置,在集群中每台物理服务器的本地存储中划分专门的存储区域,用于存放本机上运行的虚拟机GuestOS的虚拟内存,并对虚拟机的启动、迁移、关闭、重启等操作进行相应的管理操作。
由于虚拟机GuestOS对共享存储的操作主要集中在对操作系统缓存的读写,操作系统缓存在传统架构下与虚拟机的其他内容共同存储于共享存储上,虚拟机的操作系统在运行时需要频繁的对系统缓存进行读写操作,占用了共享存储的部分I/O能力。
本发明采用将虚拟机GuestOS操作系统的缓存迁移至本地存储的方法,将原先与虚拟机和其GuestOS存储位置绑定的系统缓存分离,通过将磁盘操作密集的操作系统级存储操作转移至本地存储,减少虚拟机对共享存储的磁盘操作数量,从而降低共享存储出现访问瓶颈的概率,提升整个系统的虚拟机存储I/O性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种虚拟机部署方法,其特征在于,该方法包括:
识别虚拟机的是否高可用属性标签,根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上;
其中,所述是否高可用属性标签用于标识虚拟机是否是具有高可用属性。
2.根据权利要求1所述的方法,其特征在于,所述将该虚拟机的映像文件存储在物理服务器的本地存储空间上包括:
监控并计算每个物理服务器当前的系统负荷和/或当前运行的虚拟机数量,根据每个物理服务器当前的系统负荷和/或当前运行的虚拟机数量,依据系统负载均衡原则或节能省电原则选择物理服务器,将所述虚拟机的映像文件存储在选定的物理服务器上。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
监控虚拟机的是否高可用属性标签是否发生变更;
在虚拟机的是否高可用属性标签由不具有高可用属性变为具有高可用属性时,将该虚拟机的映像文件从物理服务器的本地存储空间迁移至所述共享存储空间上;
在虚拟机的是否高可用属性标签由具有高可用属性变为不具有高可用属性时,将该虚拟机的映像文件从所述共享存储空间迁移至物理服务器的本地存储空间上。
4.根据权利要求1所述的方法,其特征在于,该方法还包括:
识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上;
在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区;
其中,在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
5.根据权利要求4所述的方法,其特征在于,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上包括:
在所述缓存调度属性标签为进行缓存调度时,将映像文件存储在共享存储空间的虚拟机的操作系统缓存,调度到该虚拟机当前运行的物理服务器的本地存储空间上;
或者,在所述缓存调度属性标签为不进行缓存调度时,将映像文件存储在共享存储空间的虚拟机的操作系统缓存,也存储在共享存储空间;
或者,在所述缓存调度属性标签为自动进行缓存调度时,对映像文件存储在共享存储空间的虚拟机的磁盘I/O性能数据和/或占用的共享存储带宽进行监控和分析;在所述磁盘I/O性能数据达到预设上限值、和/或所述占用的共享存储带宽达到预设上限值时,将所述虚拟机的操作系统缓存从共享存储空间调度到所述虚拟机当前运行的物理服务器的本地存储空间;和/或,在所述磁盘I/O性能数据达到预设下限值、和/或所述占用的共享存储带宽达到预设下限值时,将所述虚拟机的操作系统缓存从所述虚拟机当前运行的物理服务器的本地存储空间调度到共享存储空间。
6.一种虚拟机部署系统,其特征在于,该系统包括属性配置模块和部署管理模块;
所述属性配置模块,用于根据虚拟机是否具有高可用属性,为所述虚拟机配置是否高可用属性标签;
所述部署管理模块,用于识别虚拟机的是否高可用属性标签,根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上。
7.根据权利要求6所述的系统,其特征在于,
所述部署管理模块,用于监控并计算每个物理服务器当前的系统负荷或当前运行的虚拟机数量,在虚拟机不具有高可用属性时,根据每个物理服务器当前的系统负荷和/或当前运行的虚拟机数量,依据系统负载均衡原则或节能省电原则选择物理服务器,将所述虚拟机的映像文件存储在选定的物理服务器上。
8.根据权利要求6或7所述的系统,其特征在于,
所述部署管理模块,用于监控虚拟机的是否高可用属性标签是否发生变更,在虚拟机的是否高可用属性标签由不具有高可用属性变为具有高可用属性时,将该虚拟机的映像文件从物理服务器的本地存储空间迁移至所述共享存储空间上,在虚拟机的是否高可用属性标签由具有高可用属性变为不具有高可用属性时,将该虚拟机的映像文件从所述共享存储空间迁移至物理服务器的本地存储空间上。
9.根据权利要求6所述的系统,其特征在于,
所述属性配置模块,还用于为在共享存储空间上存储映像文件的虚拟机配置缓存调度属性标签;
所述部署管理模块,还用于识别在共享存储空间上存储映像文件的虚拟机的缓存调度属性标签,根据所述缓存调度属性标签,判断是否需要将该虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上,在需要将所述虚拟机的操作系统缓存调度到该虚拟机当前运行的物理服务器的本地存储空间上时,在该物理服务器预先划分的专门存储区域上,生成该虚拟机的操作系统缓存文件或分区,其中,所述部署管理模块在每台物理服务器的本地存储空间中,预先划分有专门存储区域,用于存储在该物理服务器上运行的虚拟机的操作系统缓存。
10.一种虚拟机部署装置,其特征在于,该装置包括识别模块和部署模块;
所述识别模块,用于识别虚拟机的是否高可用属性标签;其中,所述是否高可用属性标签用于标识虚拟机是否是具有高可用属性;
所述部署模块,用于根据所述是否高可用属性标签,判断该虚拟机是否具有高可用属性,如果是,将该虚拟机的映像文件存储在共享存储空间上,否则,将该虚拟机的映像文件存储在物理服务器的本地存储空间上。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610370615.2A CN106095524B (zh) | 2011-12-22 | 2011-12-22 | 一种虚拟机部署方法、系统和装置 |
CN201110435661.3A CN103176845B (zh) | 2011-12-22 | 2011-12-22 | 一种虚拟机部署方法、系统和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110435661.3A CN103176845B (zh) | 2011-12-22 | 2011-12-22 | 一种虚拟机部署方法、系统和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610370615.2A Division CN106095524B (zh) | 2011-12-22 | 2011-12-22 | 一种虚拟机部署方法、系统和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103176845A CN103176845A (zh) | 2013-06-26 |
CN103176845B true CN103176845B (zh) | 2016-07-06 |
Family
ID=48636746
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610370615.2A Active CN106095524B (zh) | 2011-12-22 | 2011-12-22 | 一种虚拟机部署方法、系统和装置 |
CN201110435661.3A Active CN103176845B (zh) | 2011-12-22 | 2011-12-22 | 一种虚拟机部署方法、系统和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610370615.2A Active CN106095524B (zh) | 2011-12-22 | 2011-12-22 | 一种虚拟机部署方法、系统和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN106095524B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103389884A (zh) | 2013-07-29 | 2013-11-13 | 华为技术有限公司 | 处理输入/输出请求的方法、宿主机、服务器和虚拟机 |
CN103412828B (zh) * | 2013-08-13 | 2016-12-28 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN104699521B (zh) * | 2013-12-05 | 2017-12-01 | 中国移动通信集团公司 | 一种虚拟机在线迁移的方法、系统及装置 |
CN105022658B (zh) * | 2014-04-30 | 2019-03-05 | 中国移动通信集团公司 | 一种虚拟机迁移方法、系统及相关装置 |
CN105306285B (zh) * | 2014-05-29 | 2018-12-18 | 中国移动通信集团公司 | 虚机迁移时的邻节点时延检测方法及系统 |
CN105577904B (zh) * | 2015-03-27 | 2019-04-12 | 酷派软件技术(深圳)有限公司 | 一种文件共享方法及移动终端 |
CN106528263B (zh) * | 2016-10-21 | 2019-08-02 | 郑州云海信息技术有限公司 | 虚拟化环境中向虚拟机注入元信息并进行初始化的方法 |
CN108475201B (zh) * | 2016-11-24 | 2021-02-26 | 华为技术有限公司 | 一种虚拟机启动过程中的数据获取方法和云计算系统 |
CN107544868B (zh) * | 2017-05-11 | 2020-06-09 | 新华三云计算技术有限公司 | 数据恢复方法和装置 |
CN107145310A (zh) * | 2017-05-24 | 2017-09-08 | 珠海金山网络游戏科技有限公司 | 一种实现网络存储io瓶颈优化的方法、装置及系统 |
CN107506230B (zh) * | 2017-07-27 | 2020-10-27 | 努比亚技术有限公司 | 一种应用程序试用方法、设备及计算机可读存储介质 |
CN110908609B (zh) * | 2019-11-22 | 2021-09-17 | 苏州浪潮智能科技有限公司 | 一种磁盘处理的方法、系统、设备及可读存储介质 |
CN112000606A (zh) * | 2020-07-22 | 2020-11-27 | 中国建设银行股份有限公司 | 适用于部署应用集群的计算机集群和基础设施集群 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
CN101452406A (zh) * | 2008-12-23 | 2009-06-10 | 北京航空航天大学 | 一种对操作系统透明的机群负载平衡方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US20060143256A1 (en) * | 2004-12-28 | 2006-06-29 | Galin Galchev | Cache region concept |
US7624240B1 (en) * | 2006-10-17 | 2009-11-24 | Vmware, Inc. | Separate swap files corresponding to different virtual machines in a host computer system |
US8832683B2 (en) * | 2009-11-30 | 2014-09-09 | Red Hat Israel, Ltd. | Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine |
US8327060B2 (en) * | 2009-11-30 | 2012-12-04 | Red Hat Israel, Ltd. | Mechanism for live migration of virtual machines with memory optimizations |
CN101763226B (zh) * | 2010-01-19 | 2012-05-16 | 北京航空航天大学 | 一种虚拟存储设备的缓存方法 |
-
2011
- 2011-12-22 CN CN201610370615.2A patent/CN106095524B/zh active Active
- 2011-12-22 CN CN201110435661.3A patent/CN103176845B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
CN101452406A (zh) * | 2008-12-23 | 2009-06-10 | 北京航空航天大学 | 一种对操作系统透明的机群负载平衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103176845A (zh) | 2013-06-26 |
CN106095524B (zh) | 2019-04-02 |
CN106095524A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103176845B (zh) | 一种虚拟机部署方法、系统和装置 | |
US10437727B2 (en) | Transparent host-side caching of virtual disks located on shared storage | |
US20180165166A1 (en) | Maintaining high availability during n-node failover | |
US8019861B2 (en) | Speculative virtual machine resource scheduling | |
US9239765B2 (en) | Application triggered state migration via hypervisor | |
Graubner et al. | Energy-efficient virtual machine consolidation | |
US9582221B2 (en) | Virtualization-aware data locality in distributed data processing | |
US8601201B2 (en) | Managing memory across a network of cloned virtual machines | |
US20200012443A1 (en) | Flexible deprovisioning of distributed storage | |
US11579908B2 (en) | Containerized workload scheduling | |
US20160205179A1 (en) | Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management | |
TW201439898A (zh) | 用於在一支持虛擬機器之快閃爲基礎之快取解法中之動態快取分享之系統,方法及電腦可讀媒體 | |
CN102073462A (zh) | 虚拟存储迁移方法、系统和虚拟机监控器 | |
US11126461B2 (en) | Techniques for container scheduling in a virtual environment | |
KR20160025606A (ko) | 데이터 프로세싱 | |
CN106471469A (zh) | 在虚拟化信息处理系统中的输入/输出加速 | |
KR20220080029A (ko) | 비용-효율적 고-가용성 다중-단일-테넌트 서비스들 | |
US20220050722A1 (en) | Memory pool management | |
CN106445691A (zh) | 一种面向虚拟化云计算平台的内存优化的方法 | |
CN105900066A (zh) | 计算机以及基于管理程序的资源调度方法 | |
CN110447019B (zh) | 存储器分配管理器及由其执行的用于管理存储器分配的方法 | |
US20210157626A1 (en) | Prioritizing booting of virtual execution environments | |
Tan et al. | Optimizing virtual machine live migration in distributed edge servers based on hybrid memory | |
CN108334401B (zh) | 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法 | |
US20240160354A1 (en) | Node cache migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |