CN105718280A - 一种加速虚拟机io的方法和管理平台 - Google Patents
一种加速虚拟机io的方法和管理平台 Download PDFInfo
- Publication number
- CN105718280A CN105718280A CN201510355786.3A CN201510355786A CN105718280A CN 105718280 A CN105718280 A CN 105718280A CN 201510355786 A CN201510355786 A CN 201510355786A CN 105718280 A CN105718280 A CN 105718280A
- Authority
- CN
- China
- Prior art keywords
- physical machine
- image file
- virtual machine
- target physical
- machine
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供一种加速虚拟机IO的方法和管理平台,包括:根据虚拟机的操作系统类型匹配至少一台具有相同操作系统类型的物理机,然后根据预设的资源使用策略或随机从中选出用于启动所述虚拟机的一台目标物理机;将虚拟机的镜像文件缓存至目标物理机的内存并锁定;在接收到虚拟机的启动请求时,读取目标物理机的内存中的镜像文件以在目标物理机上启动虚拟机,其中,镜像文件至少包括虚拟机的操作系统文件。根据虚拟机的镜像文件与物理机的亲和性,将虚拟机启动到与其最匹配的目标物理机上,且在虚拟机启动之前,其启动所需的镜像文件已预缓存至目标物理机的内存中,这使得虚拟机在启动时直接读取目标物理机内存中的镜像文件,提高了启动速度。
Description
技术领域
本发明实施例涉及云计算技术领域,尤其涉及一种加速虚拟机IO的方法和管理平台。
背景技术
随着云计算的兴起,人们越来越多的使用虚拟化方案来搭建自己的基础平台。虚拟化的优势明显,大规模、自动化、高可用、高效的资源利用率,作为基础平台,其较好的通用性可满足上层的需求。
虚拟化中的存储包括本地存储、网络存储。本地存储就是把数据存放在机器的本地硬盘;网络存储就是把数据存放在其他网络机器,或者专门的存储设备,或者集群文件系统,要访问数据就必须通过网络。虚拟机启动时会读取磁盘镜像,如果大量的用户同时启动,特别是当启动不同类型虚拟机的话,虚拟机的启动就会很慢,而且影响所有虚拟机的性能,这种现象就叫“启动风暴”。
启动风暴的根本原因是本地硬盘的读取速度慢而导致总的IOPS(每秒进行I/O操作的次数)无法满足当时的启动需求,如果按照最高能满足需求的IOPS来搭建硬件,无疑会增加大量的成本,而且无法充分有效的利用这些硬件资源,因为在高峰期之外,硬件资源会闲置。现有技术中,提供了一些办法来避免“启动风暴”,例如采用分时段启动虚拟机、用价格昂贵的SSD(固态硬盘)来提高IOPS。但是分时段启动无法满足用户对启动时间的要求,SSD的成本太高,而且这两种办法中虚拟机启动时依然需要读取本地硬盘,整体性能还是无法提高。
发明内容
本发明实施例提供一种围绕附件列表展开的快捷操作方法及其系统,用以解决现有技术中附件显示不清晰并且无法实现通过触发附件直接查看相应邮件的缺陷,实现快速查找。
本发明实施例提供一种加速虚拟机IO的方法和管理平台,以克服现有技术中同时启动多台虚拟机时由于IOPS无法满足启动需求而造成启动风暴的问题。
本发明实施例提供一种加速虚拟机IO的方法,包括:
根据虚拟机的操作系统类型匹配至少一台具有相同操作系统类型的物理机,然后根据预设的资源使用策略或随机从中选出用于启动所述虚拟机的一台目标物理机;
将所述虚拟机的镜像文件缓存至所述目标物理机的内存并锁定;
在接收到所述虚拟机的启动请求时,读取所述目标物理机的内存中的所述镜像文件以在所述目标物理机上启动所述虚拟机,其中,所述镜像文件至少包括所述虚拟机的操作系统文件。
本发明实施例提供一种加速虚拟机IO的管理平台,包括:
资源调度模块,用于根据虚拟机的操作系统类型匹配至少一台具有相同操作系统类型的物理机,然后根据预设的资源使用策略或随机从中选出用于启动所述虚拟机的一台目标物理机;
预缓存模块,用于将所述虚拟机的镜像文件缓存至所述目标物理机的内存并锁定;
读取启动模块,在接收到所述虚拟机的启动请求时,读取所述目标物理机的内存中的所述镜像文件以在所述目标物理机上启动所述虚拟机,其中,所述镜像文件至少包括所述虚拟机的操作系统文件。
本发明提供的加速虚拟机IO的方法和管理平台,根据虚拟机的镜像文件与物理机的亲和性,将虚拟机启动到与其最匹配的目标物理机上;且在虚拟机启动之前,其启动所需的镜像文件已经预缓存至目标物理机的内存中,这使得虚拟机在启动时无需再读取本地硬盘或者网络上的镜像文件,而是直接读取目标物理机内存中的镜像文件,加速了虚拟机的IO,大大提高了启动速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的加速虚拟机IO的方法流程图;
图2为本发明第二实施例的加速虚拟机IO的方法流程图;
图3为本发明加速虚拟机IO的管理平台的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种加速虚拟机IO的方法和管理平台。该方法根据虚拟机的操作系统类型,选出与虚拟机具备亲和性的物理机,并根据这些物理机的资源利用率选出最合适的一台目标物理机,虚拟机不再随机分散启动到不同的物理机上,而是启动到选出的目标物理机上,这避免了大量的随机IO,实现了合理的资源调度;该方法还采用cache机制,将虚拟机的镜像文件的热数据保留在目标物理机的内存中,并根据虚拟机的启动情况动态调整镜像文件在cache中的大小,不仅大大提高了虚拟机IO的读写速度,且可节省内存、节省网络带宽。
为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明进行进一步的详细说明。
参考图1,图1是本发明第一实施例的加速虚拟机IO的方法流程图。
步骤101,根据虚拟机的操作系统类型匹配至少一台具有相同操作系统类型的物理机,然后根据预设的资源使用策略或随机从中选出用于启动所述虚拟机的一台目标物理机。
虚拟机和物理机的操作系统类型可划分为Windows、Linux、BSD等,甚至可以划分的更细致,基于每个发行版的具体版本,如WindowsXP1、WindowsXP2、WIN7、Centons5、Centons6、Centons7、Fedora、Ubuntu等,如果虚拟机与物理机的操作系统类型一致,则定义虚拟机和物理机之间有亲和性,例如,当启动一个LINUX操作系统的虚拟机时,会根据所述虚拟机操作系统的类型选出所有操作系统类型是LINUX(label=linux)的物理机,根据该亲和性判断策略选出的具备亲和性的物理机可能为一台,也可能为多台。如果为一台,则直接将该台物理机确定为目标物理机,如果为多台,则再根据预设的资源使用策略或随机从中选出最合适的一台目标物理机。
其中,从具备亲和性的物理机中选中一台目标物理机的过程是资源均衡分配和利用的过程。本发明提供的选择方式包括随机选择或根据预设的资源使用策略选择。随机选择即不考虑物理机的资源利用率,而随机地从所述具备亲和性的物理机中选中一台目标物理机。所述预设的资源使用策略包括:最大利用资源策略或均衡利用资源策略,具体地,将选出的具备亲和性的物理机根据资源利用率进行排序,在安全范围内(物理机的内存和CPU须满足所述虚拟机启动的条件),从资源利用率大于预定阙值的具备亲和性的物理机中选出一台目标物理机,例如,可随机选中,也可以选中资源利用率最高的一台物理机作为目标物理机,该策略可最大可能的利用一部分物理机的资源,从而节省出一部分物理机的资源,达到节约成本的目的;或者,从资源利用率小于预定阙值的具备亲和性的物理机中选出一台目标物理机,例如,可随机选中,也可以选中资源利用率最低的一台物理机作为目标物理机,该策略可防止资源竞争,避免物理机过载。其中,所述预定阙值由用户设定,例如可设定为50%。对于本发明提供的上述选择方式,可根据用户的需要和目的进行选择。
所述虚拟机将启动到根据上述资源调度策略选出的目标物理机上,当有多台虚拟机同时启动时,不再是随机选择物理机进行寄宿启动,而是有目标地启动到最合适的目标物理机上,这不仅杜绝了大量的随机IO,可将虚拟机启动到与其操作系统类型一致的目标物理机环境中,大大提高了虚拟机的启动速度。
步骤102,将所述虚拟机的镜像文件缓存至所述目标物理机的内存并锁定。
启动虚拟机之前,将所述虚拟机的镜像文件预缓存在所述目标物理机的内存中,此后所有对所述镜像文件的读写操作都在所述目标物理机的内存中进行,这可大大提高虚拟机IO的读写速度。预缓存的过程如下:
预判断所述目标物理机的内存中是否已经缓存有所述虚拟机的镜像文件,如果未缓存,则将所述虚拟机的镜像文件缓存到所述目标物理机的内存中。
具体地,首先,判断所述目标物理机中是否存在所述镜像文件,例如可能存储在目标物理机的物理硬盘中,当然本发明的实现方式并不限于硬盘这一种形态,如果不存在,则从管理平台中下载所述镜像文件;然后,设定所述目标物理机中用于缓存所述镜像文件的缓存空间,并获取所述镜像文件的文件路径,将所述镜像文件缓存至所述目标物理机上设定的所述缓存空间中。其中,所述缓存空间的大小可根据目标物理机内存的大小、所述镜像文件的大小来决定,本发明中所述缓存空间的大小是动态调整的,因此,初始设定的所述缓存空间可稍大一些,虚拟机启动后,缓存空间会被释放,不会一直占用目标物理机的内存。
预缓存过程完成后,将所述虚拟机的镜像文件锁定在所述目标物理机的内存中,使得所述镜像文件在所述虚拟机启动过程中驻留在所述缓存空间中,保证虚拟机的快速启动。
步骤103,在接收到所述虚拟机的启动请求时,读取所述目标物理机的内存中的所述镜像文件以在所述目标物理机上启动所述虚拟机,其中,所述镜像文件至少包括所述虚拟机的操作系统文件。
所述虚拟机启动所需的镜像文件已预缓存在所述目标物理机的内存中,当接收到所述虚拟机的启动请求时,可直接读取所述目标物理机内存中的所述镜像文件,从而完成所述虚拟机的快速启动。虚拟机的镜像文件包括操作系统文件和其它数据文件,操作系统文件相当于虚拟机的系统盘,因此为保证虚拟机的正常启动必须将其预缓存在目标物理机中,而其它数据文件则相当于虚拟机的数据盘,对虚拟机的启动无影响,但为了提高虚拟机的数据访问速度,也可将其预缓存在物理机内存中,这可根据目标物理机的资源利用量决定。
参考图2,图2是本发明第一实施例的加速虚拟机IO的方法流程图,在第一实施例步骤101~103的基础上,还包括:
步骤104,捕捉对所述镜像文件的读操作,并在所述读操作完成后更新目标物理机的内存中缓存的所述镜像文件的查询时间和热度。
多台虚拟机可能对应同一台目标物理机,所述多台虚拟机启动时都需要读取所述目标物理机的内存中的所述镜像文件,也就是所述镜像文件可能要被读取多次;而也有可能所述目标物理机在亲和性上仅对应一台虚拟机,而这台虚拟启动后就不会再有其它虚拟机启动到所述目标物理机上了。因此,可通过捕捉虚拟机启动时对所述镜像文件的读操作,来实时地更新所述目标物理机的内存中的所述镜像文件的查询时间和热度。
当虚拟机发起对所述镜像文件的读操作请求时,首先查询所述镜像文件是否缓存在所述目标物理机的内存中,如果已缓存,所述虚拟机可直接读取所述镜像文件并在读取完成后生成回调函数,回调函数更新所述镜像文件的查询时间和热度;如果未缓存,所述虚拟机会继续访问目标物理机的物理硬盘或者网络获取所述镜像文件,并生包含未命中信息的回调函数,回调函数会自动将所述镜像文件缓存至物理机的内存中设定的缓存空间内,并更新所述镜像文件的查询时间和热度。之所以要进行所述镜像文件是否已缓存在所述目标物理机的内存中的查询动作,是因为,本发明中会根据所述镜像文件的查询时间和热度对所述镜像文件中的旧数据进行删除(后文步骤105会详细说明),因此,可能出现,所述镜像文件被删除后,某台虚拟机启动却需要读取所述镜像文件,这种情况下就需要进行所述镜像文件的再次缓存。
步骤105,根据所述镜像文件的查询时间和热度释放所述目标物理机的内存中用于加载所述镜像文件的缓存空间。具体的释放过程为:
检测所述目标物理机中所述缓存空间内的所有镜像文件,当所有镜像文件的查询时间和热度均为0时,则完全释放所述缓存空间,对所述镜像文件的查询时间和热度的更新是实时的,当所有虚拟机都启动后,即不会再有虚拟机对所述缓存空间内的所述镜像文件进行读操作时,则所有镜像文件的查询时间和热度都被更新为0,所有镜像文件可被删除以将所述缓存空间释放;
当查询时间和热度不为0的镜像文件数量小于预定门限时,则将与查询时间和热度不为0的所述镜像文件相关的虚拟机迁移到其它物理机上启动,并完全释放所述缓存空间。其中所述查询时间和热度不为0的镜像文件是指近期、被频繁访问的镜像文件,预定门限是指所述缓存空间中多数镜像文件的查询时间和热度为0,只有少数镜像文件的查询时间和热度不为0,当这些少数镜像文件的数量小于预定值时,例如可以是1,也会进行缓存空间的释放,释放的方式是将与这些查询时间和热度不为0的镜像文件相关的虚拟机迁移到其它物理机上启动,其它物理机必然不包括当前的所述目标物理机。迁移的过程是对上述步骤101~103的循环操作,即需要根据亲合度重新选出新的目标物理机。迁移的目的是节省资源,例如,随着大量虚拟机的启停,最后两台虚拟机分别被匹配到两台物理机上启动,而两台物理机的资源利用率都不高,这时可根据上述迁移过程将两台虚拟机启动到其中一台物理机上,而将另一台物理机关机。
下面以一台Linux操作系统的虚拟机(以下简称linux虚拟机)为例,进行实施例的详细说明。
根据用户操作,管理平台根据亲和性判断策略选出4台与所述linux虚拟机具有相同LINUX操作系统的物理机,然后检测这些物理机的资源利用率,命中其中一台负载最少、内存和CPU占用量最小的物理机为目标物理机;
将所述linux虚拟机启动所需的操作系统文件预缓存到所述目标物理机的内存中并锁定,
具体的预缓存过程为:预判断所述目标物理机的内存中是否已经缓存有所述操作系统文件,如果未缓存,则从管理平台中下载所述操作系统文件;获取到所述操作系统文件后,根据Linux操作系统的cache管理机制,在目标物理机的内存中设定用于预缓存所述操作系统文件的cache空间,将所述操作系统文件缓存至所述目标物理机上设定的所述cache空间中;
在接收到所述linux虚拟机的启动请求时,直接读取所述cache空间中的所述镜像文件以在所述目标物理机上启动所述linux虚拟机。
为了节省目标物理机上的内存空间,所述管理平台还用于捕捉对所述镜像文件的读操作,并在所述读操作完成后生成回调函数,根据所述回调函数更新所述cache空间中的所述操作系统文件的查询时间和热度,且根据所述操作系统文件的查询时间和热度,将所述cache空间内的旧数据进行删除已将内存返还给目标物理机的操作系统。
linux操作系统的cache管理机制用于对所述目标物理机的cache空间进行管理。具体地:设定预定门限的值为3,检测到所述cache空间中有两个操作系统文件的查询时间和热度不为0,其中一个与本实施例所述的linux虚拟机相对应,则将与查询时间和热度不为0的两个操作系统文件相关的虚拟机(包括本实施例所述的linux虚拟机)迁移到其它物理机(不包括所述目标物理机)上启动,并完全释放所述cache空间。然后,管理平台重新从4台具备亲和性的物理机中选择除被释放cache空间的那台物理机之外的其它物理机中负载最少、内存和CPU占用量最小的作为新的目标物理机,循环上述过程。
其中,对于目标物理机的cache空间内的操作系统文件的查询时间的热度,可采用定时更新的方式进行更新,例如设定更新的间隔时间,针对在间隔时间内有回调函数的操作系统文件,每个回调函数对所述操作系统文件的查询热度加权1,而间隔时间内无回调函数的操作系统文件,则将其查询热度减1。经过一段时间后,最近、最频繁被访问的操作系统文件的查询时间和热度必然不为0,而长时间未被访问的操作系统文件的查询时间和热度则被减为0。
参考图3,图3是本发明第三实施例中加速虚拟机IO的管理平台的结构示意图。
根据本发明的实施例,加速虚拟机IO的管理平台10,包括:资源调度模块11、预缓存模块12以及读取启动模块13。
资源调度模块11,用于根据虚拟机的操作系统类型匹配至少一台具有相同操作系统类型的物理机,然后根据预设的资源使用策略或随机从中选出用于启动所述虚拟机的一台目标物理机。
如果虚拟机与物理机的操作系统类型一致,则定义虚拟机和物理机之间有亲和性,资源调度模块11根据该亲和性判断策略选出的具备亲和性的物理机可能为一台,也可能为多台。如果为一台,则直接将该台物理机确定为目标物理机,如果为多台,则再根据预设的资源使用策略或随机从中选出最合适的一台目标物理机。
其中,资源调度模块11从具备亲和性的物理机中选中一台目标物理机的过程是资源均衡分配和利用的过程。本发明实施例提供的选择方式包括随机选择或根据预设的资源使用策略选择。所述预设的资源使用策略包括:最大利用资源策略或均衡利用资源策略,具体地,将选出的具备亲和性的物理机根据资源利用率进行排序,在安全范围内(物理机的内存和CPU须满足所述虚拟机启动的条件),从资源利用率大于预定阙值的具备亲和性的物理机中选出一台目标物理机,该策略可最大可能的利用一部分物理机的资源,从而节省出一部分物理机的资源,达到节约成本的目的;或者,从资源利用率小于预定阙值的具备亲和性的物理机中选出一台目标物理机,该策略可防止资源竞争,避免物理机过载。其中,所述预定阙值由用户设定,例如可设定为50%。对于本发明实施例提供的上述选择方式,可根据用户的需要和目的进行选择使用。
资源调度模块11,可实现在有多台虚拟机同时启动时,不再是随机选择物理机进行寄宿启动,而是有目标地启动到最合适的目标物理机上,这不仅杜绝了大量的随机IO,可将虚拟机启动到与其操作系统类型一致的目标物理机环境中,大大提高了虚拟机的启动速度。
预缓存模块12,用于将所述虚拟机的镜像文件缓存至所述目标物理机的内存并锁定。
启动虚拟机之前,预缓存模块12用于将所述虚拟机的镜像文件预缓存在所述目标物理机的内存中,此后所有对所述镜像文件的读写操作都在所述目标物理机的内存中进行,这可大大提高虚拟机IO的读写速度。
预缓存模块12,还用于预判断所述目标物理机的内存中是否已经缓存有所述虚拟机的镜像文件,如果未缓存,则将所述虚拟机的镜像文件缓存到所述目标物理机的内存中。
所述预缓存模块12,进一步用于判断所述目标物理机中是否存在所述镜像文件,例如可能存储在目标物理机的物理硬盘中,当然本发明的实现方式并不限于硬盘这一种形态,如果不存在,则从管理平台中下载所述镜像文件;然后,设定所述目标物理机中用于缓存所述镜像文件的缓存空间,并获取所述镜像文件的文件路径,将所述镜像文件缓存至所述目标物理机上设定的所述缓存空间中。其中,所述缓存空间的大小可根据目标物理机内存的大小、所述镜像文件的大小来决定,本发明中所述缓存空间的大小是动态调整的,因此,初始设定的所述缓存空间可稍大一些,虚拟机启动后,缓存空间会被释放,不会一直占用目标物理机的内存。
预缓存模块12还用于在完成预缓存过程后,将所述虚拟机的镜像文件锁定在所述目标物理机的内存中,使得所述镜像文件在所述虚拟机启动过程中驻留在所述缓存空间中,保证虚拟机的快速启动。
读取启动模块13,用于在接收到所述虚拟机的启动请求时,读取所述目标物理机的内存中的所述镜像文件以在所述目标物理机上启动所述虚拟机,其中,所述镜像文件至少包括所述虚拟机的操作系统文件。
预缓存模块12已将所述虚拟机启动所需的镜像文件预缓存在所述目标物理机的内存中,当接收到所述虚拟机的启动请求时,可直接读取所述目标物理机内存中的所述镜像文件,从而完成所述虚拟机的快速启动。虚拟机的镜像文件包括操作系统文件和其它数据文件,操作系统文件相当于虚拟机的系统盘,因此为保证虚拟机的正常启动必须将其预缓存在目标物理机中,而其它数据文件则相当于虚拟机的数据盘,对虚拟机的启动无影响,但为了提高虚拟机的数据访问速度,也可将其预缓存在物理机内存中,这可根据目标物理机的资源利用量决定。
根据本发明的实施例,加速虚拟机IO的管理平台,还包括:
内存管理模块14,用于捕捉对所述镜像文件的读操作,并在所述读操作完成后更新目标物理机的内存中缓存的所述镜像文件的查询时间和热度。
所述内存管理模块14,用于在虚拟机发起对所述镜像文件的读操作请求时,查询所述镜像文件是否缓存在所述目标物理机的内存中,如果已缓存,直接读取所述镜像文件并在读取完成后生成回调函数,回调函数更新所述镜像文件的查询时间和热度;如果未缓存,所述虚拟机会继续访问目标物理机的物理硬盘或者网络获取所述镜像文件,并生包含未命中信息的回调函数,回调函数会自动将所述镜像文件缓存至物理机的内存中设定的缓存空间内,并更新所述镜像文件的查询时间和热度。
所述内存管理模块14,还用于,据所述镜像文件的查询时间和热度释放所述目标物理机的内存中用于加载所述镜像文件的缓存空间。
内存管理模块14具体用于:检测所述目标物理机中所述缓存空间内的所有镜像文件,当所有镜像文件的查询时间和热度均为0时,则完全释放所述缓存空间,对所述镜像文件的查询时间和热度的更新是实时的,当所有虚拟机都启动后,即不会再有虚拟机对所述缓存空间内的所述镜像文件进行读操作时,则所有镜像文件的查询时间和热度都被更新为0,所有镜像文件可被删除以将所述缓存空间释放;
当查询时间和热度不为0的镜像文件数量小于预定门限时,则将与查询时间和热度不为0的所述镜像文件相关的虚拟机迁移到其它物理机上启动,并完全释放所述缓存空间。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种加速虚拟机IO的方法,其特征在于,包括:
根据虚拟机的操作系统类型匹配至少一台具有相同操作系统类型的物理机,然后根据预设的资源使用策略或随机从中选出用于启动所述虚拟机的一台目标物理机;
将所述虚拟机的镜像文件缓存至所述目标物理机的内存并锁定;
在接收到所述虚拟机的启动请求时,读取所述目标物理机的内存中的所述镜像文件以在所述目标物理机上启动所述虚拟机,其中,所述镜像文件至少包括所述虚拟机的操作系统文件。
2.根据权利要求1所述的方法,其特征在于,所述预设的资源使用策略包括:
最大利用资源策略,具体为:将选出的具备亲和性的物理机根据资源利用率进行排序,在安全范围内,从资源利用率大于预定阙值的具备亲和性的物理机中选出一台目标物理机;或者,
均衡利用资源策略,具体为:将选出的具备亲和性的物理机根据资源利用率进行排序,从资源利用率小于预定阙值的具备亲和性的物理机中选出一台目标物理机。
3.根据权利要求1所述的方法,其特征在于,将所述虚拟机的镜像文件缓存至所述目标物理机的内存并锁定,包括:
预判断所述目标物理机的内存中是否已经缓存有所述虚拟机的镜像文件,如果未缓存,则将所述虚拟机的镜像文件缓存到所述目标物理机的内存中。
4.根据权利要求3所述的方法,其特征在于,将所述虚拟机的镜像文件缓存到所述目标物理机的内存中,进一步包括:
从管理平台中下载所述镜像文件;
设定所述目标物理机中用于缓存所述镜像文件的缓存空间,并获取所述镜像文件的文件路径,将所述镜像文件缓存至所述目标物理机上设定的所述缓存空间中。
5.根据权利要求1所述的方法,其特征在于,还包括:
捕捉对所述镜像文件的读操作,并在所述读操作完成后更新目标物理机的内存中缓存的所述镜像文件的查询时间和热度。
6.根据权利要求5所述的方法,其特征在于,还包括:
根据所述镜像文件的查询时间和热度释放所述目标物理机的内存中用于加载所述镜像文件的缓存空间。
7.根据权利要求6所述的方法,其特征在于,根据所述镜像文件的查询时间和热度释放所述目标物理机的内存中用于加载所述镜像文件的缓存空间,进一步包括:
检测所述目标物理机中所述缓存空间内的所有镜像文件,当所有镜像文件的查询时间和热度均为0时,则完全释放所述缓存空间;
当查询时间和热度不为0的镜像文件数量小于预定门限时,则将与查询时间和热度不为0的所述镜像文件相关的虚拟机迁移到其它物理机上启动,并完全释放所述缓存空间。
8.一种加速虚拟机IO的管理平台,其特征在于,包括:
资源调度模块,用于根据虚拟机的操作系统类型匹配至少一台具有相同操作系统类型的物理机,然后根据预设的资源使用策略或随机从中选出用于启动所述虚拟机的一台目标物理机;
预缓存模块,用于将所述虚拟机的镜像文件缓存至所述目标物理机的内存并锁定;
读取启动模块,在接收到所述虚拟机的启动请求时,读取所述目标物理机的内存中的所述镜像文件以在所述目标物理机上启动所述虚拟机,其中,所述镜像文件至少包括所述虚拟机的操作系统文件。
9.根据权利要求8所述的管理平台,其特征在于,所述预设的资源使用策略包括:
最大利用资源策略,具体为:将选出的具备亲和性的物理机根据资源利用率进行排序,在安全范围内,从资源利用率大于预定阙值的具备亲和性的物理机中选出一台目标物理机;
均衡利用资源策略,具体为:将选出的具备亲和性的物理机根据资源利用率进行排序,从资源利用率小于预定阙值的具备亲和性的物理机中选出一台目标物理机。
10.根据权利要求8所述的管理平台,其特征在于,所述预缓存模块,还用于:
预判断所述目标物理机的内存中是否已经缓存有所述虚拟机的镜像文件,如果未缓存,则将所述虚拟机的镜像文件缓存到所述目标物理机的内存中。
11.根据权利要求10所述的管理平台,其特征在于,所述预缓存模块,进一步用于:
从管理平台中下载所述镜像文件;
设定所述目标物理机中用于缓存所述镜像文件的缓存空间,并获取所述镜像文件的文件路径,将所述镜像文件缓存至所述目标物理机上设定的所述缓存空间中。
12.根据权利要求8所述的管理平台,其特征在于,还包括:
内存管理模块,用于捕捉对所述镜像文件的读操作,并在所述读操作完成后更新目标物理机的内存中缓存的所述镜像文件的查询时间和热度。
13.根据权利要求12所述的管理平台,其特征在于,所述内存管理模块,还用于:
根据所述镜像文件的查询时间和热度释放所述目标物理机的内存中用于加载所述镜像文件的缓存空间。
14.根据权利要求13所述的管理平台,其特征在于,所述内存管理模块,进一步用于:
检测所述目标物理机中所述缓存空间内的所有镜像文件,当所有镜像文件的查询时间和热度均为0时,则完全释放所述缓存空间;
当查询时间和热度不为0的镜像文件数量小于预定门限时,则将与查询时间和热度不为0的所述镜像文件相关的虚拟机迁移到其它物理机上启动,并完全释放所述缓存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510355786.3A CN105718280A (zh) | 2015-06-24 | 2015-06-24 | 一种加速虚拟机io的方法和管理平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510355786.3A CN105718280A (zh) | 2015-06-24 | 2015-06-24 | 一种加速虚拟机io的方法和管理平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105718280A true CN105718280A (zh) | 2016-06-29 |
Family
ID=56144810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510355786.3A Pending CN105718280A (zh) | 2015-06-24 | 2015-06-24 | 一种加速虚拟机io的方法和管理平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718280A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506201A (zh) * | 2016-10-31 | 2017-03-15 | 中国联合网络通信集团有限公司 | Vnf迁移方法、mano和系统 |
CN106598653A (zh) * | 2016-11-24 | 2017-04-26 | 合肥中科云巢科技有限公司 | 用于解决虚拟机启动风暴的方法和装置 |
CN106648637A (zh) * | 2016-12-08 | 2017-05-10 | 武汉噢易云计算股份有限公司 | 一种虚拟桌面的创建方法及系统 |
CN106775942A (zh) * | 2016-12-09 | 2017-05-31 | 中国科学院软件研究所 | 一种云应用导向的固态盘缓存管理系统及方法 |
CN106933654A (zh) * | 2017-03-17 | 2017-07-07 | 中山大学 | 一种基于缓存的虚拟机启动方法 |
CN107172225A (zh) * | 2017-07-30 | 2017-09-15 | 长沙曙通信息科技有限公司 | 一种桌面虚拟化启动风暴优化实现方法 |
CN108287733A (zh) * | 2017-12-19 | 2018-07-17 | 广东睿江云计算股份有限公司 | 一种虚拟机加载启动方法 |
CN108475201A (zh) * | 2016-11-24 | 2018-08-31 | 华为技术有限公司 | 一种虚拟机启动过程中的数据获取方法和云计算系统 |
CN109491757A (zh) * | 2018-10-11 | 2019-03-19 | 广东微云科技股份有限公司 | 本地计算模式虚拟机的启动加速方法 |
CN110704157A (zh) * | 2019-09-12 | 2020-01-17 | 深圳市元征科技股份有限公司 | 一种应用启动方法、相关装置及介质 |
CN110928638A (zh) * | 2018-09-20 | 2020-03-27 | 北京国双科技有限公司 | 一种虚拟机部署的宿主机的选择方法和装置 |
CN111600943A (zh) * | 2020-05-09 | 2020-08-28 | 上海云轴信息科技有限公司 | 一种用于获取目标数据的方法与设备 |
CN112631734A (zh) * | 2020-12-30 | 2021-04-09 | 北京天融信网络安全技术有限公司 | 虚拟机镜像文件的处理方法、装置、设备和存储介质 |
CN117193641A (zh) * | 2023-09-08 | 2023-12-08 | 中电云计算技术有限公司 | 镜像缓存写入速率控制方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096601A (zh) * | 2011-02-11 | 2011-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机迁移的管理方法和系统 |
CN102611734A (zh) * | 2011-12-16 | 2012-07-25 | 广州市品高软件开发有限公司 | 一种基于云计算的镜像实例启动方法及装置 |
CN103034591A (zh) * | 2012-11-21 | 2013-04-10 | 北京航空航天大学 | 虚拟机内存共享方法及装置 |
CN103309737A (zh) * | 2012-03-07 | 2013-09-18 | 联想(北京)有限公司 | 一种切换操作系统的方法及设备 |
-
2015
- 2015-06-24 CN CN201510355786.3A patent/CN105718280A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096601A (zh) * | 2011-02-11 | 2011-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机迁移的管理方法和系统 |
CN102611734A (zh) * | 2011-12-16 | 2012-07-25 | 广州市品高软件开发有限公司 | 一种基于云计算的镜像实例启动方法及装置 |
CN103309737A (zh) * | 2012-03-07 | 2013-09-18 | 联想(北京)有限公司 | 一种切换操作系统的方法及设备 |
CN103034591A (zh) * | 2012-11-21 | 2013-04-10 | 北京航空航天大学 | 虚拟机内存共享方法及装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506201A (zh) * | 2016-10-31 | 2017-03-15 | 中国联合网络通信集团有限公司 | Vnf迁移方法、mano和系统 |
CN106598653A (zh) * | 2016-11-24 | 2017-04-26 | 合肥中科云巢科技有限公司 | 用于解决虚拟机启动风暴的方法和装置 |
CN108475201A (zh) * | 2016-11-24 | 2018-08-31 | 华为技术有限公司 | 一种虚拟机启动过程中的数据获取方法和云计算系统 |
CN106648637A (zh) * | 2016-12-08 | 2017-05-10 | 武汉噢易云计算股份有限公司 | 一种虚拟桌面的创建方法及系统 |
CN106775942B (zh) * | 2016-12-09 | 2020-06-16 | 中国科学院软件研究所 | 一种云应用导向的固态盘缓存管理系统及方法 |
CN106775942A (zh) * | 2016-12-09 | 2017-05-31 | 中国科学院软件研究所 | 一种云应用导向的固态盘缓存管理系统及方法 |
CN106933654A (zh) * | 2017-03-17 | 2017-07-07 | 中山大学 | 一种基于缓存的虚拟机启动方法 |
CN106933654B (zh) * | 2017-03-17 | 2020-08-28 | 中山大学 | 一种基于缓存的虚拟机启动方法 |
CN107172225A (zh) * | 2017-07-30 | 2017-09-15 | 长沙曙通信息科技有限公司 | 一种桌面虚拟化启动风暴优化实现方法 |
CN108287733A (zh) * | 2017-12-19 | 2018-07-17 | 广东睿江云计算股份有限公司 | 一种虚拟机加载启动方法 |
CN110928638A (zh) * | 2018-09-20 | 2020-03-27 | 北京国双科技有限公司 | 一种虚拟机部署的宿主机的选择方法和装置 |
CN109491757A (zh) * | 2018-10-11 | 2019-03-19 | 广东微云科技股份有限公司 | 本地计算模式虚拟机的启动加速方法 |
CN109491757B (zh) * | 2018-10-11 | 2022-03-15 | 广东微云科技股份有限公司 | 本地计算模式虚拟机的启动加速方法 |
CN110704157A (zh) * | 2019-09-12 | 2020-01-17 | 深圳市元征科技股份有限公司 | 一种应用启动方法、相关装置及介质 |
CN110704157B (zh) * | 2019-09-12 | 2023-06-30 | 深圳市元征科技股份有限公司 | 一种应用启动方法、相关装置及介质 |
CN111600943A (zh) * | 2020-05-09 | 2020-08-28 | 上海云轴信息科技有限公司 | 一种用于获取目标数据的方法与设备 |
CN112631734A (zh) * | 2020-12-30 | 2021-04-09 | 北京天融信网络安全技术有限公司 | 虚拟机镜像文件的处理方法、装置、设备和存储介质 |
CN117193641A (zh) * | 2023-09-08 | 2023-12-08 | 中电云计算技术有限公司 | 镜像缓存写入速率控制方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718280A (zh) | 一种加速虚拟机io的方法和管理平台 | |
US10242022B1 (en) | Systems and methods for managing delayed allocation on clustered file systems | |
US10146580B2 (en) | Lazy persistent storage volume provisioning | |
US10678447B2 (en) | Containerizing a block storage service | |
US8904113B2 (en) | Virtual machine exclusive caching | |
US9021243B2 (en) | Method for increasing free memory amount of main memory and computer therefore | |
US20190332415A1 (en) | System and Method for Managing Size of Clusters in a Computing Environment | |
US20150178119A1 (en) | Hypervisor-based server duplication system and method and storage medium storing server duplication computer program | |
US10659533B1 (en) | Layer-aware data movement control for containers | |
WO2015090113A1 (zh) | 数据处理的方法及设备 | |
US20210216353A1 (en) | Host Upgrade Method and Device | |
CN108475201B (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
US10891150B2 (en) | Storage control method and storage controller for user individual service environment | |
CN103810009A (zh) | 一种计算机操作系统启动加速的方法和装置 | |
US20160048344A1 (en) | Distributed caching systems and methods | |
US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
CN103617133B (zh) | 一种Windows系统中虚拟内存压缩方法和装置 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
WO2015016914A1 (en) | Storing difference information in a backup system | |
US11797729B2 (en) | Hyper-converged infrastructure (HCI) operation predictor | |
CN111694635A (zh) | 一种服务质量控制方法及装置 | |
CN104731714A (zh) | 数据访问方法和装置 | |
JP5335625B2 (ja) | ブート時間を短縮するコンピュータ・プログラム | |
WO2023274166A1 (zh) | 内核升级方法及装置 | |
CN114510324B (zh) | 一种挂载有ceph卷的KVM虚拟机的磁盘管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160629 |
|
RJ01 | Rejection of invention patent application after publication |