存储资源调度方法、装置、计算机设备及存储介质与流程
本技术实施例涉及云计算及虚拟化资源管理,尤其涉及一种存储资源调度方法、装置、计算机设备及存储介质。
背景技术:
1、随着容器编排技术的发展,虚拟机(virtual machine,vm)可以通过虚拟化管理组件运行于容器集群中,并由集群调度器为虚拟机选择运行节点。虚拟机通常通过持久化存储卷声明申请存储资源,调度器根据各节点的存储资源状态以及虚拟机的存储请求,确定用于承载虚拟机的目标节点。对于直接使用节点本地磁盘的存储方式,还需要按照存储介质或者存储用途对节点存储资源进行分类管理。
2、现有调度过程中,目标节点的确定、持久化存储卷声明的节点选择、持久化存储卷的创建及绑定通常依次异步执行。从调度器确定节点到存储资源完成绑定之间存在一定时间间隔,在该时间间隔内,已被虚拟机选择但尚未完成绑定的存储资源未被及时计入节点的实际占用量。同时,节点存储状态的更新也存在延迟,导致调度器在多个虚拟机并发调度时仍可能依据未及时更新的存储资源状态进行调度判断。
3、因此,现有技术容易将同一部分节点存储资源重复分配给多个虚拟机,进而造成存储资源超量分配、存储绑定失败以及虚拟机长时间处于等待状态。由此,需要解决的技术问题是:如何避免虚拟机并发调度中的存储资源超量分配。
技术实现思路
1、鉴于此,为解决上述技术问题或部分技术问题,本技术实施例提供一种存储资源调度方法、装置、计算机设备及存储介质。
2、第一方面,本技术实施例提供一种存储资源调度方法,包括:
3、获取待调度虚拟机的存储请求、每个候选节点的空闲存储资源量以及每个所述候选节点已有的临时预留资源量,其中,所述临时预留资源量表征已分配至候选节点但尚未完成存储绑定的虚拟机所请求的存储资源量;
4、针对每个所述候选节点,将所述存储请求对应的存储资源量与所述候选节点的临时预留资源量相加,得到待分配存储资源量,并从空闲存储资源量满足所述待分配存储资源量的候选节点中确定目标节点;
5、将所述待调度虚拟机的持久化存储卷声明标记为所述目标节点,并将所述存储请求对应的存储资源量计入所述目标节点的临时预留资源量。
6、在一个可能的实施方式中,在将所述持久化存储卷声明标记为所述目标节点之后,所述方法还包括:
7、根据所述存储请求,在所述目标节点创建持久化存储卷,并将所述持久化存储卷声明与所述持久化存储卷进行绑定;
8、在所述持久化存储卷声明完成绑定后,根据所述持久化存储卷占用的存储资源,更新所述目标节点的存储状态信息。
9、在一个可能的实施方式中,所述将所述存储请求对应的存储资源量计入所述目标节点的临时预留资源量,包括:
10、通过持久化存储卷声明事件监听器监听所述持久化存储卷声明的节点选择信息;
11、在检测到所述节点选择信息中添加用于指示所述目标节点的目标节点标记时,获取所述持久化存储卷声明关联的待调度虚拟机以及所述待调度虚拟机的存储请求;
12、根据所述目标节点标记,将所述存储请求对应的存储资源量计入所述目标节点的临时预留资源量。
13、在一个可能的实施方式中,所述方法还包括:
14、通过节点事件监听器监听所述目标节点的存储状态信息;
15、在检测到所述存储状态信息发生更新时,获取所述待调度虚拟机关联的每个持久化存储卷声明的绑定状态;
16、在每个所述持久化存储卷声明均完成绑定时,删除所述待调度虚拟机对应的临时预留资源量。
17、在一个可能的实施方式中,获取每个候选节点的空闲存储资源量以及每个所述候选节点已有的临时预留资源量,包括:
18、按照磁盘类别划分所述存储请求,得到所述待调度虚拟机在每个所述磁盘类别下的请求存储资源量;
19、针对每个所述候选节点,获取每个所述磁盘类别下的空闲存储资源量和临时预留资源量;
20、所述从空闲存储资源量满足所述待分配存储资源量的候选节点中确定目标节点,包括:
21、针对每个所述候选节点,将同一磁盘类别下的请求存储资源量与临时预留资源量相加,得到对应的待分配存储资源量;
22、将每个所述磁盘类别下的待分配存储资源量均不大于对应空闲存储资源量的候选节点确定为预选节点;
23、计算每个所述预选节点在每个所述磁盘类别下的剩余资源比例,将每个剩余资源比例中的最小值作为所述预选节点的存储匹配评分,并将所述存储匹配评分最高的预选节点确定为所述目标节点。
24、在一个可能的实施方式中,所述将所述存储请求对应的存储资源量计入所述目标节点的临时预留资源量,包括:
25、根据所述待调度虚拟机所属的命名空间和虚拟机名称,生成所述待调度虚拟机的虚拟机标识;
26、查询所述目标节点是否已记录与所述虚拟机标识对应的临时预留资源量;
27、在所述目标节点已记录与所述虚拟机标识对应的临时预留资源量时,使用所述存储请求对应的存储资源量替换已记录的临时预留资源量;
28、在所述目标节点未记录与所述虚拟机标识对应的临时预留资源量时,将所述存储请求对应的存储资源量与所述虚拟机标识关联记录,得到所述待调度虚拟机对应的临时预留资源量。
29、在一个可能的实施方式中,所述方法还包括:
30、在将所述存储请求对应的存储资源量计入所述目标节点的临时预留资源量时,记录对应的生成时间;
31、按照预设检查周期,根据当前时间和所述生成时间确定所述临时预留资源量的存续时长;
32、在所述存续时长达到预设存活时长时,删除对应的临时预留资源量。
33、第二方面,本技术实施例提供一种存储资源调度装置,包括:
34、获取模块,用于获取待调度虚拟机的存储请求、每个候选节点的空闲存储资源量以及每个所述候选节点已有的临时预留资源量,其中,所述临时预留资源量表征已分配至候选节点但尚未完成存储绑定的虚拟机所请求的存储资源量;
35、第一处理模块,用于针对每个所述候选节点,将所述存储请求对应的存储资源量与所述候选节点的临时预留资源量相加,得到待分配存储资源量,并从空闲存储资源量满足所述待分配存储资源量的候选节点中确定目标节点;
36、第二处理模块,用于将所述待调度虚拟机的持久化存储卷声明标记为所述目标节点,并将所述存储请求对应的存储资源量计入所述目标节点的临时预留资源量。
37、第三方面,本技术实施例提供一种计算机设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的存储资源调度程序,以实现上述第一方面中任一项所述的存储资源调度方法。
38、第四方面,本技术实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中任一项所述的存储资源调度方法。
39、本技术实施例提供的存储资源调度方案,通过获取待调度虚拟机的存储请求、每个候选节点的空闲存储资源量以及每个候选节点已有的临时预留资源量,其中,临时预留资源量表征已分配至候选节点但尚未完成存储绑定的虚拟机所请求的存储资源量;针对每个候选节点,将存储请求对应的存储资源量与候选节点的临时预留资源量相加,得到待分配存储资源量,并从空闲存储资源量满足待分配存储资源量的候选节点中确定目标节点;将待调度虚拟机的持久化存储卷声明标记为目标节点,并将存储请求对应的存储资源量计入目标节点的临时预留资源量。由此,通过在虚拟机存储资源调度过程中,将待调度虚拟机的存储请求与候选节点已有的临时预留资源量共同纳入资源校验,并在确定目标节点后及时记录对应的临时预留资源量,使后续调度能够感知尚未完成存储绑定的资源占用,从而避免同一存储资源被重复分配,降低虚拟机并发调度中的存储资源超量分配风险。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com