虚拟机缓存资源管理方法和系统的制作方法

文档序号:9750483阅读:465来源:国知局
虚拟机缓存资源管理方法和系统的制作方法
【技术领域】
[0001] 本发明涉及计算机领域,特别涉及一种虚拟机缓存资源管理方法和系统。
【背景技术】
[0002] 随着虚拟化技术的广泛应用,IT资源将成为像水电一样可运营的基础设施,虚拟 化与云计算技术正在引领IT技术的发展方向,越来越多的企业采用虚拟化与云计算技术 来构建新一代IT系统,以提升IT系统的资源利用率,并在保证服务级别水平的前提下降低 成本;同时帮助业务更加具有敏捷性,加速新业务的上线时间。
[0003] 然而,由于使用共享存储来确保系统的可迁移、高可靠、动态负载均衡等高级特 性,虚拟机的使用成本居高不下。虚拟化与云计算技术的广泛应用也给后端的存储系统提 出更加严峻的挑战。如:需要存储系统能够承载更多的业务、更高的性能与可靠性、更好的 扩展性、保证关键业务服务级别水平并降低成本等。为了使云计算服务能提供更加广泛的 服务,更高的性价比成为了核心需求,其中,如何有效降低虚拟机存储的资源成本,是目前 需要克服的技术重点。
[0004] 虚拟机技术给服务器带来更高的利用率、给业务带来更便捷的部署,降低了 TC0, 因而在众多行业得到了广泛的应用。与此同时,虚拟机应用给存储带来以下挑战,例如由于 采用共享存储方式部署虚拟机,单个卷上可能承载几十或上百的虚拟机,导致卷10呈现更 多的随机特征,这对传统的Cache技术提出挑战;此外,由于单个卷承载多个虚拟机业务, 要求存储系统具备协调虚拟机访问竞争,保证对QoS要求高的虚拟机获取到资源实现性能 目标。伴随着x86服务器技术的快速发展,基于X86服务器的分布式存储技术成为了解决 该问题的主要方式之一。
[0005] 基于X86服务器的分布式存储资源池化主要是指通过在X86服务器上部署分布式 存储软件,对外提供块(FC/ISCSI)、文件(NFS/CIFS)以及对象(Restful)等数据访问接口, 形成存储的资源池化。以VMware公司提供的vSAN为例,通过使用服务器中的基于闪存的 设备(如SSD盘)和磁盘(HDD)组合,提供集群式的分布式文件存储。闪存设备主要作为 数据的缓存,磁盘作为数据存储的载体,当虚拟机数据写入时,系统先将数据写到闪存上, 再由闪存复制或移动到磁盘上,通过该功能,可以实现小文件的合并写入,有利于提高系统 的磁盘10能力。但系统读取数据时,先在闪存上查找所需数据,如果没有找到,再到磁盘上 进行查找,有利于热点数据的快速读写,提高系统性能。且不同于内存的缓存功能,在服务 器下电后,闪存上的热点数据仍能得到保留。
[0006] 然而,如上文所述,由于系统承载的虚拟机数量通常较大,所呈现的10需求具有 很大的随机性,所以对系统的读写资源需求及10分配方法有着多样化、差异化的需求,而 按照vSAN的30 %读缓存和70 %写缓存的固定比例,虽然可能具有一定的统计依据,但实际 上并不一定能很好满足资源池化环境下多虚拟机的存储需求。例如,在某系统中基于虚拟 机的需求,如果统计下来,结果是所有虚拟机平均需要90 %的随机读,而需要10 %的顺序 写缓存,则可以该比例提供读缓存的比例,而不是固定比例。
[0007] 随着虚拟化技术的不断成熟,计算资源已经逐步实现了池化和统一管理,而存储 资源由于软硬件设备的紧耦合等特性,无法实现统一管理,存储系统比较分散,同时,X86服 务器上的本地存储不能达到充分利用,利用相关技术实现存储资源池化和统一管理,采用 更加适配用户虚拟机资源需求的缓存分配方法,对充分利用现有存储设备,提升资源利用 率,提高运维管理水平都具有十分重要的意义。

【发明内容】

[0008] 本发明实施例提供一种虚拟机缓存资源管理方法和系统。通过直接适配本地存储 系统的缓存策略,可有效提高虚拟机的缓存效率和输入输出能力。
[0009] 根据本发明的一个方面,提供一种虚拟机缓存资源管理方法,包括:
[0010] 当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储量、需要的读写缓存 比例;
[0011] 根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确定所述新虚拟机 需要的读缓存资源Rnew和写缓存资源Wnew ;
[0012] 获取为已加入系统的虚拟机分配的读缓存资源R和写缓存资源W,其中
N为已加入系统的虚拟机数量,Ri和Wi分别为分配给已加入系 统的第i个虚拟机的读缓存资源和写缓存资源;
[0013] 根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限和写缓存调整门 限;
[0014] 判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew是否小于写缓 存调整门限;
[0015] 若读缓存资源Rnew和写缓存资源Wnew均小于相应的门限,则从保留资源中取出 大小为Rnew的读缓存资源和大小为Wnew的写缓存资源以分配给所述新虚拟机;
[0016] 从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资源W中回收大小为 Wnew的写缓存资源,并将回收的资源作为保留资源。
[0017] 在一个实施例中,根据所述新虚拟机的实际使用存储量、需要的读写缓存比例,确 定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew的步骤包括:
[0018] 将所述新虚拟机的实际使用存储量上浮m%,以得到所述新虚拟机的使用容量A, 其中m为预定的上浮值;
[0019] 将所述新虚拟机的使用容量A与需要的读缓存比例相乘,以得到所述新虚拟机需 要的读缓存资源Rnew ;
[0020] 将所述新虚拟机的使用容量A与需要的写缓存比例相乘,以到所述新虚拟机需要 的写缓存资源Wnew。
[0021] 在一个实施例中,根据读缓存资源R和写缓存资源W确定当前的读缓存调整门限 和写缓存调整门限的步骤包括:
[0022] 将读缓存资源R和预定的调整变化比例η%相乘,以确定当前的读缓存调整门限;
[0023] 将写缓存资源W和预定的调整变化比例η%相乘,以确定当前的写缓存调整门限。
[0024] 在一个实施例中,从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存资 源W中回收大小为Wnew的写缓存资源的步骤包括:
[0025] 从已加入系统的第i个虚拟机的读缓存资源Ri中回收大小为Cri的读缓存资源, 其中Cri = RnewXRi/R,以便对第i个虚拟机的读缓存资源进行更新;
[0026] 从已加入系统的第i个虚拟机的写缓存资源Wi中回收大小为Cwi的写缓存资源, 其中Cwi = WnewXWi/W,以便对第i个虚拟机的写缓存资源进行更新。
[0027] 在一个实施例中,若读缓存资源Rnew不小于读缓存调整门限,或者写缓存资源 Wnew不小于写缓存调整门限,则按照预先设定的压缩比例,对已加入系统的虚拟机的读缓 存资源和写缓存资源进行压缩,并将回收的资源作为保留资源;
[0028] 按照预先设定的压缩比例,对所述新虚拟机的读缓存资源Rnew、写缓存资源Wnew 进行压缩,以得到所述新虚拟机的读缓存分配资源Rd和写缓存分配资源Wd ;
[0029] 从保留资源中取出大小为Rd的读缓存资源和大小为Wd的写缓存资源以分配给所 述新虚拟机。
[0030] 根据本发明的另一方面,提供一种虚拟机缓存资源管理系统,包括信息收集单元、 缓存资源确定单元、已分配资源获取单元、门限确定单元、判断单元、资源分配单元和资源 回收单元,其中:
[0031] 信息收集单元,用于当新虚拟机加入系统后,收集所述新虚拟机的实际使用存储 量、需要的读写缓存比例;
[0032] 缓存资源确定单元,用于根据所述新虚拟机的实际使用存储量、需要的读写缓存 比例,确定所述新虚拟机需要的读缓存资源Rnew和写缓存资源Wnew ;
[0033] 已分配资源获取单元,用于获取为已加入系统的虚拟机分配的读缓存资源R和写 缓存资源W,其中
彳已加入系统的虚拟机数量,Ri和Wi分别为 分配给已加入系统的第i个虚拟机的读缓存资源和写缓存资源;
[0034] 门限确定单元,用于根据读缓存资源R和写缓存资源W确定当前的读缓存调整门 限和写缓存调整门限;
[0035] 判断单元,用于判断读缓存资源Rnew是否小于读缓存调整门限,写缓存资源Wnew 是否小于写缓存调整门限;
[0036] 资源分配单元,用于根据判断单元的判断结果,若读缓存资源Rnew和写缓存资源 Wnew均小于相应的门限,贝U从保留资源中取出大小为Rnew的读缓存资源和大小为Wnew的 写缓存资源以分配给所述新虚拟机;
[0037] 资源回收单元,用于从读缓存资源R中回收大小为Rnew的读缓存资源,从写缓存 资源W中回收大小为Wnew的写缓存资源,并将回收的资源作为保留资源。
[0038] 在一个实施例中,缓存资源确定单元具体将所述新虚拟机的实际使用存储量上浮 m%,以得到所述新虚拟机的使用容量A,其中m为预定的上浮值;将所述新虚拟机的使用容 量A与需要的读缓存比例相乘,以得到所述新虚拟机需要的读缓存资源Rnew ;将所述
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1