建立虚拟机共享存储缓存的方法及装置制造方法及图纸

技术编号:17104459 阅读:29 留言:0更新日期:2018-01-24 21:06
本发明专利技术公开了一种建立虚拟机共享存储缓存的方法及装置,该方法包括:获取虚拟机启动过程中从虚拟启动磁盘读写的数据;存储所述数据至虚拟机共享缓存装置,以供其他虚拟机启动时从所述虚拟机共享缓存装置读取所述数据。通过上述方式,本发明专利技术能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动读写数据时的输入输出问题。

A method and device for establishing a shared memory cache for virtual machines

The invention discloses a method and device for storing shared cache virtual machine, the method includes: reading and writing from the virtual boot disk data acquisition virtual machine startup process; the data cache shared storage device to the virtual machine for other virtual machine startup shared cache device reads the data from the virtual machine. Through the above way, the invention can only cache effective data in virtual machine startup with very little memory space, and solve the problem of input and output when the virtual machine starts to read and write data simultaneously.

【技术实现步骤摘要】
建立虚拟机共享存储缓存的方法及装置
本专利技术涉及虚拟机
,特别是涉及一种建立虚拟机共享存储缓存的方法及装置。
技术介绍
不管是对于全克隆模式部署的虚拟机还是对于链接克隆模式部署的虚拟机,大量的虚拟机在同时启动的情况下,出现频繁的输入输出(IO,InputOutput)操作,这对共享存储形成了很高的每秒输入输出(IOPS,InputOutputpersecond)压力峰值,导致虚拟机启动速度慢。在配置桌面云存储时按照最高峰值的要求进行配置,导致高IOPS存储配置在平常时段形成浪费。现有技术采用流控方法,将虚拟机的启动时间设置在上班前几个小时,提前对所有虚拟机以流控的方式逐步启动,从而避免集中并发启动对存储服务能力的冲击。现有技术未真正解决虚拟机并发启动读写数据时的输入输出问题。
技术实现思路
本专利技术主要解决的技术问题是提供一种建立虚拟机共享存储缓存的方法及装置,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动数据读写时的输入输出问题。本专利技术的第一方面提供一种建立虚拟机共享存储缓存的方法,包括:获取虚拟机启动过程中从虚拟启动磁盘读写的数据;存储所述数据至虚拟机共享缓存装置,以供其他虚拟机启动时从所述虚拟机共享缓存装置读取所述数据。在第一方面的第一种可能的实现方式中,所述获取虚拟机启动过程中从虚拟启动磁盘读写的数据的步骤之前,包括:所述虚拟机向所述虚拟机共享缓存装置发送读写请求;所述虚拟机接收所述虚拟机共享缓存装置发送的读写请求响应,所述读写请求响应携带读写请求失败信息。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:对所述虚拟机共享缓存装置存储的数据进行重复数据删除操作。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述虚拟机启动过程包括所述虚拟机开机到所述虚拟机操作系统启动完成或所述虚拟机开机到所述虚拟机的预设的应用程序的启动完成。本专利技术的第二方面提供一种虚拟机共享缓存的装置,所述装置包括:获取模块和存储模块;所述获取模块用于获取虚拟机启动过程中从虚拟启动磁盘读写的数据;所述存储模块用于存储所述数据至虚拟机共享缓存装置,以供其他虚拟机启动时从所述虚拟机共享缓存装置读取所述数据。在第二方面的第一种可能的实现方式中,所述装置还包括:读写模块;所述读写模块用于在所述虚拟机向所述虚拟机共享缓存装置发送读写请求时,接收所述请求,并向所述虚拟机发送所述虚拟机共享缓存装置发送的读写请求响应,所述读写请求响应携带读写请求失败信息。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置还包括去重复模块,所述去重复模块用于对所述虚拟机共享缓存装置存储的数据进行重复数据删除操作。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述虚拟机启动过程包括所述虚拟机开机到所述虚拟机操作系统启动完成或所述虚拟机开机到所述虚拟机的预设的应用程序的启动完成。本专利技术的有益效果是:区别于现有技术的情况,本专利技术获取虚拟机启动过程中从虚拟启动磁盘读写的数据;只将对虚拟机启动有效的数据缓存至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取数据,通过这种方式,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动的输入输出问题。附图说明图1是本专利技术建立虚拟机共享存储缓存的方法一实施方式的流程图;图2是本专利技术建立虚拟机共享存储缓存的方法另一实施方式的流程图;图3是本专利技术建立虚拟机共享存储缓存的方法在实际应用中的一实现方式;图4是本专利技术建立虚拟机共享存储缓存的方法在实际应用中的另一实现方式;图5是虚拟机创建、启动以及关机过程;图6是本专利技术建立虚拟机共享存储缓存的方法在实际应用中去重复操作的一实现方式;图7是本专利技术虚拟机共享缓存的装置一实施方式的结构示意图;图8是本专利技术虚拟机共享缓存的装置另一实施方式的结构示意图。具体实施方式下面结合附图和实施方式对本专利技术进行详细说明。参阅图1,图1是本专利技术建立虚拟机共享存储缓存的方法一实施方式的流程图,包括:步骤S101:获取虚拟机启动过程中从虚拟启动磁盘读写的数据。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在启动虚拟机时,虚拟机从虚拟启动磁盘读写数据,这些数据是虚拟机启动所需要的真正有效的数据,获取这些有效的数据,以便于存储这些虚拟机启动时从虚拟启动磁盘读写的数据。步骤S102:存储该数据至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取该数据。在获取了虚拟机启动过程中从虚拟启动磁盘读写的数据后,将这些数据存储在虚拟机共享缓存装置中,以供其他虚拟机启动时从虚拟机共享缓存装置读取该数据,这样分担了大部分的虚拟启动磁盘的输入输出压力。需要说明的是,本实施方式中虚拟机启动过程包括虚拟机开机到虚拟机操作系统启动完成或虚拟机开机到虚拟机的预设的应用程序的启动完成。例如,可以是Windows操作系统的启动过程,或者Office、Photoshop等应用程序的启动过程。本专利技术实施例中虚拟机启动为虚拟机机群大规模启动之前的一台临时虚拟机启动过程,根据临时虚拟机的启动获取虚拟机大规模启动过程所必须的读写的数据,并将这些读写数据存储到虚拟机共享缓存装置,以供其他虚拟机启动时从该虚拟机共享缓存装置读取数据。本专利技术获取虚拟机启动过程中从虚拟启动磁盘读写的数据;只将对虚拟机启动有效的数据缓存至虚拟机共享缓存装置,以供其他虚拟机启动时从虚拟机共享缓存装置读取数据,通过这种方式,能够以很少的内存空间只缓存在虚拟机启动中有效的数据,解决虚拟机并发启动读写数据时输入输出问题。参阅图2,图2是本专利技术建立虚拟机共享存储缓存的方法另一实施方式的流程图,包括:步骤S201:虚拟机向虚拟机共享缓存装置发送读写请求。在启动虚拟机时,虚拟机向虚拟机共享缓存装置发送读写请求。步骤S202:虚拟机接收虚拟机共享缓存装置发送的读写请求响应,读写请求响应携带读写请求失败信息。在虚拟机共享缓存装置中没有虚拟机读写请求的数据时,向虚拟机发送读写请求响应,虚拟机然后接收虚拟机共享缓存装置发送的读写请求响应,该读写请求响应携带读写请求失败信息。步骤S203:获取虚拟机启动过程中从虚拟启动磁盘读写的数据。步骤S204:存储所述数据至虚拟机共享缓存装置,以供其他虚拟机启动时从所述虚拟机共享缓存装置读取所述数据。在实际应用中,步骤S201、步骤S202、步骤S203以及步骤S204的实现过程请参见图3和图4,图3是本专利技术建立虚拟机共享存储缓存的方法在实际应用中的一实现方式。本实现方式是虚拟机开机以及操作系统启动过程中对数据读请求的过程,包括:(b1)读请求:虚拟机VM0对操作系统启动虚拟磁盘的读请求到达虚拟机共享缓存装置的读写模块(即模块B)。(b2)Cache(即虚拟机共享缓存装置的存储模块,C模块)查询:B模块向C模块获取当前请求的数据。(b3.2)Cache未命中:即C模块中没有B模块当前请求的数据,C模块向B模块返回空数据和缓存未命中状态。(b4)读存储设备:B模块从存储设备(即操作系统虚拟启动磁盘本文档来自技高网...
建立虚拟机共享存储缓存的方法及装置

【技术保护点】
一种建立虚拟机共享存储缓存的方法,其特征在于,包括:根据临时虚拟机的启动,获取虚拟机启动过程中从虚拟启动磁盘读写的、所述虚拟机启动所需要的真正有效的数据,所述虚拟机启动为虚拟机机群大规模启动之前的一台所述临时虚拟机启动过程;存储所述数据至虚拟机共享缓存装置,以供其他虚拟机并发启动时从所述虚拟机共享缓存装置读取所述数据;所述方法还包括:对所述虚拟机共享缓存装置存储的数据进行重复数据删除操作。

【技术特征摘要】
1.一种建立虚拟机共享存储缓存的方法,其特征在于,包括:根据临时虚拟机的启动,获取虚拟机启动过程中从虚拟启动磁盘读写的、所述虚拟机启动所需要的真正有效的数据,所述虚拟机启动为虚拟机机群大规模启动之前的一台所述临时虚拟机启动过程;存储所述数据至虚拟机共享缓存装置,以供其他虚拟机并发启动时从所述虚拟机共享缓存装置读取所述数据;所述方法还包括:对所述虚拟机共享缓存装置存储的数据进行重复数据删除操作。2.根据权利要求1所述的方法,其特征在于,所述获取虚拟机启动过程中从虚拟启动磁盘读写的数据的步骤之前,包括:所述虚拟机向所述虚拟机共享缓存装置发送读写请求;所述虚拟机接收所述虚拟机共享缓存装置发送的读写请求响应,所述读写请求响应携带读写请求失败信息。3.根据权利要求1或2所述的方法,其特征在于,所述虚拟机启动过程包括所述虚拟机开机到所述虚拟机操作系统启动完成或所述虚拟机开机到所述虚拟机的预设的应用程序的启动完成。4.一种虚拟机共享缓存装置,其特征在于...

【专利技术属性】
技术研发人员:金添福
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1