CN105511798B - 虚拟机缓存资源管理方法和系统 - Google Patents

虚拟机缓存资源管理方法和系统 Download PDF

Info

Publication number
CN105511798B
CN105511798B CN201410493764.9A CN201410493764A CN105511798B CN 105511798 B CN105511798 B CN 105511798B CN 201410493764 A CN201410493764 A CN 201410493764A CN 105511798 B CN105511798 B CN 105511798B
Authority
CN
China
Prior art keywords
resource
virtual machine
write buffer
buffer resource
read buffer
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.)
Active
Application number
CN201410493764.9A
Other languages
English (en)
Other versions
CN105511798A (zh
Inventor
赖培源
樊勇兵
金华敏
陈天
刘艺
陈楠
丁圣勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201410493764.9A priority Critical patent/CN105511798B/zh
Publication of CN105511798A publication Critical patent/CN105511798A/zh
Application granted granted Critical
Publication of CN105511798B publication Critical patent/CN105511798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开一种虚拟机缓存资源管理方法和系统。其中当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例;根据新虚拟机的实际使用存储量、需要的读写缓存比例,确定新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew;根据为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限;若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给新虚拟机;从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。从而可有效提高虚拟机的缓存效率和IO能力。

Description

虚拟机缓存资源管理方法和系统
技术领域
本发明涉及计算机领域,特别涉及一种虚拟机缓存资源管理方法和系统。
背景技术
随着虚拟化技术的广泛应用,IT资源将成为像水电一样可运营的基础设施,虚拟化与云计算技术正在引领IT技术的发展方向,越来越多的企业采用虚拟化与云计算技术来构建新一代IT系统,以提升IT系统的资源利用率,并在保证服务级别水平的前提下降低成本;同时帮助业务更加具有敏捷性,加速新业务的上线时间。
然而,由于使用共享存储来确保系统的可迁移、高可靠、动态负载均衡等高级特性,虚拟机的使用成本居高不下。虚拟化与云计算技术的广泛应用也给后端的存储系统提出更加严峻的挑战。如:需要存储系统能够承载更多的业务、更高的性能与可靠性、更好的扩展性、保证关键业务服务级别水平并降低成本等。为了使云计算服务能提供更加广泛的服务,更高的性价比成为了核心需求,其中,如何有效降低虚拟机存储的资源成本,是目前需要克服的技术重点。
虚拟机技术给服务器带来更高的利用率、给业务带来更便捷的部署,降低了TCO,因而在众多行业得到了广泛的应用。与此同时,虚拟机应用给存储带来以下挑战,例如由于采用共享存储方式部署虚拟机,单个卷上可能承载几十或上百的虚拟机,导致卷IO呈现更多的随机特征,这对传统的Cache技术提出挑战;此外,由于单个卷承载多个虚拟机业务,要求存储系统具备协调虚拟机访问竞争,保证对QoS要求高的虚拟机获取到资源实现性能目标。伴随着x86服务器技术的快速发展,基于X86服务器的分布式存储技术成为了解决该问题的主要方式之一。
基于X86服务器的分布式存储资源池化主要是指通过在X86服务器上部署分布式存储软件,对外提供块(FC/ISCSI)、文件(NFS/CIFS)以及对象(Restful)等数据访问接口,形成存储的资源池化。以VMware公司提供的vSAN为例,通过使用服务器中的基于闪存的设备(如SSD盘)和磁盘(HDD)组合,提供集群式的分布式文件存储。闪存设备主要作为数据的缓存,磁盘作为数据存储的载体,当虚拟机数据写入时,系统先将数据写到闪存上,再由闪存复制或移动到磁盘上,通过该功能,可以实现小文件的合并写入,有利于提高系统的磁盘IO能力。但系统读取数据时,先在闪存上查找所需数据,如果没有找到,再到磁盘上进行查找,有利于热点数据的快速读写,提高系统性能。且不同于内存的缓存功能,在服务器下电后,闪存上的热点数据仍能得到保留。
然而,如上文所述,由于系统承载的虚拟机数量通常较大,所呈现的IO需求具有很大的随机性,所以对系统的读写资源需求及IO分配方法有着多样化、差异化的需求,而按照vSAN的30%读缓存和70%写缓存的固定比例,虽然可能具有一定的统计依据,但实际上并不一定能很好满足资源池化环境下多虚拟机的存储需求。例如,在某系统中基于虚拟机的需求,如果统计下来,结果是所有虚拟机平均需要90%的随机读,而需要10%的顺序写缓存,则可以该比例提供读缓存的比例,而不是固定比例。
随着虚拟化技术的不断成熟,计算资源已经逐步实现了池化和统一管理,而存储资源由于软硬件设备的紧耦合等特性,无法实现统一管理,存储系统比较分散,同时,X86服务器上的本地存储不能达到充分利用,利用相关技术实现存储资源池化和统一管理,采用更加适配用户虚拟机资源需求的缓存分配方法,对充分利用现有存储设备,提升资源利用率,提高运维管理水平都具有十分重要的意义。
发明内容
本发明实施例提供一种虚拟机缓存资源管理方法和系统。通过直接适配本地存储系统的缓存策略,可有效提高虚拟机的缓存效率和输入输出能力。
根据本发明的一个方面,提供一种虚拟机缓存资源管理方法,包括:
当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例;
根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew;
获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W,其中N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源;
根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限;
判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓存调整门限;
若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给所述新虚拟机;
从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。
在一个实施例中,根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew的步骤包括:
将所述新虚拟机的实际使用存储量上浮m%,以得到所述新虚拟机的使用容量A,其中m为预定的上浮值;
将所述新虚拟机的使用容量A与需要的读缓存比例相乘,以得到所述新虚拟机需要的读缓存资源Rnew;
将所述新虚拟机的使用容量A与需要的写缓存比例相乘,以得到所述新虚拟机需要的写缓存资源Wnew。
在一个实施例中,根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限的步骤包括:
将读缓存资源R和预定的调整变化比例n%相乘,以确定当前的读缓存调整门限;
将写缓存资源W和预定的调整变化比例n%相乘,以确定当前的写缓存调整门限。
在一个实施例中,从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源的步骤包括:
从已加入系统的第i个虚拟机的读缓存资源Ri中回收大小为Cri的读缓存资源,其中Cri=Rnew×Ri/R,以便对第i个虚拟机的读缓存资源进行更新;
从已加入系统的第i个虚拟机的写缓存资源Wi中回收大小为Cwi的写缓存资源,其中Cwi=Wnew×Wi/W,以便对第i个虚拟机的写缓存资源进行更新。
在一个实施例中,若读缓存资源Rnew不小于读缓存调整门限,或者写缓存资源Wnew不小于写缓存调整门限,则按照预先设定的压缩比例,对已加入系统的虚拟机的读缓存资源和写缓存资源进行压缩,并将回收的资源作为保留资源;
按照预先设定的压缩比例,对所述新虚拟机的读缓存资源Rnew、写缓存资源Wnew进行压缩,以得到所述新虚拟机的读缓存分配资源Rd和写缓存分配资源Wd;
从保留资源中取出大小为Rd的读缓存资源和大小为Wd的写缓存资源以分配给所述新虚拟机。
根据本发明的另一方面,提供一种虚拟机缓存资源管理系统,包括信息收集单元、缓存资源确定单元、已分配资源获取单元、门限确定单元、判断单元、资源分配单元和资源回收单元,其中:
信息收集单元,用于当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例;
缓存资源确定单元,用于根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew;
已分配资源获取单元,用于获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W,其中N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源;
门限确定单元,用于根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限;
判断单元,用于判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓存调整门限;
资源分配单元,用于根据判断单元的判断结果,若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给所述新虚拟机;
资源回收单元,用于从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。
在一个实施例中,缓存资源确定单元具体将所述新虚拟机的实际使用存储量上浮m%,以得到所述新虚拟机的使用容量A,其中m为预定的上浮值;将所述新虚拟机的使用容量A与需要的读缓存比例相乘,以得到所述新虚拟机需要的读缓存资源Rnew;将所述新虚拟机的使用容量A与需要的写缓存比例相乘,以得到所述新虚拟机需要的写缓存资源Wnew。
在一个实施例中,门限确定单元具体将读缓存资源R和预定的调整变化比例n%相乘,以确定当前的读缓存调整门限;将写缓存资源W和预定的调整变化比例n%相乘,以确定当前的写缓存调整门限。
在一个实施例中,资源回收单元具体从已加入系统的第i个虚拟机的读缓存资源Ri中回收大小为Cri的读缓存资源,其中Cri=Rnew×Ri/R,以便对第i个虚拟机的读缓存资源进行更新;从已加入系统的第i个虚拟机的写缓存资源Wi中回收大小为Cwi的写缓存资源,其中Cwi=Wnew×Wi/W,以便对第i个虚拟机的写缓存资源进行更新。
在一个实施例中,资源回收单元还用于根据判断单元的判断结果,若读缓存资源Rnew不小于读缓存调整门限,或者写缓存资源Wnew不小于写缓存调整门限,则按照预先设定的压缩比例,对已加入系统的虚拟机的读缓存资源和写缓存资源进行压缩,并将回收的资源作为保留资源;按照预先设定的压缩比例,对所述新虚拟机的读缓存资源Rnew、写缓存资源Wnew进行压缩,以得到所述新虚拟机的读缓存分配资源Rd和写缓存分配资源Wd;
资源分配单元还用于从保留资源中取出大小为Rd的读缓存资源和大小为Wd的写缓存资源以分配给所述新虚拟机。
本发明通过当新虚拟机出现后,若所需的读缓存资源和写缓存资源均小于相关门限,则从保留资源中借用相关资源,在从已分配的读缓存资源和写缓存资源中回收借出的资源,从而提高资源分配的效率,可满足虚拟机资源需求的变化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明虚拟机缓存资源管理方法一个实施例的示意图。
图2为本发明虚拟机缓存资源管理方法另一实施例的示意图。
图3为本发明虚拟机缓存资源管理系统一个实施例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本发明虚拟机缓存资源管理方法一个实施例的示意图。优选的,本实施例的方法步骤可由相应的管理系统执行。
步骤101,当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例。
例如,所需要的读缓存为30%,所需要的写缓存为70%。
步骤102,根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew。
在一个实施例中,可将所述新虚拟机的实际使用存储量上浮m%,以得到所述新虚拟机的使用容量A,其中m为预定的上浮值。将所述新虚拟机的使用容量A与需要的读缓存比例相乘,以得到所述新虚拟机需要的读缓存资源Rnew;将所述新虚拟机的使用容量A与需要的写缓存比例相乘,以得到所述新虚拟机需要的写缓存资源Wnew。
例如,新虚拟机的实际使用存储量为10GB,上浮10%后为11GB。所需要的读缓存为30%,所需要的写缓存为70%,则11GB×30%=3.3GB,11GB×70%=7.7GB。
步骤103,获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W。
其中N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源。
步骤104,根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限。
在一个实施例中,将读缓存资源R和预定的调整变化比例n%相乘,以确定当前的读缓存调整门限;将写缓存资源W和预定的调整变化比例n%相乘,以确定当前的写缓存调整门限。
例如,读缓存资源R为132GB,写缓存资源W为308GB,调整变化比例为20%,则132GB×20%=26.4GB,308GB×20%=61.6GB。也就是说,只有当读缓存发生的变化超过26.4GB,写缓存发生的变化超过61.6GB时,系统才会调整缓存策略。
步骤105,判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓存调整门限。
步骤106,若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给所述新虚拟机。
步骤107,从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。
在一个实施例中,从已加入系统的第i个虚拟机的读缓存资源Ri中回收大小为Cri的读缓存资源,其中Cri=Rnew×Ri/R,以便对第i个虚拟机的读缓存资源进行更新。从已加入系统的第i个虚拟机的写缓存资源Wi中回收大小为Cwi的写缓存资源,其中Cwi=Wnew×Wi/W,以便对第i个虚拟机的写缓存资源进行更新。
基于本发明上述实施例提供的虚拟机缓存资源管理方法,当新虚拟机出现后,若所需的读缓存资源和写缓存资源均小于相关门限,则从保留资源中借用相关资源,在从已分配的读缓存资源和写缓存资源中回收借出的资源,从而提高资源分配的效率,可满足虚拟机资源需求的变化。
下面通过一个具体示例进行说明。
假设系统包括三台虚拟机,分别使用的存储需求如下:
(1)虚拟机A:磁盘资源100GB,实际使用存储量50G,所需的读缓存30%,写缓存资源需求是70%。
(2)虚拟机B:磁盘资源200GB,实际使用存储量100G,所需的读缓存30%,写缓存资源需求是70%。
(3)虚拟机C:磁盘资源500GB,实际使用存储量250G,所需的读缓存30%,写缓存资源需求是70%。
假设系统总的缓存资源为500GB,且假设统计分析中的实际使用的磁盘容量上浮一定比例m%为10%,进行以下分析,如表1所示:
(1)虚拟机A:根据实际使用的存储量50GB,上浮10%后为55GB,则所需读缓存为55GB×30%=16.5GB、写缓存为55GB×70%=38.5GB。
(2)虚拟机B:根据实际使用的存储量100GB,上浮10%后为110GB,则所需读缓存为110GB×30%=33GB、写缓存为110GB×70%=77GB。
(3)虚拟机C:根据实际使用的存储量250GB,上浮10%后为275GB,则所需读缓存为275GB×30%=82.5GB、写缓存为275GB×70%=192.5GB。
综上可分析,三台虚拟机总的读缓存需求为各台虚拟机读缓存资源需求的总和,即为16.5GB+33GB+82.5GB=132GB;同理,三台虚拟机总的写缓存需求为各台虚拟机写缓存资源需求的总和,即为38.5GB+77GB+192.5GB=308GB。此时的缓存资源的读写比例为132:308=3:7。这时系统将按需分配读写缓存需求,将缓存资源分配为132GB读缓存、308GB写缓存,剩下的60GB缓存作为保留资源。当然,这里根据系统设置,也可以只分配一定比例的缓存资源,如读缓存可能只有50%的实际使用资源66GB,而写缓存也只有50%,即154GB,而保留资源则将增加为280GB。
表1
假设第四台虚拟机D出现,磁盘资源20GB,实际使用存储量10G,所需的读缓存30%,写缓存资源需求是70%。并假设系统的调整变化比例n%为20%,即当读缓存发生132G×20%=26.4GB变量,或者写缓存发生308G×20%=61.6GB变量时,系统才调整缓存策略和资源分配比例。
由于在新增虚拟机D时,根据实际使用的存储量10GB,上浮10%后为11GB,则所需读缓存为11GB×30%=3.3GB、写缓存为11GB×70%=7.7GB。由于增加的读缓存需求3.3GB和写缓存需求7.7GB都小于调整门槛,所以系统不作资源调整,而是按照系统比例为虚拟机进行重新分配,例如,这里的调整可以通过在保留资源中借出约10GB的缓存资源用以满足虚拟机D的需求,而从其他三台虚拟机回收相同容量的缓存资源,从而满足快速完成资源调整。
例如,当前三个虚拟机A、B和C所占用的读缓存资源为132GB,需要回收3.3GB;所占用的写缓存资源为308GB,需要回收7.7GB。可根据各虚拟机所占用的比例来进行回收。例如,虚拟机A当前占用的读缓存为16.5GB,写缓存为38.5GB,则从虚拟机A回收的读缓存资源为3.3×16.5/132=0.41GB,从虚拟机A回收的写缓存资源为7.7×38.5/308=0.96GB。虚拟机B当前占用的读缓存为33GB,写缓存为77GB,则从虚拟机B回收的读缓存资源为3.3×33/132=0.83GB,从虚拟机B回收的写缓存资源为7.7×77/308=1.93GB。虚拟机C当前占用的读缓存为82.5GB,写缓存为192.5GB,则从虚拟机C回收的读缓存资源为3.3×82.5/132=2.06GB,从虚拟机C回收的写缓存资源为7.7×192.5/308=4.81GB。
此时,虚拟机A、B、C和D所占用的读缓存资源和写缓存资源如表2所示。
表2
图2为本发明虚拟机缓存资源管理方法另一实施例的示意图。优选的,本实施例的方法步骤可由管理系统执行。
步骤201,当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例。
步骤202,根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew。
步骤203,获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W。
其中N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源。
步骤204,根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限。
步骤205,判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓存调整门限。
步骤206,若读缓存资源Rnew不小于读缓存调整门限,或者写缓存资源Wnew不小于写缓存调整门限,则按照预先设定的压缩比例,对已加入系统的虚拟机的读缓存资源和写缓存资源进行压缩,并将回收的资源作为保留资源。
步骤207,按照预先设定的压缩比例,对所述新虚拟机的读缓存资源Rnew、写缓存资源Wnew进行压缩,以得到所述新虚拟机的读缓存分配资源Rd和写缓存分配资源Wd。
步骤208,从保留资源中取出大小为Rd的读缓存资源和大小为Wd的写缓存资源以分配给所述新虚拟机。
下面通过一个具体示例对本发明进行说明。
假设系统包括三台虚拟机,资源分配情况如表1所示。假设另一虚拟机E出现,磁盘资源300GB,实际使用存储量200G,所需的读缓存50%,写缓存资源需求是50%。实际使用存储量200G上浮10%后为220GB,则所需读缓存为220GB×50%=110GB、写缓存为220GB×50%=110GB。由于增加的读缓存需求110GB和写缓存需求110GB都大于调整门槛,所以系统需要做出资源调整。
首先重新计算系统的资源需求比例,A、B、C、E总的读缓存需求为各台虚拟机读缓存资源需求的总和,即为16.5GB+33GB+82.5GB+110GB=242GB,同理,总的写缓存需求为38.5GB+77GB+192.5GB+110GB=418GB,两个的资源需求总和242GB+418GB=660GB,超过系统总的缓存资源500GB。
此时需要对虚拟机A、B、C和E的读缓存和写缓存进行压缩。假设按照50%的压缩策略,虚拟机A的读缓存从16.5GB压缩到8.25GB,写缓存从38.5GB压缩到19.25GB,虚拟机B的读缓存从33GB压缩到16.5GB,写缓存从77GB压缩到38.5GB,虚拟机C的读缓存从82.5GB压缩到41.25GB,写缓存从192.5GB压缩到96.25GB。回收的资源可作为保留资源。此外,将虚拟机E所需的读缓存从110GB压缩到55GB,将写缓存为从110GB压缩到55GB,并从保留资源中为虚拟机分配相应的读缓存资源和写缓存资源各55GB。
此时,虚拟机A、B、C和E所占用的读缓存资源和写缓存资源如表3所示。
表3
图3为本发明虚拟机缓存资源管理系统一个实施例的示意图。如图3所示,系统可包括信息收集单元301、缓存资源确定单元302、已分配资源获取单元303、门限确定单元304、判断单元305、资源分配单元306和资源回收单元307。其中:
信息收集单元301,用于当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例。
缓存资源确定单元302,用于根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew。
已分配资源获取单元303,用于获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W。
其中N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源。
门限确定单元304,用于根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限。
判断单元305,用于判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓存调整门限。
资源分配单元306,用于根据判断单元305的判断结果,若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给所述新虚拟机。
资源回收单元307,用于从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。
基于本发明上述实施例提供的虚拟机缓存资源管理系统,当新虚拟机出现后,若所需的读缓存资源和写缓存资源均小于相关门限,则从保留资源中借用相关资源,在从已分配的读缓存资源和写缓存资源中回收借出的资源,从而提高资源分配的效率,可满足虚拟机资源需求的变化。
在一个实施例中,缓存资源确定单元302具体将所述新虚拟机的实际使用存储量上浮m%,以得到所述新虚拟机的使用容量A,其中m为预定的上浮值;将所述新虚拟机的使用容量A与需要的读缓存比例相乘,以得到所述新虚拟机需要的读缓存资源Rnew;将所述新虚拟机的使用容量A与需要的写缓存比例相乘,以得到所述新虚拟机需要的写缓存资源Wnew。
在一个实施例中,门限确定单元304具体将读缓存资源R和预定的调整变化比例n%相乘,以确定当前的读缓存调整门限;将写缓存资源W和预定的调整变化比例n%相乘,以确定当前的写缓存调整门限。
在一个实施例中,资源回收单元307具体从已加入系统的第i个虚拟机的读缓存资源Ri中回收大小为Cri的读缓存资源,其中Cri=Rnew×Ri/R,以便对第i个虚拟机的读缓存资源进行更新;从已加入系统的第i个虚拟机的写缓存资源Wi中回收大小为Cwi的写缓存资源,其中Cwi=Wnew×Wi/W,以便对第i个虚拟机的写缓存资源进行更新。
在一个实施例中,资源回收单元307还用于根据判断单元305的判断结果,若读缓存资源Rnew不小于读缓存调整门限,或者写缓存资源Wnew不小于写缓存调整门限,则按照预先设定的压缩比例,对已加入系统的虚拟机的读缓存资源和写缓存资源进行压缩,并将回收的资源作为保留资源;按照预先设定的压缩比例,对所述新虚拟机的读缓存资源Rnew、写缓存资源Wnew进行压缩,以得到所述新虚拟机的读缓存分配资源Rd和写缓存分配资源Wd。
资源分配单元306还用于从保留资源中取出大小为Rd的读缓存资源和大小为Wd的写缓存资源以分配给所述新虚拟机。
通过实施本发明,可以弥补现有软件定义存储系统中用户定义功能单一,IO适配能力较弱等方面的不足,有效减少无效缓存内容对服务器CPU资源的消耗,有效提高基于本地存储的虚拟机存储系统的缓存效率和IO能力。
此外,系统还可以通过收集到的虚拟机读写的随机、顺序读写比例,进一步调整资源分配、寻址等策略,如在100%顺序读的资源利用中,可以几乎不用进行读缓存,但资源还保留。在100%随机写的时候,则可以通过小数据块合并写入的写缓存策略。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1.一种虚拟机缓存资源管理方法,其特征在于,包括:
当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例;
根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew;
获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W,其中N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源;
根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限;
判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓存调整门限;
若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给所述新虚拟机;
从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。
2.根据权利要求1所述的方法,其特征在于,
根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew的步骤包括:
将所述新虚拟机的实际使用存储量上浮m%,以得到所述新虚拟机的使用容量A,其中m为预定的上浮值;
将所述新虚拟机的使用容量A与需要的读缓存比例相乘,以得到所述新虚拟机需要的读缓存资源Rnew;
将所述新虚拟机的使用容量A与需要的写缓存比例相乘,以得到所述新虚拟机需要的写缓存资源Wnew。
3.根据权利要求1所述的方法,其特征在于,
根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限的步骤包括:
将读缓存资源R和预定的调整变化比例n%相乘,以确定当前的读缓存调整门限;
将写缓存资源W和预定的调整变化比例n%相乘,以确定当前的写缓存调整门限。
4.根据权利要求1所述的方法,其特征在于,
从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源的步骤包括:
从已加入系统的第i个虚拟机的读缓存资源Ri中回收大小为Cri的读缓存资源,其中Cri=Rnew×Ri/R,以便对第i个虚拟机的读缓存资源进行更新;
从已加入系统的第i个虚拟机的写缓存资源Wi中回收大小为Cwi的写缓存资源,其中Cwi=Wnew×Wi/W,以便对第i个虚拟机的写缓存资源进行更新。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
若读缓存资源Rnew不小于读缓存调整门限,或者写缓存资源Wnew不小于写缓存调整门限,则按照预先设定的压缩比例,对已加入系统的虚拟机的读缓存资源和写缓存资源进行压缩,并将回收的资源作为保留资源;
按照预先设定的压缩比例,对所述新虚拟机的读缓存资源Rnew、写缓存资源Wnew进行压缩,以得到所述新虚拟机的读缓存分配资源Rd和写缓存分配资源Wd;
从保留资源中取出大小为Rd的读缓存资源和大小为Wd的写缓存资源以分配给所述新虚拟机。
6.一种虚拟机缓存资源管理系统,其特征在于,包括信息收集单元、缓存资源确定单元、已分配资源获取单元、门限确定单元、判断单元、资源分配单元和资源回收单元,其中:
信息收集单元,用于当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存比例;
缓存资源确定单元,用于根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew;
已分配资源获取单元,用于获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W,其中N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源;
门限确定单元,用于根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门限;
判断单元,用于判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓存调整门限;
资源分配单元,用于根据判断单元的判断结果,若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给所述新虚拟机;
资源回收单元,用于从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。
7.根据权利要求6所述的系统,其特征在于,
缓存资源确定单元具体将所述新虚拟机的实际使用存储量上浮m%,以得到所述新虚拟机的使用容量A,其中m为预定的上浮值;将所述新虚拟机的使用容量A与需要的读缓存比例相乘,以得到所述新虚拟机需要的读缓存资源Rnew;将所述新虚拟机的使用容量A与需要的写缓存比例相乘,以得到所述新虚拟机需要的写缓存资源Wnew。
8.根据权利要求6所述的系统,其特征在于,
门限确定单元具体将读缓存资源R和预定的调整变化比例n%相乘,以确定当前的读缓存调整门限;将写缓存资源W和预定的调整变化比例n%相乘,以确定当前的写缓存调整门限。
9.根据权利要求6所述的系统,其特征在于,
资源回收单元具体从已加入系统的第i个虚拟机的读缓存资源Ri中回收大小为Cri的读缓存资源,其中Cri=Rnew×Ri/R,以便对第i个虚拟机的读缓存资源进行更新;从已加入系统的第i个虚拟机的写缓存资源Wi中回收大小为Cwi的写缓存资源,其中Cwi=Wnew×Wi/W,以便对第i个虚拟机的写缓存资源进行更新。
10.根据权利要求6-9中任一项所述的系统,其特征在于,
资源回收单元还用于根据判断单元的判断结果,若读缓存资源Rnew不小于读缓存调整门限,或者写缓存资源Wnew不小于写缓存调整门限,则按照预先设定的压缩比例,对已加入系统的虚拟机的读缓存资源和写缓存资源进行压缩,并将回收的资源作为保留资源;按照预先设定的压缩比例,对所述新虚拟机的读缓存资源Rnew、写缓存资源Wnew进行压缩,以得到所述新虚拟机的读缓存分配资源Rd和写缓存分配资源Wd;
资源分配单元还用于从保留资源中取出大小为Rd的读缓存资源和大小为Wd的写缓存资源以分配给所述新虚拟机。
CN201410493764.9A 2014-09-24 2014-09-24 虚拟机缓存资源管理方法和系统 Active CN105511798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410493764.9A CN105511798B (zh) 2014-09-24 2014-09-24 虚拟机缓存资源管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410493764.9A CN105511798B (zh) 2014-09-24 2014-09-24 虚拟机缓存资源管理方法和系统

Publications (2)

Publication Number Publication Date
CN105511798A CN105511798A (zh) 2016-04-20
CN105511798B true CN105511798B (zh) 2018-07-24

Family

ID=55719819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410493764.9A Active CN105511798B (zh) 2014-09-24 2014-09-24 虚拟机缓存资源管理方法和系统

Country Status (1)

Country Link
CN (1) CN105511798B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657058B (zh) * 2016-12-20 2019-12-06 腾讯科技(深圳)有限公司 事件资源分配方法和装置
CN107704321A (zh) * 2017-09-30 2018-02-16 北京元心科技有限公司 内存分配的方法、装置及终端设备
CN108111571B (zh) * 2017-11-15 2021-05-04 广东睿江云计算股份有限公司 一种基于iSCSI协议的存储QoS方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067425A (zh) * 2011-10-20 2013-04-24 中国移动通信集团公司 虚拟机创建方法、虚拟机管理系统及相关设备
CN103793258A (zh) * 2012-10-31 2014-05-14 三星Sds株式会社 基于管理程序的服务器复制系统及其方法
WO2014141419A1 (ja) * 2013-03-14 2014-09-18 株式会社日立製作所 仮想計算機システムおよびスケジューリング方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067425A (zh) * 2011-10-20 2013-04-24 中国移动通信集团公司 虚拟机创建方法、虚拟机管理系统及相关设备
CN103793258A (zh) * 2012-10-31 2014-05-14 三星Sds株式会社 基于管理程序的服务器复制系统及其方法
WO2014141419A1 (ja) * 2013-03-14 2014-09-18 株式会社日立製作所 仮想計算機システムおよびスケジューリング方法

Also Published As

Publication number Publication date
CN105511798A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
Arteaga et al. {CloudCache}: On-demand Flash Cache Management for Cloud Computing
US11977484B2 (en) Adapting in-memory database in hybrid memory systems and operating system interface
CN109344090B (zh) 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心
US9182927B2 (en) Techniques for implementing hybrid flash/HDD-based virtual disk files
CN102460400B (zh) 基于管理程序的本地和远程虚拟内存页面管理
CN101526882B (zh) 独立磁盘冗余阵列子系统中逻辑单元重建的方法及装置
CN102255962B (zh) 一种分布式存储方法、装置和系统
CN102207830B (zh) 一种缓存动态分配管理方法及装置
CN104346284B (zh) 一种内存管理方法及内存管理设备
CN103442070A (zh) 基于统计预测的私有云存储资源调配方法
CN104375954B (zh) 基于工作负载实施对高速缓存的动态启用和禁用的方法和计算机系统
CN105511798B (zh) 虚拟机缓存资源管理方法和系统
Wu et al. LDM: Log disk mirroring with improved performance and reliability for SSD-based disk arrays
CN104050014B (zh) 基于虚拟化平台的高效存储管理方法
CN104102460A (zh) 一种基于云计算的内存管理方法及装置
CN109086141A (zh) 内存管理方法和装置以及计算机可读存储介质
Liu et al. VFRM: Flash resource manager in vmware esx server
Lee et al. Effective flash-based SSD caching for high performance home cloud server
CN103020077A (zh) 一种电力系统实时数据库内存管理方法
Lin et al. Efficient sequential data migration scheme considering dying data for HDD/SSD hybrid storage systems
Đorđević et al. Performance issues in cloud computing: KVM hypervisor’s cache modes evaluation
CN114385073A (zh) 操作存储系统的方法和对存储资源的层级进行分区的方法
CN104899158A (zh) 访存优化方法和装置
US8966293B1 (en) Method and apparatus for allocation of power consumption of a computer storage system to its tenants
Zhu et al. Swapx: An nvm-based hierarchical swapping framework

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant