【技术实现步骤摘要】
本专利技术属于计算机系统结构虚拟化环境下磁盘缓存
,更具体地,涉及一种。
技术介绍
虚拟化软件可以大幅度提高IT基础设施资源和应用程序的利用率及可用性,但是其磁盘I/o性能比起传统操作系统来说却有大幅度的下降,这也一直是虚拟化产品广泛部署的一大障碍。因此,各大厂商和研究机构都在致力于解决磁盘虚拟化I/o的性能问题。磁盘缓存作为磁盘子系统不可或缺的一部分,可以较好的解决虚拟机磁盘I/o瓶颈。但是,在目前普遍流行的SATA/IDE磁盘上,由于其存在不可操控性和不可隔离性的缺陷,使得其不能够很好的适应虚拟化环境下的多操作系统多需求的计算环境。尽管一些产商已经在磁盘缓存中使用了具有非挥发性可靠闪存芯片来解决此类问题,但是其一般用于高端市场,价格过于昂贵,不能够得到广泛普及。在当前主流的计算机体系结构当中,内存子系统和磁盘子系统之间的数据处理速度存在着巨大的性能差异,而磁盘缓存(又称磁盘板载缓存)作为当前主流磁盘设备中不可或缺的一部分,承担着计算机数据在这二者之间性能过渡的重任。但是,随着虚拟化技术在云计算数据中心的出现和普及,各个虚拟机内部的用户应用程序对磁盘缓存的使用存在以下两个问题1)不可操控性;2)互不隔离性。不可操控性指的是在一般情况下,由于虚拟机内部进程不具备直接操作I/O设备的特权,使得虚拟机内部的用户进程不能够对磁盘缓存按照自身的需求进行相关的配置。例如一些用户进程对自身的写数据的可靠性要求较高,关闭磁盘写缓存可以降低数据在磁盘写缓存中因为停电或者其他原因而造成丢失或者损坏的风险。互不隔离性指的是即使在虚拟机内部实现了可以直接操控磁盘缓存的方 ...
【技术保护点】
一种适用于虚拟化平台的虚拟磁盘写缓存系统,包括底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块、虚拟磁盘写缓存刷新管理模块和写缓存控制模块,其特征在于,底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块和虚拟磁盘写缓存刷新管理模块设置于虚拟机管理器中,虚拟磁盘写缓存控制模块的一部分设置于虚拟机管理器中,另一部分设置于虚拟机中;底层磁盘写缓存禁用模块用于禁用底层磁盘的写缓存功能;虚拟磁盘写缓存管理模块用于虚拟机管理器中的写缓存的创建、撤销,接收来自上层虚拟机的写请求,并对写请求进行管理以便于查找和替换;虚拟磁盘写缓存刷新管理模块用于在虚拟机管理器中的写缓存被触发刷新时,把写缓存内的所有写请求数据写到底层物理磁盘;其中,写缓存触发刷新的条件是写数据装满写缓存时,在写缓存进行刷新时,会对写缓存内的写请求按照请求偏移地址进行排序和归并;虚拟磁盘写缓存控制模块用于使虚拟机根据需求去实时控制虚拟机管理器中相应的写缓存的打开与关闭;需求包括I/O性能或数据可靠性。
【技术特征摘要】
1.一种适用于虚拟化平台的虚拟磁盘写缓存系统,包括底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块、虚拟磁盘写缓存刷新管理模块和写缓存控制模块,其特征在于, 底层磁盘写缓存禁用模块、虚拟磁盘写缓存管理模块和虚拟磁盘写缓存刷新管理模块设置于虚拟机管理器中,虚拟磁盘写缓存控制模块的一部分设置于虚拟机管理器中,另一部分设置于虚拟机中; 底层磁盘写缓存禁用模块用于禁用底层磁盘的写缓存功能; 虚拟磁盘写缓存管理模块用于虚拟机管理器中的写缓存的创建、撤销,接收来自上层虚拟机的写请求,并对写请求进行管理以便于查找和替换; 虚拟磁盘写缓存刷新管理模块用于在虚拟机管理器中的写缓存被触发刷新时,把写缓存内的所有写请求数据写到底层物理磁盘;其中,写缓存触发刷新的条件是写数据装满写缓存时,在写缓存进行刷新时,会对写缓存内的写请求按照请求偏移地址进行排序和归并; 虚拟磁盘写缓存控制模块用于使虚拟机根据需求去实时控制虚拟机管理器中相应的写缓存的打开与关闭;需求包括I/o性能或数据可靠性。2.根据权利要求1所述的虚拟磁盘写缓存系统,其特征在于,上层虚拟机的所有写请求都使用写直达的方式写到底层磁盘。3.根据权利要求1所述的虚拟磁盘写缓存系统,其特征在于, 虚拟磁盘写缓存管理模块包括虚拟磁盘写缓存创建子模块、虚拟磁盘写缓存请求管理子模块以及虚拟磁盘写缓存撤销子模块; 虚拟磁盘写缓存控制模块包括设置在虚拟机中的虚拟磁盘写缓存控制接口子模块和设置在虚拟机管理器中的虚拟磁盘写缓存控制开关子模块。4.根据权利要求3所述的虚拟磁盘写缓存系统,其特征在于, 虚拟磁盘写缓存创建子模块用于在虚拟机启动时,或虚拟机通过虚拟磁盘写缓存控制接口子模块要求打开虚拟机管理器中的写缓存时,在虚拟机管理器中为虚拟机分配一片内存空间作为写缓存; 虚拟磁盘写缓存请求管理子模块用于接收虚拟机的写请求及写数据,并将写请求和写数据存储在虚拟机管理器中的写缓存中,并用双向链表和红黑树两种数据结构对该写请求进行管理,以便于写请求的查找和替换; 虚拟磁盘写缓存撤销子模块用于在虚拟机关闭或发生迁移时,或者虚拟机通过虚拟磁盘写缓存控制接口模块要求关闭虚拟机管理器中的写缓存时,首先调用虚拟磁盘写缓存刷新管理模块刷新虚拟机管理器中写缓存中的所有写数据,然后释放写缓存占用的内存资源,最后撤销写缓存。5.根据权利要求4所述的虚拟磁盘写缓存系统,其特征在于,每个写请求包括三个元数据字段偏移地址字段用于指示该写请求的数据在虚拟机镜像文件中的存储位置,缓存区指针字段用于指向该写请求的数据在写缓存内存区中的存储位置,数据大小字段用于记录写数据的大小; 写请求的写数据存放在写缓存的写数据内存区域中,而每个写请求按照它到达虚拟机管理器的先后顺序依次将其元数据存放在写缓存的元数据内存区域中,并且每个写请求的元数据字段同时并入双向链表和红黑树两种数据结构中。6.根据权利要求3所述的虚拟磁盘写缓存系统,其特征在于,虚拟磁盘写缓存控制...
【专利技术属性】
技术研发人员:金海,廖小飞,王绪洪,李丁丁,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。