[发明专利]一种存储客户端资源隔离方法、系统、终端及存储介质有效
申请号: | 202110582668.1 | 申请日: | 2021-05-27 |
公开(公告)号: | CN113220368B | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 刘伟锋;贺计文 | 申请(专利权)人: | 济南浪潮数据技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/50 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 孙玉营 |
地址: | 250000 山东省济南市中国(山东)自由贸易*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 客户端 资源 隔离 方法 系统 终端 介质 | ||
本发明提供一种存储客户端资源隔离方法、系统、终端及存储介质,包括:设置多个控制组;配置控制组的资源限制参数;为新建线程选定目标控制组,将所述新建线程的控制符写入所述目标控制组的任务列表。本发明通过RBD命令行,解析配置文件的绑核策略,创建控制组群下的多个控制组;Librbd创建线程时,将线程的PID信息加入cpuset和memory控制组的tasks中,完成资源隔离。本发明运行在Linux平台,利用控制组群为Librbd分配独立的内存和cpu资源,实现和其他软件实体资源隔离。
技术领域
本发明涉及服务器技术领域,具体涉及一种存储客户端资源隔离方法、系统、终端及存储介质。
背景技术
Librbd以动态链接库的方式,供宿主进程调用,Librbd内部会创建一系列线程,完成IO的读、写、下刷等操作,实现对存储集群的访问。
Openstack Nova计算节点一般是包含多个CPU核心的NUMA架构,其上运行的软件实体包含3部分:Host OS,VM进程,Librbd客户端。为了实现3者互不干扰,也为了减少各自的多线程任务在多个CPU之间的迁移,需要为它们分配独立的资源,即进行资源隔离。
Host OS和VM是独立的进程,可以在进程内部以进程为单位控制资源的访问,但是Librbd没有独立进程,Librbd可以使用的所有资源来自宿主进程,而Librbd又是动态链接库,需要时才会被调用,宿主进程无法单独为Librbd分配独立的资源。
发明内容
针对现有技术的上述不足,本发明提供一种存储客户端资源隔离方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种存储客户端资源隔离方法,包括:
设置多个控制组;
配置控制组的资源限制参数;
为新建线程选定目标控制组,将所述新建线程的控制符写入所述目标控制组的任务列表。
进一步的,所述设置多个控制组,包括:
利用块设备工具创建控制组群下的多个控制组。
进一步的,所述配置控制组的资源限制参数,包括:
通过数据交换格式的的文件描述资源限制参数,所述资源限制参数包括线程能够使用的内存总大小和线程能够使用的CPU资源。
进一步的,所述为新建线程选定目标控制组,将所述新建线程的控制符写入所述目标控制组的任务列表,包括:
在通过分布式块存储链接库访问存储前,连接存储并创建存储的上下文信息;
将控制组的路径信息保存到所述上下文中;
在新建线程时,将线程的控制符写入目标控制组的任务列表。
第二方面,本发明提供一种存储客户端资源隔离系统,包括:
分组设置单元,配置用于设置多个控制组;
资源限制单元,配置用于配置控制组的资源限制参数;
线程分配单元,配置用于为新建线程选定目标控制组,将所述新建线程的控制符写入所述目标控制组的任务列表。
进一步的,所述分组设置单元包括:
控制创建模块,配置用于利用块设备工具创建控制组群下的多个控制组。
进一步的,所述资源限制单元包括:
资源限制模块,配置用于通过数据交换格式的的文件描述资源限制参数,所述资源限制参数包括线程能够使用的内存总大小和线程能够使用的CPU资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮数据技术有限公司,未经济南浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110582668.1/2.html,转载请声明来源钻瓜专利网。