CN110489232A - 资源隔离方法、装置、电子设备及存储介质 - Google Patents
资源隔离方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110489232A CN110489232A CN201910742872.8A CN201910742872A CN110489232A CN 110489232 A CN110489232 A CN 110489232A CN 201910742872 A CN201910742872 A CN 201910742872A CN 110489232 A CN110489232 A CN 110489232A
- Authority
- CN
- China
- Prior art keywords
- target process
- memory
- type
- target
- configuration information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种资源隔离方法、装置、电子设备及存储介质,涉及计算机信息处理技术领域,该方法包括:根据目标进程已使用的内存大小以及目标进程的类型对应的预设配置信息,判断目标进程的类型所对应内存的剩余空间是否满足预设阈值;若目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据目标进程的类型对应的预设配置信息确定目标进程是否可用交换分区;若目标进程不可用交换分区,则根据第一预设规则,对目标进程进行处理,实现了通过目标进程的类型、及与目标进程类型对应的预设配置信息,确定目标进程对交换分区的使用状态,避免一些目标进程进入交换分区,导致进程处理速度降低,有效地进行资源隔离,提升分布式系统的使用性能。
Description
技术领域
本申请涉及计算机信息处理技术领域,具体而言,涉及一种资源隔离方法、装置、电子设备及存储介质。
背景技术
云计算、移动计算、社交媒体以及大数据的蓬勃发展,使得数据呈爆炸式增长,这对海量数据存储、高性能计算、网络管理带来了挑战。超融合一体机集成了计算、存储、网络、安全等服务,提供融合解决方案,满足用户对存储、计算、网络的使用需求。
现有技术中,在超融合场景下,存储和计算资源在同一物理节点上,存储进程和主机其它进程,包括虚拟机共用一个物理节点,虚拟机超分情况下会产生系统内存不足的情形。
这样,当系统内存不足时,虚拟机超分将会导致虚拟机抢占存储进程对应的系统资源,包括处理器和内存,若存储对应的内存不足,存储进程将无法正常运行,可能会使用交换(swap)分区运行存储进程,无法有效地进行资源隔离,这将导致整个存储业务的时延变长,引起集群异常,从而降低了系统的使用性能。
发明内容
有鉴于此,本申请实施例的目的在于提供一种资源隔离方法、装置、电子设备及存储介质,用于解决现有技术中存在的无法有效地进行资源隔离,分布式存储系统使用性能较差的问题。
第一方面,本申请实施例提供了一种资源隔离方法,应用于分布式集群超融合服务器,该方法包括:
根据目标进程已使用的内存大小以及所述目标进程的类型对应的预设配置信息,判断目标进程的类型所对应内存的剩余空间是否满足预设阈值;所述预设配置信息包括:为所述目标进程分配的内存大小、是否可用交换分区;
若所述目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据所述目标进程的类型对应的预设配置信息确定所述目标进程是否可用所述交换分区;
若所述目标进程不可用所述交换分区,则根据第一预设规则,对所述目标进程进行处理。
可选地,所述根据目标进程已使用的内存大小以及所述目标进程的类型对应的预设配置信息,判断所述目标进程的类型所对应内存的剩余空间是否满足预设阈值之前,还包括:
创建目录,所述目录包括:系统目录、用户目录、虚拟机目录及存储目录;
根据进程类型与目录的对应关系,在各所述目录中配置对应的预设配置信息。
可选地,一个进程对应的预设配置信息还包括:进程对应的内存回收优先级信息;
若所述目标进程不可用所述交换分区,则在所述根据第一预设规则,对所述目标进程进行处理之前,还包括:
根据各类型的进程对应的内存回收优先级信息,判断除所述目标进程之外的其它类型的进程对应的内存中是否存在可回收内存;
若存在,则对所述可回收内存进行内存回收,并将回收的内存添加至所述目标进程的属性所对应的内存,得到更新的内存;
采用所述更新的内存运行所述目标进程。
可选地,若不存在可回收内存,所述根据第一预设规则,对所述目标进程进行处理,包括:
判断所述目标进程是否可进入休眠;
若所述目标进程可进入休眠,则更新所述目标进程进入休眠状态,否则,关闭所述目标进程。
可选地,所述若所述目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据所述目标进程的类型对应的预设配置信息确定所述目标进程是否可用所述交换分区之后,还包括:
若所述目标进程可用所述交换分区,则根据第二预设规则,使用所述交换分区运行所述目标进程。
第二方面,本申请实施例提供了一种资源隔离装置,应用于分布式集群存储服务器,包括:判断模块、确定模块及第一处理模块;
所述判断模块,根据目标进程已使用的内存大小以及所述目标进程的类型对应的预设配置信息,判断目标进程的类型所对应内存的剩余空间是否满足预设阈值;所述预设配置信息包括:目标进程的属性对应的内存空间大小、目标进程是否可用交换分区;为所述目标进程分配的内存大小、是否可用交换分区;
所述确定模块,用于若所述目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据所述目标进程的类型对应的预设配置信息确定所述目标进程是否可用所述交换分区;
所述第一处理模块,用于若所述目标进程不可用所述交换分区,则根据第一预设规则,对所述目标进程进行处理。
可选地,还包括:创建模块及配置模块;
所述创建模块,用于创建目录,所述目录包括:系统目录、用户目录、虚拟机目录及存储目录;
所述配置模块,用于根据进程类型与目录的对应关系,在各所述目录中配置对应的预设配置信息。
可选地,一个进程对应的预设配置信息还包括:进程对应的内存回收优先级信息;
若所述目标进程不可用所述交换分区,则在所述根据第一预设规则,对所述目标进程进行处理之前,所述第一处理模块还用于:根据各类型的进程对应的内存回收优先级信息,判断除所述目标进程之外的其它类型的进程对应的内存中是否存在可回收内存;若存在,则对所述可回收内存进行内存回收,并将回收的内存添加至所述目标进程的类型所对应的内存,得到更新的内存;采用所述更新的内存运行所述目标进程。
可选地,若不存在可回收内存,在所述根据第一预设规则,对所述目标进程进行处理时,所述第一处理模块具体用于:判断所述目标进程是否可进入休眠;若所述目标进程可进入休眠,则更新所述目标进程进入休眠状态,否则,关闭所述目标进程。
可选地,还包括:第二处理模块;
所述第二处理模块,用于若所述目标进程可用所述交换分区,则根据第二预设规则,使用所述交换分区运行所述目标进程。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第一方面所述的资源隔离方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面所述的资源隔离方法的步骤。
本申请实施例提供的资源隔离方法、装置、电子设备及存储介质中,通过目标进程的类型、及与目标进程类型对应的预设配置信息,确定目标进程对交换分区的使用状态,避免一些目标进程进入交换分区,导致进程处理速度降低。同时,对于不可进入交换分区的进程,进行进一步处理,以完成进程的合理处理,有效地进行资源隔离,提升分布式系统的使用性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的一种分布式存储集群组网环境示意图;
图2为本申请实施例提供的一种资源隔离方法流程示意图;
图3为本申请实施例提供的另一种资源隔离方法流程示意图;
图4为本申请实施例提供的一种存储节点cgroup资源分配示意图;
图5为本申请实施例提供的又一种资源隔离方法流程示意图;
图6为本申请实施例提供的另一种资源隔离方法流程示意图;
图7为本申请实施例提供的一种资源隔离装置结构示意图;
图8为本申请实施例提供的另一种资源隔离装置结构示意图;
图9为本申请实施例提供的又一种资源隔离装置结构示意图;
图10为本申请实施例提供的另一种资源隔离装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
另外,还需要说明的是,本申请提供的资源隔离方法主要应用于超融合场景下,由于超融合场景下,存储和计算资源在同一物理节点上,存储进程和主机其它进程,包括虚拟机,存在资源抢占问题。虚拟机超分会产生系统资源不足的情形,直接导致虚拟机去抢占存储的资源,包括中央处理器(Central Processing Unit,CPU)和内存,最终导致使用交换(swap)分区运行存储进程。同时由于分布式存储对时延要求很高,这样就导致整个存储的时延变长,引起集群异常,降低了可靠性和性能。本申请实施例提供的资源隔离方法有效的避免了使用交换分区运行存储进程的问题,提高了系统的可靠性。
图1为本申请实施例提供的一种分布式存储集群组网环境示意图,图2为本申请实施例提供的一种资源隔离方法流程示意图,如图1所示,该方法应用于分布式集群的所有存储服务器,超融合部署由多个节点组成,其中管理节点与所有的分布式存储节点是直接相连的,同时存储节点也可以作为监控节点向管理节点汇报当前节点的状态。该方法的执行主体可以是分布式集群中多个存储节点中的任一节点服务器,如图2所示,该方法包括:
S101、根据目标进程已使用的内存大小以及目标进程的类型对应的预设配置信息,判断目标进程的类型所对应内存的剩余空间是否满足预设阈值。
其中,预设配置信息包括:为目标进程分配的内存大小、是否可用交换分区。
需要说明的是,本实施例中的目标进程可以指示计算机系统中运行的多种进程,也就是系统中运行的一个服务或者是程序,进程在运行过程中会占用一定的存储空间,例如:存储进程或者是虚拟机进程等主机的其它进程。
可选地,根据目标进程已使用的内存大小以及目标进程的类型对应的预设配置信息,判断与该目标进程对应的内存的剩余空间是否满足预设阈值,其中,对于不同类型的目标进程,均设置有对应的预设配置信息,可以根据当前目标进程类型对应的预设配置信息中包含的为该目标进程所分配的内存的大小、以及该目标进程已使用的内存大小,判断与该目标进程对应的内存是否足够运行该目标进程。其中,目标进程的类型可以包括多种,例如:存储进程、虚拟机进程及主机的其它进程等。
例如:假设目标进程已使用的内存大小为5GB(即运行该目标进程所需的内存大小为5GB),若某一时刻运行该目标进程总共需要使用20GB内存,也即若继续运行该目标进程,还需要15GB的内存大小,而根据该目标进程所对应的预设配置信息中包含的信息,为该目标进程分配的内存大小为15G,即该目标进程所对应的内存剩余空间为10GB,也即该目标进程对应的内存的剩余空间小于15GB,那么该目标进程对应的内存空间将无法继续完整的运行该目标进程,而当该目标进程对应的内存空间大于或等于15GB时,则可以继续完整的运行该目标进程。
S102、若目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据目标进程的类型对应的预设配置信息确定目标进程是否可用交换分区。
在一些实施例中,当目标进程类型所对应内存的剩余空间不满足预设阈值时,可以根据预设配置信息中,目标进程是否可用交换分区的映射关系,来确定该目标进程允许还是禁止使用交换分区。
S103、若目标进程不可用交换分区,则根据第一预设规则,对目标进程进行处理。
在一些实施例中,当目标进程不可用交换分区时,可以根据第一预设规则,对目标进程进行处理。
需要说明的是,对于不可用交换分区的目标进程,还需要根据分布式集群系统中进程大小和内存空间的实际使用情况,进行进一步的处理,以使得目标进程能够被正常运行。
综上,本申请实施例提供的资源隔离方法,通过目标进程的类型、及与目标进程类型对应的预设配置信息,确定目标进程对交换分区的使用状态,避免一些目标进程进入交换分区,导致进程处理速度降低。同时,对于不可进入交换分区的进程,进行进一步处理,以完成进程的合理处理,有效地进行资源隔离,提升分布式系统的使用性能。
图3为本申请实施例提供的另一种资源隔离方法流程示意图,进一步地,如图3所示,根据目标进程已使用的内存大小以及目标进程的类型对应的预设配置信息,判断目标进程的类型所对应内存的剩余空间是否满足预设阈值之前,该方法还包括:
S201、创建目录,目录包括:系统目录、用户目录、虚拟机目录及存储目录。
通常,分布式存储是由多个存储节点组成的,本实施例中,对于每个存储节点,创建目录,例如每个节点分别创建不同的cgroup(控制组)目录。
表1为本申请实施例提供的一种cgroup资源分配示意图,如表1所示,该存储节点的存储资源分配可以为:内存对应128GB、交换分区对应32GB、中央处理器包括:主频2.4GHZ、2个处理器(numa)、40个线程数、超线程;数据盘对应10GB的HDD(机械硬盘)和2GB的SSD(固态硬盘)
表1
对于分布式存储节点中的任一节点,其节点的cgroup硬件自适应模块可以根据硬件配置自适应创建不同的cgroup目录,例如:系统目录、用户目录、虚拟机目录、存储目录等,分别对各个模块设置参数进行资源隔离,避免资源抢占。
需要说明的是,上述目录在分布式存储节点启动时进行创建,通过修改对应的进程的启动脚本,即在进程启动或重启时加入对应的目录。目录的大小可以根据硬件配置自适应创建。
S202、根据进程类型与目录的对应关系,在各目录中配置对应的预设配置信息。
可选地,可以对各目录对应的参数进行预先配置,以避免资源抢占。由步骤S101可知,目标进程对应的预设配置信息可以包括:目标进程对应的内存空间大小、目标进程是否可用交换分区等信息。那么,系统目录对应的预设配置信息可以包括:系统进程对应的内存空间大小、系统进程能否使用交换分区等。其中,对于系统进程对应的内存空间大小的配置,可以由硬件配置自适应分配。对于其它的例如:用户目录、虚拟机目录及存储目录的预设配置信息与系统目录的预设配置信息类似,此处不再一一赘述。
图4为本申请实施例提供的一种存储节点cgroup资源分配示意图,在一些实施例中,对于存储目录需要的内存计算公式可以为:
MEM(内存)=5+2*(机械硬盘)+4*(固态硬盘)+12(公共模块)=45GB;其中5GB对应于当前节点监控模块需要的内存大小,其中,如图4中所示,机械硬盘对应10GB,固态硬盘对应2GB。
而对应于系统目录、用户目录分别预留10GB和25GB,同时自适应计算出虚拟机cgroup为79GB。
另外,若节点存在多个numa(非统一内存访问),则需要分别分配每个numa的多个中央处理器给创建的所有目录,并设置优先级,以避免资源浪费,提高使用率。
其中,对于中央处理器的cgroup目录计算方法:存储目录需要的中央处理器计算公式为(向上取整):
2*(10*1.6GHz+2*2.4GHz)/2.4GHz=18个;自适应的计算出虚拟机目录、用户目录及系统目录需要的中央处理器总共为22个。
可选地,为了避免整个存储业务的时延变长,存储进程是禁止使用交换(swap)分区的,而其它进程,例如:用户进程、虚拟机进程、系统进程等主机的其它进程是可以使用swap分区的。但不以此为限,可以根据需要具体配置。举例说明,swap分区创建在固态驱动器(Solid State Drive,SSD),使用swap分区的进程排序可以为:用户进程,虚拟机进程、系统进程、存储进程等。
图5为本申请实施例提供的又一种资源隔离方法流程示意图,进一步地,一个进程对应的预设配置信息还包括:进程对应的内存回收优先级信息,如图5所示,若目标进程不可用交换分区,则根据第一预设规则,对目标进程进行处理之前,还包括:
S301、根据各类型的进程对应的内存回收优先级信息,判断除目标进程之外的其它类型的进程对应的内存中是否存在可回收内存。
当目标进程不可用交换分区时,可以先判断系统中是否存在可回收内存。可选地,可以根据除了当前目标进程之外的其它进程对应的预设配置信息中包含的内存回收优先级信息,判断其它进程对应的内存是否可回收。
S302、若存在,则对可回收内存进行内存回收,并将回收的内存添加至目标进程的类型所对应的内存,得到更新的内存。
可选地,一个进程对应的预设配置信息中,还可以包括进程对应的内存回收优先级信息,其中,内存回收优先级信息可以是预设配置信息中存储的与优先级相关的内核字段的值,例如:内核字段memory.soft_limit_in_bytes的值。每个类型的进程对应的memory.soft_limit_in_bytes的值是不同的,可选地,在进行内存回收时,服务器可以根据每个进程对应的预设配置信息中包含的该进程对应的内存回收优先级信息,也即memory.soft_limit_in_bytes的值,判断是否存在可回收内存。可选地,可以对一个进程对应的内存回收优先级最低的内存进行回收。
例如:用户进程对应的内存回收优先级信息为20,系统进程对应的内存回收优先级信息为10,虚拟机进程对应的内存回收优先级信息为15,存储进程对应的内存回收优先级信息为25,这样,当目标进程为用户进程时,服务器可以根据系统进程对应的内存优先级信息、虚拟机进程对应的内存优先级信息和系统进程对应的内存优先级信息,将系统进程对应的内存作为可回收内存进程回收。
而假设目标进程为上述的系统进程,其对应的内存回收优先级为最低,这样,在判断是否存在可回收内存时,除系统进程之外的其它进程对应的内存回收优先级并不为最低优先级,故,可判断系统中不存在可回收内存。
在对确定出的可回收内存进行回收后,可以将回收到的该部分内存添加到该目标进程对应内存中,得到更新的内存,以使得更新的内存大小能够满足目标进程的正常运行。例如:目标进程为存储进程,那么,可以将回收的内存添加至存储内存中,同时对应更新存储目录的预设配置信息;又或者目标进程为用户资源,则可以将回收的内存添加至用户内存中,同时对应更新用户目录的预设配置信息。
另外,在对内存进行回收时,除了根据内存优先级进行内存回收外,还可以对中央处理器所使用内存进行回收。通常,中央处理器中会运行有多个线程,其在运行过程中会占用系统一定的内存,该部分内存一定程度上也可以进行回收。
S303、采用更新的内存运行目标进程。
通过步骤S302获取到更新的内存后,对应的,可以采用该更新后的内存运行该目标进程,以保证分布式存储系统的运行可靠性。
图6为本申请实施例提供的另一种资源隔离方法流程示意图,进一步地,如图6所示,若不存在可回收内存,则根据第一预设规则,对目标进程进行处理,包括:
S401、判断目标进程是否可进入休眠。
可选地,可以根据目标进程对应的目录的预设配置信息,判断目标进程是否可进入休眠。例如:目标进程对应的目录的预设配置信息中包括:memory.oom_control=1,则判定该目标进程可进入休眠,而memory.oom_control=0,则判定该目标进程不可进入休眠。
S402、若目标进程可进入休眠,则更新目标进程进入休眠状态,否则,关闭目标进程。
对于某些目标进程,在其对应的内存空间不足,且系统中不存在其它可回收内存时,可以先使该目标进程进入休眠状态,也即对该目标进程进行延迟处理,当检测到系统中存在足够的内存来运行该目标进程时,再将该目标进程从休眠状态恢复至运行状态。
而当该目标进程对应的内存空间不足、系统中不存在其它可回收内存、且该目标进程不可进入休眠状态时,则可以触发关闭该目标进程。
通常,为了保障分布式存储的可靠性,应尽量避免将目标进程关闭。但是,当目标进程不可用交换分区,系统中不存在可回收内存,且目标进程不允许进入休眠状态时,为了保证系统的正常运行,需要对该目标进程进行关闭处理。
表2为本申请实施例提供的一种存储内存内核字段分配示意图,通过对每个目录进行系统参数设置,可以实现资源隔离,避免资源抢占。
表2
如表2所示,store表示存储内存,memory.limit_in_bytes=45GB表示内存使用=45GB,memory.memsw.limit_in_bytes=45GB表示内存+交换分区=45GB,memory.soft_limit_in_bytes=45GB表示对于存储内存,不进行主动回收,memory.swappiness=2表示禁止使用交换分区,memory.oom_control=1表示进入休眠。即内存使用=45GB实现该存储内存的物理内存使用上限为45GB,其中内存+交换分区=45GB实现内存+交换分区使用总量为45GB,即限制使用交换分区,对于存储内存,当存储内存对应的存储进程占用的内存超过限制时,会触发oom,导致进程直接关闭,从而造成可用性问题,为了保障业务的可靠性不能使相关进程被关闭。即通过设置memory.oom_control=1关闭控制组的oom killer,将会使该进程进入到休眠状态,直到系统有足够的内存后再继续运行。
对于当系统内存不足,且当前cgroup未达到memory.limit_in_bytes时,存储内存对应的待存储进程会使用交换分区,因此可以通过修改内核字段,即memory.swappiness=2时不使用交换分区,可以保障集群性能的可靠性和性能。同时当系统内存不足时对优先级较低的cgroup进行内存回收,即对memory.soft_limit_in_bytes值较小的cgroup进行内存回收。将回收的内存添加至存储内存中,以使得存储内存对应的目标进程能够正常运行。
进一步地,若目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据目标进程的类型对应的预设配置信息确定目标进程是否可用交换分区之后,该方法还包括:
若目标进程可用交换分区,则根据第二预设规则,使用交换分区运行该目标进程。
在一些实施例中,为了保障分布式集群存储的存储性能,对于存储进程是不可用交换分区的,而对于其它的进程,如:系统进程、虚拟机进程及用户进程,均可以使用交换分区。
在一些实施例中,如果目标进程同时对应于用户内存、系统内存及虚拟机内存,那么,在使用交换分区对目标进程运行时,很容易造成拥堵现象,导致进程运行效率变低。
当目标进程的类型分别对应于系统内存、虚拟机内存及用户内存时,首先根据目标进程的大小、及系统内存、虚拟机内存及用户内存的可用内存空间的大小,判断系统内存或者虚拟机内存或者用户内存是否够用,当系统内存或者虚拟机内存或者用户内存不够用时,可以根据预设的交换分区使用优先级,使用交换分区对与系统内存或者虚拟机内存或者用户内存对应的目标进程进行运行。
例如:目标进程分别对应于用户进程、系统进程和虚拟机进程,而各进程对交换区的使用优先级为:用户进程、虚拟机进程、系统进程,那么可以根据该优先级,使用交换分区先对目标进程中的用户进程进行运行,其次是对虚拟机进程进行运行,最后是对系统进程进行运行。而当对用户进程和虚拟机进程运行完毕后,交换分区内存已满,此时,系统进程将停止运行,直到检测到交换分区中有空闲内存时再进行运行。
综上,本申请实施例提供的资源隔离方法,通过目标进程的类型、及与目标进程类型对应的预设配置信息,确定目标进程对交换分区的使用状态,避免一些目标进程进入交换分区,导致进程处理速度降低。同时,对于不可进入交换分区的进程,进行进一步处理,以完成进程的合理处理,有效地进行资源隔离,提升分布式系统的使用性能。
图7为本申请实施例提供的一种资源隔离装置结构示意图,应用于分布式集群存储服务器,如图7所示,该装置包括:判断模块501、确定模块502及第一处理模块503;
判断模块501,根据目标进程已使用的内存大小以及目标进程的类型对应的预设配置信息,判断目标进程的类型所对应内存的剩余空间是否满足预设阈值;预设配置信息包括:为目标进程分配的内存大小、是否可用交换分区;
确定模块502,用于若目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据目标进程的类型对应的预设配置信息确定目标进程是否可用交换分区;
第一处理模块503,用于若目标进程不可用交换分区,则根据第一预设规则,对目标进程进行处理。
进一步地,如图8所示,该装置还包括:创建模块504及配置模块505;
创建模块504,用于创建目录,目录包括:系统目录、用户目录、虚拟机目录及存储目录;
配置模块505,用于根据进程类型与目录的对应关系,在各目录中配置对应的预设配置信息。
进一步地,一个进程对应的预设配置信息还包括:进程对应的内存回收优先级信息;
若目标进程不可用交换分区,则在根据第一预设规则,对目标进程进行处理之前,第一处理模块503还用于:根据各类型的进程对应的内存回收优先级信息,判断除目标进程之外的其它类型的进程对应的内存中是否存在可回收内存;若存在,则对可回收内存进行内存回收,并将回收的内存添加至目标进程的类型所对应的内存,得到更新的内存;采用更新的内存运行目标进程。
进一步地,若不存在可回收内存,在根据第一预设规则,对目标进程进行处理时,第一处理模块503具体用于:判断目标进程是否可进入休眠;若目标进程可进入休眠,则更新目标进程进入休眠状态,否则,关闭目标进程。
进一步地,如图9所示,该装置还包括:第二处理模块506;
第二处理模块506,用于若目标进程可用交换分区,则根据第二预设规则,使用交换分区运行目标进程。
上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
图10为本申请实施例提供的另一种资源隔离装置结构示意图,如图10示,该装置包括:处理器901和存储器902,其中:存储器902用于存储程序,处理器901调用存储器902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
该装置可以集成于终端或服务器等设备,本申请中不作限制。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种资源隔离方法,应用于分布式集群超融合服务器,其特征在于,包括:
根据目标进程已使用的内存大小以及所述目标进程的类型对应的预设配置信息,判断所述目标进程的类型所对应内存的剩余空间是否满足预设阈值;所述预设配置信息包括:为所述目标进程分配的内存大小、是否可用交换分区;
若所述目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据所述目标进程的类型对应的预设配置信息确定所述目标进程是否可用所述交换分区;
若所述目标进程不可用所述交换分区,则根据第一预设规则,对所述目标进程进行处理。
2.根据权利要求1所述的方法,其特征在于,所述根据目标进程已使用的内存大小以及所述目标进程的类型对应的预设配置信息,判断所述目标进程的类型所对应内存的剩余空间是否满足预设阈值之前,还包括:
创建目录,所述目录包括:系统目录、用户目录、虚拟机目录及存储目录;
根据进程类型与目录的对应关系,在各所述目录中配置对应的预设配置信息。
3.根据权利要求1或2所述的方法,其特征在于,一个进程对应的预设配置信息还包括:进程对应的内存回收优先级信息;
若所述目标进程不可用所述交换分区,则在所述根据第一预设规则,对所述目标进程进行处理之前,还包括:
根据各类型的进程对应的内存回收优先级信息,判断除所述目标进程之外的其它类型的进程对应的内存中是否存在可回收内存;
若存在,则对所述可回收内存进行内存回收,并将回收的内存添加至所述目标进程的类型所对应的内存,得到更新的内存;
采用所述更新的内存运行所述目标进程。
4.根据权利要求3所述的方法,其特征在于,若不存在可回收内存,所述根据第一预设规则,对所述目标进程进行处理,包括:
判断所述目标进程是否可进入休眠;
若所述目标进程可进入休眠,则更新所述目标进程进入休眠状态;否则,关闭所述目标进程。
5.根据权利要求1或2所述的方法,其特征在于,所述若所述目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据所述目标进程的类型对应的预设配置信息确定所述目标进程是否可用所述交换分区之后,还包括:
若所述目标进程可用所述交换分区,则根据第二预设规则,使用所述交换分区运行所述目标进程。
6.一种资源隔离装置,应用于分布式集群存储服务器,其特征在于,包括:判断模块、确定模块及第一处理模块;
所述判断模块,根据目标进程已使用的内存大小以及所述目标进程的类型对应的预设配置信息,判断所述目标进程的类型所对应内存的剩余空间是否满足预设阈值;所述预设配置信息包括:为所述目标进程分配的内存大小、是否可用交换分区;
所述确定模块,用于若所述目标进程的类型所对应内存的剩余空间不满足预设阈值,则根据所述目标进程的类型对应的预设配置信息确定所述目标进程是否可用所述交换分区;
所述第一处理模块,用于若所述目标进程不可用所述交换分区,则根据第一预设规则,对所述目标进程进行处理。
7.根据权利要求6所述的装置,其特征在于,还包括:创建模块及配置模块;
所述创建模块,用于创建目录,所述目录包括:系统目录、用户目录、虚拟机目录及存储目录;
所述配置模块,用于根据进程类型与目录的对应关系,在各所述目录中配置对应的预设配置信息。
8.根据权利要求6或7所述的装置,其特征在于,一个进程对应的预设配置信息还包括:进程对应的内存回收优先级信息;
若所述目标进程不可用所述交换分区,则在所述根据第一预设规则,对所述目标进程进行处理之前,所述第一处理模块还用于:
根据各类型的进程对应的内存回收优先级信息,判断除所述目标进程之外的其它类型的进程对应的内存中是否存在可回收内存;
若存在,则对所述可回收内存进行内存回收,并将回收的内存添加至所述目标进程的类型所对应的内存,得到更新的内存;
采用所述更新的内存运行所述目标进程。
9.根据权利要求8所述的装置,其特征在于,若不存在可回收内存,在所述根据第一预设规则,对所述目标进程进行处理时,所述第一处理模块具体用于:
判断所述目标进程是否可进入休眠;
若所述目标进程可进入休眠,则更新所述目标进程进入休眠状态,否则,关闭所述目标进程。
10.根据权利要求6或7所述的装置,其特征在于,还包括:第二处理模块;
所述第二处理模块,用于若所述目标进程可用所述交换分区,则根据第二预设规则,使用所述交换分区运行所述目标进程。
11.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至5任一所述的资源隔离方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一所述的资源隔离方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910742872.8A CN110489232A (zh) | 2019-08-12 | 2019-08-12 | 资源隔离方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910742872.8A CN110489232A (zh) | 2019-08-12 | 2019-08-12 | 资源隔离方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489232A true CN110489232A (zh) | 2019-11-22 |
Family
ID=68550681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910742872.8A Pending CN110489232A (zh) | 2019-08-12 | 2019-08-12 | 资源隔离方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489232A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597052A (zh) * | 2020-05-22 | 2020-08-28 | 深圳创新奇智科技有限公司 | 芯片管控方法、装置、服务器及可读存储介质 |
CN112114962A (zh) * | 2020-09-04 | 2020-12-22 | 北京达佳互联信息技术有限公司 | 一种内存分配方法及装置 |
CN114546634A (zh) * | 2020-11-24 | 2022-05-27 | 慧与发展有限责任合伙企业 | 对系统的同步重启的管理 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461737A (zh) * | 2014-12-10 | 2015-03-25 | 广东欧珀移动通信有限公司 | 一种内存管理方法和装置 |
US20150150003A1 (en) * | 2013-11-26 | 2015-05-28 | Parallels | Method for targeted resource virtualization in containers |
CN105446814A (zh) * | 2014-09-30 | 2016-03-30 | 青岛海信移动通信技术股份有限公司 | 一种缓存回收方法和装置 |
CN107071045A (zh) * | 2017-05-08 | 2017-08-18 | 深信服科技股份有限公司 | 一种基于多租户的资源调度系统 |
CN109857561A (zh) * | 2019-02-12 | 2019-06-07 | 武汉深之度科技有限公司 | 一种内存管理方法及计算设备 |
-
2019
- 2019-08-12 CN CN201910742872.8A patent/CN110489232A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150150003A1 (en) * | 2013-11-26 | 2015-05-28 | Parallels | Method for targeted resource virtualization in containers |
CN105446814A (zh) * | 2014-09-30 | 2016-03-30 | 青岛海信移动通信技术股份有限公司 | 一种缓存回收方法和装置 |
CN104461737A (zh) * | 2014-12-10 | 2015-03-25 | 广东欧珀移动通信有限公司 | 一种内存管理方法和装置 |
CN107071045A (zh) * | 2017-05-08 | 2017-08-18 | 深信服科技股份有限公司 | 一种基于多租户的资源调度系统 |
CN109857561A (zh) * | 2019-02-12 | 2019-06-07 | 武汉深之度科技有限公司 | 一种内存管理方法及计算设备 |
Non-Patent Citations (2)
Title |
---|
CEPHCHINA小编: "OpenStack和Ceph的超融合架构快速入门", 《HTTP://CEPH.ORG.CN/2016/07/22/OPENSTACK%E5%92%8CCEPH%E7%9A%84%E8%B6%85%E8%9E%8D%E5%90%88%E6%9E%B6%E6%9E%84%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/》 * |
PUBLIC0821: "Linux Cgroup系列(04):限制cgroup的内存使用(subsystem之memory)", 《HTTPS://SEGMENTFAULT.COM/A/1190000008125359》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597052A (zh) * | 2020-05-22 | 2020-08-28 | 深圳创新奇智科技有限公司 | 芯片管控方法、装置、服务器及可读存储介质 |
CN111597052B (zh) * | 2020-05-22 | 2024-03-01 | 青岛创新奇智科技集团股份有限公司 | 芯片管控方法、装置、服务器及可读存储介质 |
CN112114962A (zh) * | 2020-09-04 | 2020-12-22 | 北京达佳互联信息技术有限公司 | 一种内存分配方法及装置 |
CN114546634A (zh) * | 2020-11-24 | 2022-05-27 | 慧与发展有限责任合伙企业 | 对系统的同步重启的管理 |
US11860754B2 (en) | 2020-11-24 | 2024-01-02 | Hewlett Packard Enterprise Development Lp | Managing synchronized reboot of a system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412021B2 (en) | Optimizing placement of virtual machines | |
US11509596B2 (en) | Throttling queue for a request scheduling and processing system | |
CN109117265A (zh) | 在集群中调度作业的方法、装置、设备及存储介质 | |
CN110489232A (zh) | 资源隔离方法、装置、电子设备及存储介质 | |
US10572290B2 (en) | Method and apparatus for allocating a physical resource to a virtual machine | |
JP6190969B2 (ja) | マルチテナントリソース調停方法 | |
EP3380937A1 (en) | Techniques for analytics-driven hybrid concurrency control in clouds | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
CN103180830A (zh) | 中央处理器资源分配方法和计算节点 | |
CN112084026B (zh) | 基于粒子群的低能耗边缘计算资源部署系统及方法 | |
CN108132827B (zh) | 一种网络切片资源映射方法、相关设备及系统 | |
CN112269641A (zh) | 一种调度方法、装置、电子设备及存储介质 | |
CN112783659B (zh) | 一种资源分配方法、装置、计算机设备及存储介质 | |
KR20130033020A (ko) | 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법 | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN108965148A (zh) | 一种处理器及报文处理方法 | |
CN107533435A (zh) | 存储空间的分配方法及存储设备 | |
CN112860383A (zh) | 集群资源调度方法、装置、设备及存储介质 | |
CN113672391B (zh) | 一种基于Kubernetes的并行计算任务调度方法与系统 | |
CN105243031B (zh) | 一种缓存分区分配空闲页的方法及装置 | |
CN112073532B (zh) | 一种资源分配的方法及装置 | |
CN110874189B (zh) | 存储系统和存储控制方法 | |
CN111857992A (zh) | 一种Radosgw模块中线程资源分配方法和装置 | |
CN108563489A (zh) | 一种数据中心综合管理系统的虚拟机迁移方法及系统 | |
CN105612727B (zh) | 一种基于云环境系统的部署方法和装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191122 |
|
RJ01 | Rejection of invention patent application after publication |