数据中心中KVM虚拟机的虚拟硬盘系统及数据中心技术方案

技术编号:20362964 阅读:23 留言:0更新日期:2019-02-16 16:34
本发明专利技术公开了一种数据中心中KVM虚拟机的虚拟硬盘系统及数据中心,该数据中心中KVM虚拟机的虚拟硬盘系统该包括:从环形缓存区获取客户机与宿主机之间发起的含有虚拟块数据地址及数据块的事务的Vhost‑blk驱动模块、管理宿主机的非易失性内存的分配与回收的非易失性内存管理模块、VBA翻译模块,将虚拟块数据地址翻译成实际数据块地址,并判断是否在一致性缓存中命中,BIO重定向模块,根据数据块经过翻译后的实际数据块地址在宿主机的物理磁盘中进行存取操作。在本发明专利技术中,通过vhost‑blk驱动模块实现了内核级模拟的虚拟硬盘系统,缩短了客户机访问宿主机物理磁盘的软件路径,降低了处理器的开销,提高了对物理磁盘访问效率。

【技术实现步骤摘要】
数据中心中KVM虚拟机的虚拟硬盘系统及数据中心
本专利技术属于数据中心
,具体涉及一种数据中心中KVM虚拟机的虚拟硬盘系统及其一种数据中心。
技术介绍
数据中心(InternetDataCenter,IDC)是互联网内容提供商(ICP)、企业、媒体和各类网站提供大规模、高质量、安全可靠的专业化服务器托管、空间租用、网络批发带宽以及ASP、EC等业务。IDC是对入驻(Hosting)企业、商户或网站服务器群托管的场所;是各种模式电子商务赖以安全运作的基础设施,也是支持企业及其商业联盟(其分销商、供应商、客户等)实施价值链管理的平台。随着技术的不断发展,数据中心的物理资源或者底层资源的虚拟化技术正在成为最热门的研究方向。KVM(Kernel-basedVirtualMachine)内置于Linux内核,是一种基于硬件的完全虚拟化系统。KVM基本结构由KVMDriver和Qemu组成。其中,KVMDriver已经成为了Linux内核的一个模块,并负责创建虚拟机、虚拟内存的分配、虚拟CPU寄存器的读/写与运行等;Qemu用于模拟PC硬件的用户空间组建,提供硬盘、网络等设备模型以及访问途径。Qemu是运行在HOSTOS(主机操作系统)中的一个应用程序,并以宿主机文件的形式存储虚拟机硬盘数据,并提供raw和qcow2两种常用的文件格式。qcow2提供cow(写时复制)技术,数据块仅在更新时被分配,并提供了snapshot(快照功能)。参图1所示,qcow2采用两级索引表形式的数据索引块方式将虚拟机IO请求(虚拟机向宿主机发起的事务)的virtualblockaddress(VBA)转化为Qcow2镜像文件偏移imageblockaddress(IBA)。一个VBA地址d被分为三个部分,d=(d1,d2,d3)。其中d1作为L1Table的索引以获取L2Tables中的索引表X,d2作为L2Tables偏移获取数据块Y。请求数据便位于数据块Y偏移d3的位置。Raw虽然没有元数据的开销,但是需要事先填充文件,文件创建速度慢,无法实现虚拟硬盘资源的按需分配,且不支持虚拟镜像的快照功能,只能借助LVM(逻辑卷),甚至版本管理等外部软件来实现,效率较低,占用虚拟硬盘空间较大。Qcow2虽然解决了raw中不能按需分配虚拟硬盘资源及快照功能的缺陷,但是Qcow2创建文件的速度仍然很低,并已成为KVM虚拟机的瓶颈;尤其在并行磁盘系统写IO密集型领域中尤为明显,并使得整个虚拟计算机处于等待物理磁盘IO的状态,导致无法执行其他操作。Qcow2提供在初始化时生成全部元数据功能,以避免数据块的迁移,但也导致失去了cow所实现的按需分配虚拟硬盘资源的效果。尤其在虚拟硬盘系统较大时,需要占用大量的物理磁盘空间。1TB的虚拟硬盘需要消耗128MB的元数据空间,从而造成了现有技术中加载并运行数据中心中KVM虚拟机所依赖的物理机的物理磁盘空间的极大浪费。有鉴于此,有必要对现有技术中数据中心中KVM虚拟机的虚拟硬盘系统虚拟硬盘及数据中心予以改进,以解决上述技术瑕疵。
技术实现思路
本专利技术的目的之一在于公开一种数据中心中KVM虚拟机的虚拟硬盘系统,以及基于该数据中心中KVM虚拟机的虚拟硬盘系统所形成的一种数据中心,用以改变现有技术中数据中心中的虚拟机磁盘的存储方式,并避免使用现有技术中的宿主机文件系统(Files-System,FS),缩短虚拟机磁盘操作的软件路径,优化元数据组织结构和数据块存储方式,并能够保证元数据实现按需分配以满足TB级以上的大容量虚拟硬盘系统的需求,提高客户机对宿主机中的物理磁盘进行访问的效率,实现对数据中心中虚拟资源的优化配置。为实现上述第一个专利技术目的,本专利技术公开了一种数据中心中KVM虚拟机的虚拟硬盘系统,包括:Vhost-blk驱动模块,从环形缓存区获取客户机与宿主机之间发起的含有虚拟块数据地址及数据块的事务;非易失性内存管理模块,管理宿主机的非易失性内存的分配与回收;VBA翻译模块,将虚拟块数据地址翻译成实际数据块地址,并判断是否在一致性缓存中命中,并仅在未命中时由所述非易失性内存管理模块在一致性缓存(40)中分配空闲缓存页面,以存放数据块;BIO重定向模块,根据数据块经过翻译后的实际数据块地址在宿主机的物理磁盘中进行存取操作,并发送至Vhost-blk驱动模块。作为本专利技术的进一步改进,所述非易失性内存管理模块包括slab分配器,以对宿主机的物理内存进行分配回收大块物理内存的操作,用以存放固定长度的结构化数据,所述结构化数据包括KVM虚拟机的虚拟硬盘系统中的元数据和写入所述一致性缓存中的固定长度块数据。作为本专利技术的进一步改进,所述非易失性内存管理模块还包括缓存页面访问频率统计器,用以计算在上一次缓存页面回收过程后到本次缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干缓存页面,并进行缓存页面的回收操作。作为本专利技术的进一步改进,所述非易失性内存管理模块能够将非易失性内存中所存储的元数据以外剩余的物理内存空间作为所述KVM虚拟机的虚拟硬盘系统的一致性缓存,以快速存储客户机所发起的事务中写请求所对应的块数据,当非易失性内存耗尽时,所述非易失性内存管理模块以LRU算法挑选出最近最不常使用的一致性缓存页面,并通过BIO重定向模块将所述“最近最不常使用的一致性缓存页面”写入物理磁盘连续扇区中,以达到回收页面的目的,使得在一致性缓存中腾出空闲的一致性缓存页面,用以存放客户机发起的新事务所对应的块数据。作为本专利技术的进一步改进,所述VBA翻译模块以虚拟块数据地址为索引,以实际块数据地址为叶子节点值,构建核心数据结构radix树,以记录虚拟块数据地址与实际数据块地址之间的映射关系,并通过写时复制与事务认证机制确保radix树中叶子节点所代表的映射关系与数据块的一致性。作为本专利技术的进一步改进,所述VBA翻译模块根据客户机发起的事务以判断是否需要改变所述事务所对应的数据块与虚拟块数据地址之间的映射关系;若是,则在原始的radix树中创建一新节点,并待所述事务所对应的块数据写入非易失性内存(107)后,将radix树中的旧节点的父节点指向该新节点,并释放旧节点;若否,则在原始的radix树中不创建新节点,并仅更改映射关系;所述非易失性内存包括:非易失性RAMDISK、NVDIMM、连接备用电源的易失性内存、PCM、FRAM、支持随机访问的固态存储装置。作为本专利技术的进一步改进,所述BIO重定向模块将物理磁盘划分为若干块组,并通过linux交换区算法将每一个虚拟硬盘的块数据存放于一个块组中,所述块组被进一步划分为若干簇。作为本专利技术的进一步改进,所述缓存页面访问频率统计器计算在上一次一致性缓存页面回收过程后到本次一致性缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干一致性缓存页面,并进行一致性缓存页面的回收操作,并将每一次一致性缓存页面回收操作后将回收的一致性缓存页面放置于同一个簇中;所述簇的容量规格与处理器所能映射的非易失性内存页面粒度及宿主机的物理磁盘的物理介质所能处理的最佳写操作的数据规格相适应。作为本专利技术的进一步改进,所述BIO重定向模块将自客户机发起的事务中的虚拟数据块地址替换为经过VBA翻本文档来自技高网
...

【技术保护点】
1.一种数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,包括:Vhost‑blk驱动模块(10),从环形缓存区(3)获取客户机(1)与宿主机(2)之间发起的含有虚拟块数据地址及数据块的事务;非易失性内存管理模块(20),管理宿主机(2)的非易失性内存的分配与回收;VBA翻译模块(30),将虚拟块数据地址翻译成实际数据块地址,并判断是否在一致性缓存(40)中命中,并仅在未命中时由所述非易失性内存管理模块(20)在一致性缓存(40)中分配空闲缓存页面,以存放数据块;BIO重定向模块(50),根据数据块经过翻译后的实际数据块地址在宿主机(2)的物理磁盘(106)中进行存取操作,并发送至Vhost‑blk驱动模块(10)。

【技术特征摘要】
1.一种数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,包括:Vhost-blk驱动模块(10),从环形缓存区(3)获取客户机(1)与宿主机(2)之间发起的含有虚拟块数据地址及数据块的事务;非易失性内存管理模块(20),管理宿主机(2)的非易失性内存的分配与回收;VBA翻译模块(30),将虚拟块数据地址翻译成实际数据块地址,并判断是否在一致性缓存(40)中命中,并仅在未命中时由所述非易失性内存管理模块(20)在一致性缓存(40)中分配空闲缓存页面,以存放数据块;BIO重定向模块(50),根据数据块经过翻译后的实际数据块地址在宿主机(2)的物理磁盘(106)中进行存取操作,并发送至Vhost-blk驱动模块(10)。2.根据权利要求1所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述非易失性内存管理模块(20)包括slab分配器(201),以对宿主机(2)的物理内存进行分配回收大块物理内存的操作,用以存放固定长度的结构化数据,所述结构化数据包括KVM虚拟机的虚拟硬盘系统(100)中的元数据和写入所述一致性缓存(40)中的固定长度块数据。3.根据权利要求2所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述非易失性内存管理模块(20)还包括缓存页面访问频率统计器(202),用以计算在上一次缓存页面回收过程后到本次缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干缓存页面,并进行缓存页面的回收操作。4.根据权利要求3所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述非易失性内存管理模块(20)能够将非易失性内存(107)中所存储的元数据以外剩余的物理内存空间作为所述KVM虚拟机的虚拟硬盘系统(100)的一致性缓存(40),以快速存储客户机(1)所发起的事务中写请求所对应的块数据,当非易失性内存(107)耗尽时,所述非易失性内存管理模块(20)以LRU算法挑选出最近最不常使用的一致性缓存页面,并通过BIO重定向模块(50)将所述“最近最不常使用的一致性缓存页面”写入物理磁盘(106)连续扇区中,以达到回收页面的目的,使得在一致性缓存(40)中腾出空闲的一致性缓存页面,用以存放客户机(1)发起的新事务所对应的块数据。5.根据权利要求1所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述VBA翻译模块(30)以虚拟块数据地址为索引,以实际块数据地址为叶子节点值,构建核心数据结构radix树,以记录虚拟块数据地址与实际数据块地址之间的映射关系,并通过写时复制与事务认证机制确保radix树中叶子节点所代表的映射关系与数据块的一致性。6.根据权利要求5所述的数据中心中KVM虚拟机的...

【专利技术属性】
技术研发人员:杨少白
申请(专利权)人:深圳润迅数据通信有限公司
类型:发明
国别省市:广东,44

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

1