适用于虚拟化平台的虚拟磁盘写缓存系统及其操作方法技术方案

技术编号:8593723 阅读:230 留言:0更新日期:2013-04-18 06:51
本发明专利技术公开了一种适用于虚拟化平台的虚拟磁盘写缓存系统,包括底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块、虚拟磁盘写缓存刷新管理模块和写缓存控制模块,底层磁盘写缓存禁用模块用于禁用底层磁盘的写缓存功能,虚拟磁盘写缓存管理模块用于虚拟机管理器中的写缓存的创建、撤销,接收来自上层虚拟机的写请求,并对其进行管理以便于查找和替换,虚拟磁盘写缓存刷新管理模块用于在写缓存被触发刷新时,把写缓存内的所有写请求数据写到底层物理磁盘,虚拟磁盘写缓存控制模块用于使虚拟机根据需求去实时控制虚拟机管理器中相应的写缓存的打开与关闭。本发明专利技术能够解决常见磁盘设备上的磁盘写缓存在虚拟化环境下存在隔离性和不可操控的问题。

【技术实现步骤摘要】

本专利技术属于计算机系统结构虚拟化环境下磁盘缓存
,更具体地,涉及一种。
技术介绍
虚拟化软件可以大幅度提高IT基础设施资源和应用程序的利用率及可用性,但是其磁盘I/o性能比起传统操作系统来说却有大幅度的下降,这也一直是虚拟化产品广泛部署的一大障碍。因此,各大厂商和研究机构都在致力于解决磁盘虚拟化I/o的性能问题。磁盘缓存作为磁盘子系统不可或缺的一部分,可以较好的解决虚拟机磁盘I/o瓶颈。但是,在目前普遍流行的SATA/IDE磁盘上,由于其存在不可操控性和不可隔离性的缺陷,使得其不能够很好的适应虚拟化环境下的多操作系统多需求的计算环境。尽管一些产商已经在磁盘缓存中使用了具有非挥发性可靠闪存芯片来解决此类问题,但是其一般用于高端市场,价格过于昂贵,不能够得到广泛普及。在当前主流的计算机体系结构当中,内存子系统和磁盘子系统之间的数据处理速度存在着巨大的性能差异,而磁盘缓存(又称磁盘板载缓存)作为当前主流磁盘设备中不可或缺的一部分,承担着计算机数据在这二者之间性能过渡的重任。但是,随着虚拟化技术在云计算数据中心的出现和普及,各个虚拟机内部的用户应用程序对磁盘缓存的使用存在以下两个问题1)不可操控性;2)互不隔离性。不可操控性指的是在一般情况下,由于虚拟机内部进程不具备直接操作I/O设备的特权,使得虚拟机内部的用户进程不能够对磁盘缓存按照自身的需求进行相关的配置。例如一些用户进程对自身的写数据的可靠性要求较高,关闭磁盘写缓存可以降低数据在磁盘写缓存中因为停电或者其他原因而造成丢失或者损坏的风险。互不隔离性指的是即使在虚拟机内部实现了可以直接操控磁盘缓存的方法,也会使得一个虚拟机针对磁盘缓存的调整策略影响到其他使用同一磁盘设备的虚拟机。例如某个虚拟机内部的应用程序对写数据的可靠性要求较高,从而需要关闭磁盘写缓存以提高其数据的可靠性,但是另外一个虚拟机则在I/O性能上有较高的要求,需要磁盘写缓存为其提供基本的I/o性能保证。磁盘缓存的不可隔离性使得关闭磁盘缓存的行为为那些对I/o性能要求较高的虚拟机带来负面影响。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种虚拟机内部可操控的、适用于虚拟化平台的虚拟磁盘写缓存系统,旨在解决常见磁盘设备上的磁盘写缓存在虚拟化环境下存在隔离性和不可操控的问题。为实现上述目的,本专利技术提供了一种适用于虚拟化平台的虚拟磁盘写缓存系统,包括底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块、虚拟磁盘写缓存刷新管理模块和写缓存控制模块,底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块和虚拟磁盘写缓存刷新管理模块设置于虚拟机管理器中,虚拟磁盘写缓存控制模块的一部分设置于虚拟机管理器中,另一部分设置于虚拟机中,底层磁盘写缓存禁用模块用于禁用底层磁盘的写缓存功能,虚拟磁盘写缓存管理模块用于虚拟机管理器中的写缓存的创建、撤销,接收来自上层虚拟机的写请求,并对写请求进行管理以便于查找和替换,虚拟磁盘写缓存刷新管理模块用于在虚拟机管理器中的写缓存被触发刷新时,把写缓存内的所有写请求数据写到底层物理磁盘,其中,写缓存触发刷新的条件是写数据装满写缓存时,在写缓存进行刷新时,会对写缓存内的写请求按照请求偏移地址进行排序和归并,虚拟磁盘写缓存控制模块用于使虚拟机根据需求去实时控制虚拟机管理器中相应的写缓存的打开与关闭,需求包括I/O性能或数据可靠性。上层虚拟机的所有写请求都使用写直达的方式写到底层磁盘。虚拟磁盘写缓存管理模块包括虚拟磁盘写缓存创建子模块、虚拟磁盘写缓存请求管理子模块以及虚拟磁盘写缓存撤销子模块,虚拟磁盘写缓存控制模块包括设置在虚拟机中的虚拟磁盘写缓存控制接口子模块和设置在虚拟机管理器中的虚拟磁盘写缓存控制开关子1 块。虚拟磁盘写缓存创建子模块用于在虚拟机启动时,或虚拟机通过虚拟磁盘写缓存控制接口子模块要求打开虚拟机管理器中的写缓存时,在虚拟机管理器中为虚拟机分配一片内存空间作为写缓存,虚拟磁盘写缓存请求管理子模块用于接收虚拟机的写请求及写数据,并将写请求和写数据存储在虚拟机管理器中的写缓存中,并用双向链表和红黑树两种数据结构对该写请求进行管理,以便于写请求的查找和替换,虚拟磁盘写缓存撤销子模块用于在虚拟机关闭或发生迁移时,或者虚拟机通过虚拟磁盘写缓存控制接口模块要求关闭虚拟机管理器中的写缓存时,首先调用虚拟磁盘写缓存刷新管理模块刷新虚拟机管理器中写缓存中的所有写数据,然后释放写缓存占用的内存资源,最后撤销写缓存。写请求包括三个元数据字段偏移地址字段用于指示该写请求的数据在虚拟机镜像文件中的存储位置,缓存区指针字段用于指向该写请求的数据在写缓存内存区中的存储位置,数据大小字段用于记录写数据的大小, 写请求的写数据存放在写缓存的写数据内存区域中,而每个写请求按照它到达虚拟机管理器的先后顺序依次将其元数据存放在写缓存的元数据内存区域中,并且每个写请求的元数据字段同时并入双向链表和红黑树两种数据结构中。虚拟磁盘写缓存控制接口子模块用于接收虚拟机的关闭或打开指令,并把该指令传递给虚拟磁盘写缓存控制开关子模块,具体而言,是使用Xenstore和Xenstore-write的方法实现虚拟机与虚拟机管理器之间写缓存打开或关闭指令的传递,虚拟磁盘写缓存控制开关子模块用于根据来自于虚拟磁盘写缓存控制接口模块的转换后的命令打开或者关闭虚拟机管理器中的写缓存。如果命令是打开虚拟机管理器中的写缓存,则虚拟磁盘写缓存控制开关子模块调用虚拟磁盘写缓存创建子模块为写缓存分配相应的内存单元,如果是关闭虚拟机管理器中的写缓存,则虚拟磁盘写缓存控制开关子模块首先会调用虚拟磁盘写缓存刷新管理模块把虚拟机管理器中的写缓存中所有写请求数据写到底层物理磁盘,然后调用虚拟磁盘写缓存撤销子模块去释放写缓存占用的内存资源。通过本专利技术所构思的以上技术方案,与现有技术相比,本专利技术具有以下的有益效果1、为数据可靠性虚拟机提供了数据一致性保证由于采用了底层磁盘写缓存禁用模块,高可靠性应用和高可靠性虚拟机的写请求都不会存储在底层磁盘写缓存上,而是直接写到底层磁盘存储介质上,避免了数据的丢失以及数据顺序的打乱,为高可靠性应用和高可靠性虚拟机提供了数据一致性保证。2、为I/O性能虚拟机提供了性能保证由于采用了虚拟磁盘写缓存管理模块,为性能型虚拟机在虚拟机管理器中创建一个单独的写缓存来存储虚拟机的写请求和数据,配合虚拟磁盘写缓存刷新管理模块,弥补了禁用底层磁盘写缓存带来的I/o性能损失,保证了虚拟机的I/o性能。3、提供了虚拟写缓存的数据隔离性和可实时操控性保证由于虚拟磁盘写缓存管理模块为虚拟机创建一个单独的写缓存,各个虚拟机在虚拟机管理器中的写缓存相互之间是完全隔离的,所以保证了写缓存的数据隔离性;由于采用了虚拟磁盘写缓存开关接口模块和写缓存开关控制模块,各个虚拟机是可以实时的去打开或者关闭其在虚拟机管理器中的相应写缓存,所以保证了写缓存的可实时操控性。本专利技术的另一目的在于提供一种适用于虚拟化平台的虚拟磁盘写缓存系统的操作方法,其能够在保证高可靠性应用和高可靠性虚拟机的数据一致性的前提下,也确保了I/o性能虚拟机的性能,并为虚拟机提供了在虚拟化环境下可隔离的和可操控的虚拟写缓存。为实现上述目的,本专利技术提供了一种适用于虚拟化平台的虚拟磁盘缓存本文档来自技高网
...

【技术保护点】
一种适用于虚拟化平台的虚拟磁盘写缓存系统,包括底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块、虚拟磁盘写缓存刷新管理模块和写缓存控制模块,其特征在于,底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块和虚拟磁盘写缓存刷新管理模块设置于虚拟机管理器中,虚拟磁盘写缓存控制模块的一部分设置于虚拟机管理器中,另一部分设置于虚拟机中;底层磁盘写缓存禁用模块用于禁用底层磁盘的写缓存功能;虚拟磁盘写缓存管理模块用于虚拟机管理器中的写缓存的创建、撤销,接收来自上层虚拟机的写请求,并对写请求进行管理以便于查找和替换;虚拟磁盘写缓存刷新管理模块用于在虚拟机管理器中的写缓存被触发刷新时,把写缓存内的所有写请求数据写到底层物理磁盘;其中,写缓存触发刷新的条件是写数据装满写缓存时,在写缓存进行刷新时,会对写缓存内的写请求按照请求偏移地址进行排序和归并;虚拟磁盘写缓存控制模块用于使虚拟机根据需求去实时控制虚拟机管理器中相应的写缓存的打开与关闭;需求包括I/O性能或数据可靠性。

【技术特征摘要】
1.一种适用于虚拟化平台的虚拟磁盘写缓存系统,包括底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块、虚拟磁盘写缓存刷新管理模块和写缓存控制模块,其特征在于, 底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块和虚拟磁盘写缓存刷新管理模块设置于虚拟机管理器中,虚拟磁盘写缓存控制模块的一部分设置于虚拟机管理器中,另一部分设置于虚拟机中; 底层磁盘写缓存禁用模块用于禁用底层磁盘的写缓存功能; 虚拟磁盘写缓存管理模块用于虚拟机管理器中的写缓存的创建、撤销,接收来自上层虚拟机的写请求,并对写请求进行管理以便于查找和替换; 虚拟磁盘写缓存刷新管理模块用于在虚拟机管理器中的写缓存被触发刷新时,把写缓存内的所有写请求数据写到底层物理磁盘;其中,写缓存触发刷新的条件是写数据装满写缓存时,在写缓存进行刷新时,会对写缓存内的写请求按照请求偏移地址进行排序和归并; 虚拟磁盘写缓存控制模块用于使虚拟机根据需求去实时控制虚拟机管理器中相应的写缓存的打开与关闭;需求包括I/o性能或数据可靠性。2.根据权利要求1所述的虚拟磁盘写缓存系统,其特征在于,上层虚拟机的所有写请求都使用写直达的方式写到底层磁盘。3.根据权利要求1所述的虚拟磁盘写缓存系统,其特征在于, 虚拟磁盘写缓存管理模块包括虚拟磁盘写缓存创建子模块、虚拟磁盘写缓存请求管理子模块以及虚拟磁盘写缓存撤销子模块; 虚拟磁盘写缓存控制模块包括设置在虚拟机中的虚拟磁盘写缓存控制接口子模块和设置在虚拟机管理器中的虚拟磁盘写缓存控制开关子模块。4.根据权利要求3所述的虚拟磁盘写缓存系统,其特征在于, 虚拟磁盘写缓存创建子模块用于在虚拟机启动时,或虚拟机通过虚拟磁盘写缓存控制接口子模块要求打开虚拟机管理器中的写缓存时,在虚拟机管理器中为虚拟机分配一片内存空间作为写缓存; 虚拟磁盘写缓存请求管理子模块用于接收虚拟机的写请求及写数据,并将写请求和写数据存储在虚拟机管理器中的写缓存中,并用双向链表和红黑树两种数据结构对该写请求进行管理,以便于写请求的查找和替换; 虚拟磁盘写缓存撤销子模块用于在虚拟机关闭或发生迁移时,或者虚拟机通过虚拟磁盘写缓存控制接口模块要求关闭虚拟机管理器中的写缓存时,首先调用虚拟磁盘写缓存刷新管理模块刷新虚拟机管理器中写缓存中的所有写数据,然后释放写缓存占用的内存资源,最后撤销写缓存。5.根据权利要求4所述的虚拟磁盘写缓存系统,其特征在于,每个写请求包括三个元数据字段偏移地址字段用于指示该写请求的数据在虚拟机镜像文件中的存储位置,缓存区指针字段用于指向该写请求的数据在写缓存内存区中的存储位置,数据大小字段用于记录写数据的大小; 写请求的写数据存放在写缓存的写数据内存区域中,而每个写请求按照它到达虚拟机管理器的先后顺序依次将其元数据存放在写缓存的元数据内存区域中,并且每个写请求的元数据字段同时并入双向链表和红黑树两种数据结构中。6.根据权利要求3所述的虚拟磁盘写缓存系统,其特征在于,虚拟磁盘写缓存控制...

【专利技术属性】
技术研发人员:金海廖小飞王绪洪李丁丁
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1