CN117170807A - 存储接入服务的资源管理方法、装置、设备及存储介质 - Google Patents

存储接入服务的资源管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117170807A
CN117170807A CN202311133488.0A CN202311133488A CN117170807A CN 117170807 A CN117170807 A CN 117170807A CN 202311133488 A CN202311133488 A CN 202311133488A CN 117170807 A CN117170807 A CN 117170807A
Authority
CN
China
Prior art keywords
processing
virtual machine
request
resource
resources
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.)
Pending
Application number
CN202311133488.0A
Other languages
English (en)
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202311133488.0A priority Critical patent/CN117170807A/zh
Publication of CN117170807A publication Critical patent/CN117170807A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种存储接入服务的资源管理方法、装置、设备及存储介质,涉及数据存储技术领域。所述方法包括:获取虚拟机进程向分布式存储系统发送的IO请求;基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,并基于分配的资源对所述IO请求进行处理;将处理后的IO请求分发至所述分布式存储系统。本申请实施例通过预先配置资源限制信息以对用于处理IO请求的处理资源进行分配,从而避免了存储服务处理量过大导致的系统卡顿甚至停止服务的问题,有效提高了宿主机对于虚拟硬盘存储服务的处理能力。

Description

存储接入服务的资源管理方法、装置、设备及存储介质
技术领域
本申请涉及数据存储技术领域,具体而言,涉及一种存储接入服务的资源管理方法、装置、设备及存储介质。
背景技术
超融合架构是云计算行业基于开源的虚拟化技术和分布式存储技术搭建的自用环境或包装成的商业产品,最常用的开源项目是Linux Qemu/KVM和Ceph。如图2所示,多个宿主机组成超融合集群,虚拟机被创建后,由ceph分布式存储提供虚拟硬盘,通常使用Qemu内置librbd库生成虚拟硬盘。ceph集群为每个物理硬盘创建一个OSD进程,用于接收来至librbd的数据。一个虚拟硬盘被拆分成多个固定大小的块(ceph默认配置为4MB),分散存储在ceph集群的多个硬盘中。Qemu进程通过librbd库与虚拟硬盘数据所在的硬盘对应的OSD进程建立TCP连接,用于传输数据,每个虚拟硬盘都需要建立自己的TCP连接。
由于每个虚拟硬盘都需要通过librbd库与ceph集群中的多个OSD进程建立连接,随着服务器性能不断提升,单台宿主机能承载的虚拟机数量能到数十个;并且硬盘容量不断加大,单块硬盘能存储的数据块数量也越多;因此,随着集群规模扩大,硬盘数越多,虚拟机越多,需要建立的TCP连接就越多,占用更多的系统资源,导致宿主机其他进程或服务受到挤压,甚至容易引起宿主机系统卡顿、乃至停止服务的问题。综上,亟需一种能够对宿主机内存储接入相关服务进行管控的方案,以提高宿主机对于虚拟硬盘存储服务的处理能力。
发明内容
本申请实施例的目的在于提供一种存储接入服务的资源管理方法、装置、设备及存储介质,用以提高宿主机对于虚拟硬盘存储服务的处理能力。
第一方面,本申请实施例提供了一种存储接入服务的资源管理方法,包括:
获取虚拟机进程向分布式存储系统发送的IO请求;
基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,并基于分配的资源对所述IO请求进行处理;
将处理后的IO请求分发至所述分布式存储系统。
在本申请实施例中,通过预先配置资源限制信息以对用于处理IO请求的处理资源进行分配,从而避免了存储服务处理量过大导致的系统卡顿甚至停止服务的问题,有效提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,所述基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,包括:
确定所述虚拟机进程的数量为至少两个,基于所述资源限制信息作为上限约束,根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配。
在本申请实施例中,当接入的虚拟机进程为两个或以上时,根据设定的虚拟机优先级进行资源分配以对各个虚拟机进程的IO请求进行处理,相比于平均分配的方式,提高了IO请求处理资源分配的合理性,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,所述基于所述资源限制信息作为上限约束,根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配,包括:
基于所述资源限制信息作为上限约束,确定用于处理IO请求的处理线程数量;
根据预设的虚拟机优先级对各个虚拟机进程的虚拟硬盘进行令牌分配;
基于分配的令牌对各个处理线程处理的IO请求进行资源限制。
在本申请实施例中,通过令牌分配来控制处理线程处理各个虚拟硬盘的IO限制,提高了IO请求处理资源分配的合理性,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,所述存储接入服务的资源管理方法还包括:
在预设的处理线程数量上限范围内,基于各个处理线程负载信息以及令牌分配情况对所述处理线程数量进行动态增减。
在本申请实施例中,在设定的上限范围内,根据处理线程自身的负载信息以及令牌分配情况实时对处理线程的数量进行动态增减,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,所述将处理后的IO请求分发至所述分布式存储系统,具体为:
将处理后的IO请求通过TCP连接通道分发至所述分布式存储系统;
在所述将处理后的IO请求通过TCP连接通道分发至所述分布式存储系统之后,还包括:
在预设的连接通道数量上限范围内,基于目标对象负载信息对所述TCP连接通道的数量进行动态增减;
其中,所述目标对象负载信息包括连接通道负载信息和对端物理硬盘负载信息中的至少一种。
在本申请实施例中,在设定的上限范围内,根据连接通道的负载信息和/或对端物理硬盘的负载信息对连接通道数量进行动态增减,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,所述存储接入服务的资源管理方法还包括:
当监测到虚拟机进程的数量发生变化时,重新根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配。
在本申请实施例中,实时监测虚拟机数量的变化,当发生变化时,重新根据当前的虚拟机优先级情况对各个进程的IO请求处理资源进行分配,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,所述基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,包括:
按照预设的调控周期,基于预设的资源限制信息对用于处理所述IO请求的资源进行分配。
在本申请实施例中,通过按照预定周期来调整IO请求的处理资源,使得分配的处理资源能够适应于IO请求的数据量情况,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,所述资源限制信息包括以下至少一项:总体资源限制阈值、处理线程数量上限、单位时间内处理的IO总数上限、单位时间内处理的IO总数据量上限。
在本申请实施例中,通过预先配置多种资源限制信息,能够从多个方面对IO请求的处理资源进行限制,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
第二方面,本申请实施例提供了一种存储接入服务的资源管理装置,包括:
获取模块,用于获取虚拟机进程向分布式存储系统发送的IO请求;
分配模块,用于基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,并基于分配的资源对所述IO请求进行处理;
分发模块,用于将处理后的IO请求分发至所述分布式存储系统。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时可实现第一方面任一实施例所述的方法。
第四方面,本申请实施例提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现第一方面任一实施例所述的方法。
第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现第一方面任一实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的存储接入服务的资源管理方法的流程示意图;
图2为现有技术的超融合系统的系统架构图;
图3为本申请实施例提供的超融合系统的系统架构图;
图4为本申请实施例提供的存储接入服务的架构图;
图5为本申请实施例提供的监控线程为Reactor线程发送令牌的示意图;
图6为本申请实施例提供的存储接入服务的资源管理装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,现有技术的超融合系统架构如图2所示,由于每个虚拟硬盘都需要通过librbd库与ceph集群中的多个OSD进程建立连接,随着服务器性能不断提升,单台宿主机能承载的虚拟机数量能到数十个;并且硬盘容量不断加大,单块硬盘能存储的数据块数量也越多,如8TB盘能存储2097152个4MB大小的数据块,因此,随着集群规模扩大,硬盘数越多,虚拟机越多,需要建立的TCP连接就越多,占用更多的系统资源;另外,同一台宿主机内,多个虚拟机/虚拟硬盘之间发生资源竞争时,由于每个虚拟硬盘是独立的进程,无法统筹控制,容易造成少量虚拟机IO负载突然增大,导致同一台宿主机其他虚拟机受到严重影响的情况。
针对现有技术存在的问题,如图1所示,本申请实施例提供了一种存储接入服务的资源管理方法,可以包括步骤:
S1、获取虚拟机进程向分布式存储系统发送的IO请求;
S2、基于预设的资源限制信息对用于处理IO请求的资源进行分配,并基于分配的资源对IO请求进行处理;
S3、将处理后的IO请求分发至分布式存储系统。
需要说明的是,本申请实施例的方法可以由宿主机内的存储接入服务(一种应用程序组件)执行。该存储接入服务具有三大功能:1、接收和响应虚拟机进程的IO请求,并作为分布式存储系统的接入,将IO请求发送到分布式存储系统的硬盘中;2、资源限制功能,对存储接入服务总体的占用资源、各个虚拟机进程(虚拟硬盘)的IO请求处理资源等进行限制;3、根据虚拟硬盘的负载弹性控制并发处理能力,以及针对分布式存储系统的硬盘性能和网络情况,弹性控制并发网络连接数量。
可以理解的是,本申请实施例中的用于处理IO请求的资源可以包括CPU资源、内存资源、硬盘资源和网络资源中的一种或多种。资源限制信息可以包括总体资源限制阈值、处理线程数量上限、单位时间内处理的IO总数上限、单位时间内处理的IO总数据量上限中的一种或多种。
在本申请实施例中,首先获取虚拟机进程向分布式存储系统发送的IO请求,然后,基于预设的资源限制信息作为资源分配的上限,根据当前的IO请求量进行处理资源的分配,最后基于分配的资源对IO请求进行处理并分发至分布式存储系统。通过预先配置资源限制信息以对用于处理IO请求的处理资源进行分配,从而避免了存储服务处理量过大导致的系统卡顿甚至停止服务的问题,有效提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,步骤S2,基于预设的资源限制信息对用于处理IO请求的资源进行分配,可以包括:
确定虚拟机进程的数量为至少两个,基于资源限制信息作为上限约束,根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配。
需要说明的是,当虚拟机进程为两个或以上时,为了更合理分配用于处理各个虚拟机进程的IO请求的处理资源,可以根据预先设定的虚拟机优先级进行分配,对于优先级较高的虚拟机进程,对其发送的IO请求将获得更多的处理资源进行处理。例如,可以采用以下公式进行处理资源分配:资源占用比=虚拟机优先级÷∑(虚拟机优先级×虚拟机配置的虚拟硬盘数)。例如宿主机运行5台虚拟机,每个虚拟机仅配置一块虚拟硬盘,优先级别从1~10,默认优先级是5,其中3台虚拟机优先级是默认值5,1台是高优先级8,1台是低优先级是2,可以通过简单计算默认优先级虚拟机的虚拟硬盘资源占用比是0.2;高优先级虚拟机的虚拟硬盘资源占用权重比是0.32;低优先级虚拟机的虚拟硬盘资源占用比是0.08;然后按照计算得到的占用比进行处理资源分配。
在本申请实施例中,当接入的虚拟机进程为两个或以上时,根据设定的虚拟机优先级进行资源分配以对各个虚拟机进程的IO请求进行处理,相比于平均分配的方式,提高了IO请求处理资源分配的合理性,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,基于资源限制信息作为上限约束,根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配,包括:
基于资源限制信息作为上限约束,确定用于处理IO请求的处理线程数量;
根据预设的虚拟机优先级对各个虚拟机进程的虚拟硬盘进行令牌分配;
基于分配的令牌对各个处理线程处理的IO请求进行资源限制。
需要说明的是,可以通过记录令牌桶表的形式,作为对各个虚拟硬盘对应的IO请求处理资源进行分配的依据。通过令牌分配来控制处理线程处理各个虚拟硬盘的IO限制,提高了IO请求处理资源分配的合理性,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,存储接入服务的资源管理方法还包括:
在预设的处理线程数量上限范围内,基于各个处理线程负载信息以及令牌分配情况对处理线程数量进行动态增减。
需要说明的是,用于处理IO请求的处理线程的数量可以根据实际负载信息和令牌分配情况进行动态增减,例如,预设的处理线程数量上限为4个,那么实际的处理线程数量可以是1个,当这个线程的CPU使用率超过90%(可配置),并且总的处理IO请求的数量和带宽未达到预先配置的上限,则可以增加一个处理线程;当存在2个处理线程,并且这2个处理线程的平均CPU使用率低于45%时,则减少一个处理线程。
在本申请实施例中,在设定的上限范围内,根据处理线程自身的负载信息以及令牌分配情况实时对处理线程的数量进行动态增减,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,将处理后的IO请求分发至分布式存储系统,具体为:
将处理后的IO请求通过TCP连接通道分发至分布式存储系统;
在将处理后的IO请求通过TCP连接通道分发至分布式存储系统之后,还包括:
在预设的连接通道数量上限范围内,基于目标对象负载信息对TCP连接通道的数量进行动态增减;
其中,目标对象负载信息包括连接通道负载信息和对端物理硬盘负载信息中的至少一种。
需要说明的是,在本申请实施例中,在设定的上限范围内,可以根据连接通道的负载信息和/或对端物理硬盘的负载信息对连接通道数量进行动态增减,避免连接通道数量太多、导致存储接入服务总体占用资源过多的问题,同时避免连接通道数量过少、导致存储接入服务处理效率不高的问题,从而进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,存储接入服务的资源管理方法还包括:
当监测到虚拟机进程的数量发生变化时,重新根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配。
需要说明的是,由于宿主机上运行的虚拟机并不会保持不变,如虚拟机创建删除、开机关机、迁入迁出等动作导致宿主机上的虚拟机进程数量发生变化。当虚拟机数量发生变化时,为了提高IO请求处理资源的均衡性,需要对处理IO请求的资源进行重新分配。通过实时监测虚拟机数量的变化,并根据变化后的虚拟机优先级情况对各个进程的IO请求处理资源进行重新分配,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,基于预设的资源限制信息对用于处理IO请求的资源进行分配,包括:
按照预设的调控周期,基于预设的资源限制信息对用于处理IO请求的资源进行分配。
需要说明的是,由于虚拟机进程发送的IO请求通常时刻变化,通过按照预定周期来调整IO请求的处理资源,使得分配的处理资源能够适应于IO请求的数据量变化情况,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
在一些可能的实施例中,资源限制信息包括以下至少一项:总体资源限制阈值、处理线程数量上限、单位时间内处理的IO总数上限、单位时间内处理的IO总数据量上限。
在本申请实施例中,通过预先配置多种资源限制信息,能够从多个方面对IO请求的处理资源进行限制,进一步提高了宿主机对于虚拟硬盘存储服务的处理能力。
基于上述方案,为便于更好的理解本申请实施例提供的存储接入服务的资源管理方法,以下进行详细说明:
本申请实施例主要是在超融合系统中,实现存储接入服务的资源控制。超融合系统是将多个物理服务器通过TCP/IP网络连接成集群,将物理服务器当成宿主机提供虚拟化能力,将物理服务器中的硬盘组成分布式存储集群,为虚拟化提供存储能力(即提供虚拟硬盘)。
如图3所示,通过宿主机的Hypervirsor(虚拟机监视器)创建虚拟机,本质是在宿主机中创建虚拟机进程(Qemu进程),由该进程模拟虚拟机的硬件环境,如CPU、内存、网卡、硬盘和显卡等。虚拟机进程内模拟虚拟硬盘设备,这个设备的真实存储空间将由分布式存储系统提供,即虚拟硬盘由软件模拟的,与虚拟机中安装的操作系统内核的硬盘驱动交互,接收来至驱动的IO请求,并通过vhost-user机制将IO请求发送到存储接入服务,存储接入服务再将IO请求处理后,发送至分布式存储系统的多个硬盘中。虚拟硬盘被切分成固定大小的块,分散存储在分布式存储系统中。
在本申请实施例中,存储接入服务提供基础IO能力,是通过vhost-user协议与虚拟机进程(Qemu进程)通信,IO请求的数据通过共享内存传输,通过poller机制实现中断。存储接入服务可以完全自己实现vhost-user服务端的协议解析及处理,还可以通过SPDK开发框架实现。
如图4中的多个Reactor,是一组工作线程(用于处理IO请求的处理线程)。Channel是连接通道,管理1个或多个连接通道(TCP连接),调用Channel发送时,Channel自行选择合适的连接通道完成发送(根据conn的负载情况,挑选负载最低的)。conn代表一条从存储接入服务到USS硬盘进程的TCP连接通道,同一个Channel下的多个conn的目标点都是同一个硬盘进程USS,当一条连接负载过高或者有多条物理网络链路时,一个Channel就会包含多个conn。Monitor线程(监控线程)用于收集Reactor和各个TCP连接的负载,为资源限制和弹性伸缩的功能提供负载数据;并向各个Reactor线程定期(例如每秒)注入令牌用于限制Reactor线程能给某个虚拟硬盘在一定期间内处理的IO请求数或者IO数据量,如图5所示。
存储接入服务中可以包含两种线程:Reactor线程和Monitor线程。Reactor线程的数量根据负载的实际需要和预先配置的阈值进行动态调整。Monitor线程只有一个,控制住Reactor线程数量,即控制住存储接入服务的CPU资源使用量。Reactor线程从多个虚拟机进程的虚拟硬盘共享内存VRing中获取IO请求,将IO请求处理后(切分和重新组装),调用Channel接口将处理过的IO通过网络(TCP连接通道)发送出去。同一台宿主机上所有虚拟硬盘IO请求,由一个存储接入服务处理,通过令牌控制Reactor线程处理各个虚拟硬盘的IO限制,如表1,其中IOPS表示每秒(单位时间,可配置)能处理的IO请求数量,MBPS表示每秒(单位时间,可配置)能处理IO请求的数据量,以MB为单位。
表1Reactor线程记录令牌桶表
虚拟硬盘 IOPS上限 MBPS上限
硬盘A Aio Amb
硬盘B Bio Bmb
... ... ...
硬盘N Nio Nmb
Monitor线程每个周期(1秒)重置每个Reactor线程中的令牌桶表(格式如表1),每个Reactor线程在每个周期内处理的IO请求数量不超过IOPS上限,IO请求数据量不超过MBPS上限。通过配置虚拟机优先级的功能,对于重要虚拟机将被设置为高优先级。Monitor线程根据这些优先级计算和分配令牌,例如:
虚拟硬盘资源占用比=虚拟硬盘所属的虚拟机优先级÷∑(虚拟机优先级×虚拟机配置的硬盘数)
例如宿主机运行5台虚拟机,每个虚拟机仅配置一块虚拟硬盘,优先级别从1~10,默认优先级是5,其中3台虚拟机优先级是默认值5,1台是高优先级8,1台是低优先级是2,可以通过简单计算默认优先级虚拟机的虚拟硬盘资源占用比是0.2;高优先级虚拟机的虚拟硬盘资源占用权重比是0.32;低优先级虚拟机的虚拟硬盘资源占用比是0.08。
存储接入服务启动时,根据预先配置的资源上限阈值如线程数、每秒IO处理总数IOPS,每秒处理的数据量MBPS,启动相应数量的Reactor线程;Monitor线程完成初始的令牌分配,即根据当前的虚拟机情况计算出虚拟硬盘资源占用比分配令牌。
在实际运行过程中,资源情况随时会发生变化,主要有以下几种情况:
1.宿主机上运行的虚拟机并不会保持不变,如虚拟机创建删除、开机关机、迁入迁出等动作导致宿主机上的虚拟机数量发生变化。
2.Channel中conn网络连接的负载信息,以及conn连接的物理硬盘进程USS的负载信息。
3.Reactor线程的CPU负载信息和令牌消耗情况。
针对上述三种情况,通过Monitor线程做出对应的调整:
1.根据宿主机中虚拟机的变化,实时重新计算虚拟硬盘资源占用比例,并重新进行令牌分配。
2.根据conn网络负载以及对端物理硬盘的负载,在人工配置的上限阈值范围内,动态增减conn的数量。如果出现网络负载过重或对端物理盘负载过高,则减少对应虚拟硬盘的令牌数量。
3.根据Reactor线程CPU负载情况和令牌消耗情况,在人工配置的上限阈值范围内,动态增减Reactor线程数量。
宿主机中虚拟机的变化,将实时修改到各个Reactor线程的令牌桶表中,使得Reactor线程能应对变化。通过动态增减conn数量即是动态增减网络并发连接数,以适应网络和对端物理硬盘的变化。
对端物理硬盘是分布式存储系统管理,物理硬盘承载多个虚拟硬盘的数据块,这些虚拟机硬盘可能分布在不同的宿主机中,无法控制物理硬盘的负载,存储接入服务通过动态调整conn数量和令牌数量,实现对物理硬盘的拥塞控制,避免大量的IO请求导致物理硬盘出现卡顿出现延迟过高甚至无法继续提供服务的情况。
与现有技术相比,本申请实施例具有如下有益效果:
(1)一台宿主机内所有虚拟机的虚拟硬盘都由一个存储接入服务实现存储IO请求的处理,存储接入服务与后端分布式存储系统建立网络连接,可根据实际运行情况,动态控制网络连接数量,避免每个虚拟硬盘都与分布式存储系统建立网络连接,造成大量冗余连接。
(2)通过存储接入服务,实现按比例控制每台虚拟机可使用资源的量,避免同一台宿主机上的虚拟机不可控的资源竞争。
(3)控制宿主机内存储接入服务能够使用的CPU和网络资源的总量,避免某些虚拟机的存储负载增大,而影响宿主机上其他虚拟机正常运行。
(4)根据分布式存储系统中物理硬盘的实时负载,实现物理硬盘承载的虚拟硬盘IO流量的拥塞控制,避免某个虚拟机的IO请求过多,影响使用了这块物理硬盘的超融合集群中其他虚拟机的存储IO访问。
请参考图6,图6示出了本申请的一些实施例提供的存储接入服务的资源管理装置的组成框图。应理解,该存储接入服务的资源管理装置与上述图1方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该存储接入服务的资源管理装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
图6的存储接入服务的资源管理装置包括至少一个能以软件或固件的形式存储于存储器中或固化在存储接入服务的资源管理装置中的软件功能模块,该存储接入服务的资源管理装置包括:
获取模块610,用于获取虚拟机进程向分布式存储系统发送的IO请求;
分配模块620,用于基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,并基于分配的资源对所述IO请求进行处理;
分发模块630,用于将处理后的IO请求分发至所述分布式存储系统。
可以理解的是上述装置项实施例,是与本发明方法项实施例相对应的,本发明实施例提供的一种存储接入服务的资源管理装置,可以实现本发明任意一项方法项实施例提供的存储接入服务的资源管理方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
如图7所示,本申请的一些实施例提供一种电子设备700,该电子设备700包括:存储器710、处理器720以及存储在存储器710上并可在处理器720上运行的计算机程序,其中,处理器720通过总线730从存储器710读取程序并执行所述程序时可实现如上述存储接入服务的资源管理方法包括的任意实施例的方法。
处理器720可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器720可以是微处理器。
存储器710可以用于存储由处理器720执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器720可以用于执行存储器710中的指令以实现上述所示的方法。存储器710包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
本申请的一些实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。
本申请的一些实施例还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (11)

1.一种存储接入服务的资源管理方法,其特征在于,包括:
获取虚拟机进程向分布式存储系统发送的IO请求;
基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,并基于分配的资源对所述IO请求进行处理;
将处理后的IO请求分发至所述分布式存储系统。
2.根据权利要求1所述的存储接入服务的资源管理方法,其特征在于,所述基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,包括:
确定所述虚拟机进程的数量为至少两个,基于所述资源限制信息作为上限约束,根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配。
3.根据权利要求2所述的存储接入服务的资源管理方法,其特征在于,所述基于所述资源限制信息作为上限约束,根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配,包括:
基于所述资源限制信息作为上限约束,确定用于处理IO请求的处理线程数量;
根据预设的虚拟机优先级对各个虚拟机进程的虚拟硬盘进行令牌分配;
基于分配的令牌对各个处理线程处理的IO请求进行资源限制。
4.根据权利要求3所述的存储接入服务的资源管理方法,其特征在于,还包括:
在预设的处理线程数量上限范围内,基于各个处理线程负载信息以及令牌分配情况对所述处理线程数量进行动态增减。
5.根据权利要求1所述的存储接入服务的资源管理方法,其特征在于,所述将处理后的IO请求分发至所述分布式存储系统,具体为:
将处理后的IO请求通过TCP连接通道分发至所述分布式存储系统;
在所述将处理后的IO请求通过TCP连接通道分发至所述分布式存储系统之后,还包括:
在预设的连接通道数量上限范围内,基于目标对象负载信息对所述TCP连接通道的数量进行动态增减;
其中,所述目标对象负载信息包括连接通道负载信息和对端物理硬盘负载信息中的至少一种。
6.根据权利要求2所述的存储接入服务的资源管理方法,其特征在于,还包括:
当监测到虚拟机进程的数量发生变化时,重新根据预设的虚拟机优先级对用于处理各个虚拟机进程的IO请求的资源进行分配。
7.根据权利要求1所述的存储接入服务的资源管理方法,其特征在于,所述基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,包括:
按照预设的调控周期,基于预设的资源限制信息对用于处理所述IO请求的资源进行分配。
8.根据权利要求1-7任一项所述的存储接入服务的资源管理方法,其特征在于,所述资源限制信息包括以下至少一项:总体资源限制阈值、处理线程数量上限、单位时间内处理的IO总数上限、单位时间内处理的IO总数据量上限。
9.一种存储接入服务的资源管理装置,其特征在于,包括:
获取模块,用于获取虚拟机进程向分布式存储系统发送的IO请求;
分配模块,用于基于预设的资源限制信息对用于处理所述IO请求的资源进行分配,并基于分配的资源对所述IO请求进行处理;
分发模块,用于将处理后的IO请求分发至所述分布式存储系统。
10.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现权利要求1-8任一所述的存储接入服务的资源管理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-8任一所述的存储接入服务的资源管理方法。
CN202311133488.0A 2023-09-04 2023-09-04 存储接入服务的资源管理方法、装置、设备及存储介质 Pending CN117170807A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311133488.0A CN117170807A (zh) 2023-09-04 2023-09-04 存储接入服务的资源管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311133488.0A CN117170807A (zh) 2023-09-04 2023-09-04 存储接入服务的资源管理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117170807A true CN117170807A (zh) 2023-12-05

Family

ID=88940636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311133488.0A Pending CN117170807A (zh) 2023-09-04 2023-09-04 存储接入服务的资源管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117170807A (zh)

Similar Documents

Publication Publication Date Title
US10185592B2 (en) Network storage device using dynamic weights based on resource utilization
US9442763B2 (en) Resource allocation method and resource management platform
US10387202B2 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
US10534542B2 (en) Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
EP3117335B1 (en) Coordinated admission control for network-accessible block storage
US7140020B2 (en) Dynamic management of virtual partition computer workloads through service level optimization
US8918566B2 (en) System and methods for allocating shared storage resources
US8060610B1 (en) Multiple server workload management using instant capacity processors
US10333859B2 (en) Multi-tenant resource coordination method
US20050039183A1 (en) System and method for allocating a plurality of resources between a plurality of computing domains
US10394606B2 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
US20090248922A1 (en) Memory buffer allocation device and computer readable medium having stored thereon memory buffer allocation program
EP1769353A2 (en) Method and apparatus for dynamic memory resource management
US10884667B2 (en) Storage controller and IO request processing method
CN111131063B (zh) 一种流量控制的方法、相关装置、设备以及存储介质
US20160378557A1 (en) Task allocation determination apparatus, control method, and program
US11119563B2 (en) Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization
CN110543355A (zh) 一种自动均衡云平台资源的方法
CN113688001A (zh) 服务器硬盘功耗动态均衡方法、装置、终端及存储介质
US10761726B2 (en) Resource fairness control in distributed storage systems using congestion data
US8108871B2 (en) Controlling computer resource utilization
CN117170807A (zh) 存储接入服务的资源管理方法、装置、设备及存储介质
US20220179749A1 (en) Backup processing method and server
US10621006B2 (en) Method for monitoring the use capacity of a partitioned data-processing system
US11593182B2 (en) Storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination