1.本发明涉及超融合技术领域,尤其涉及一种超融合集群主机资源控制方法、系统、设备和可读介质。
背景技术:2.超融合基础架构是一种将计算、网络和存储等资源作为基础设施进行整合的技术架构,在超融合集群的主机上,同时存在系统基础服务、虚拟化、容器等不同形态的服务对外提供业务,主机资源控制是指对这些服务所需要的系统资源进行规划和限制,避免因某些服务非预期的资源使用情况影响其他服务正常工作,在资源紧张时保证关键服务资源不受影响,最终保证系统的稳定性和性能,在超融合或类似场景中,当前主要的资源控制方式是基于linux系统提供的cgroup功能来实现,主要实现方式包括:(1)直接利用linux暴露的cgroup filesystem接口管理系统各服务的资源限制;(2)利用systemd程序管理服务的资源;(3)利用libcgroup程序管理服务资源。
3.于现有技术中,主机资源控制方式需要对不同形态的服务进行统一的规划和控制,包括由systemd管理的服务单元、虚拟化软件运行的虚拟机服务、容器方式提供的服务等,不同的服务管理程序对服务的资源限制有不同的配置方式,无法实现系统整体统一的管理视图和统一的资源限制配置;进一步地,超融合系统升级一般采用离线升级的方式,升级内容既包括业务服务程序的升级,也包括服务资源控制策略和参数等在内的配置升级,系统服务和配置变更时系统的稳定性可能被异常的控制参数变更破坏无法保证业务的连续性。
技术实现要素: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.本技术的第四方面提供了一种可读存储介质,其上存储有处理程序被处理器执行时实现如前述的超融合集群主机资源控制方法。
40.通过本技术提出的技术方案,至少具备以下有益技术效果:
41.本方法采用预设的资源控制策略作为统一配置源进行整体统一的规划,通过获取超融合集群的主机环境信息,基于整体统一化的资源控制策略生成底层服务配置文件,以此实现对不同形态的服务类型资源控制策略的统一管理,对于资源控制系统配置的升级变更,在目标资源配置状态更新之前增加了配置解析校验判断是否满足预设状态变更条件,并提供冲突处理方案,保证系统目标资源配置状态升级变更成功同时不会被异常的配置变更破坏,不中断业务并使资源控制变更立即生效避免原本必须重启系统或服务才能生效的变更可以立刻生效,备份原始资源配置状态和资源控制策略及进程信息保证异常的资源控制状态能够迅速恢复到正常。
附图说明
42.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
43.图1根据本技术的实施例,示出了一种超融合集群主机资源控制方法流程示意图;
44.图2根据本技术的实施例,示出了一种主机资源控制过程的流程图;
45.图3根据本技术的实施例,示出了一种配置状态调整方法的示意图;
46.图4根据本技术的实施例,示出了一种超融合集群主机资源控制系统框图。
具体实施方式
47.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
48.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
49.为了解决现有技术中主机资源控制方式无法实现系统整体统一的管理视图和统一的资源限制配置以及超融合系统升级过程系统服务和配置变更时系统的稳定性可能被异常的控制参数变更破坏无法保证业务的连续性等一系列问题,本技术提出了一种超融合集群主机资源控制方法、系统、设备和可读介质。通过该种超融合集群主机资源控制方法实现采用预设资源策略模版配置作为统一配置源以此实现对不同形态的服务类型资源控制策略的统一管理,对于资源控制系统配置变更,保证系统目标资源配置状态升级变更成功同时不会被异常的配置变更破坏,不中断业务并使资源控制变更立即生效,同时备份原始资源配置状态的原始配置文件和资源控制策略保证异常的资源控制状态能够迅速恢复到
正常。
50.于本技术的相关实施例中cgroups代表了linux control groups,是linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,io等等)的机制,cgroups分为几个子系统,每个子系统代表一种设施或者说是资源控制器,用来调度某一类资源的使用,如cpu时钟、内存、块设备等。
51.具体地,图1根据本技术的实施例,示出了一种超融合集群主机资源控制方法流程示意图,具体包括:
52.步骤100:预设主机服务资源的资源控制策略,资源控制策略包括层级划分框架、资源控制参数信息。可以理解的是,主机上各类服务的服务形态包括由systemd管理的服务单元、虚拟化软件运行的虚拟机服务、容器方式提供的服务等。资源控制策略通过声明式的、与服务形态无关的形式定义预设其主机服务应当遵循的资源约束。资源控制策略也具体包括了声明的参数占位符和选择控制逻辑,以适应不同主机环境下资源约束的差异化。预设的资源控制管理策略可以实现所有的底层配置文件派生,资源控制策略是所有资源控制配置的模板,也是唯一需要进行预设定义的配置,由此实现主机上各类服务资源的整体规划和统一定义。
53.于上述步骤100中,预设主机服务资源的资源控制策略包括:按照业务需求定义层级划分框架,层级划分框架至少包括若干个资源控制组,资源控制组包括映射至主机服务资源的归属标识;按照业务需求定义资源控制参数信息,实现进程占用资源和/或底层服务资源的动态控制。可以理解的是,按照业务需求对cpuset、cpu、memory等子系统设置层级划分结构,并通过定义资源控制参数信息实现进程占用资源和/或底层服务资源的动态控制,资源控制参数还包括映射至主机服务资源的归属标识,服务到资源控制组的归属关系定义,底层资源控制服务特定的限制参数等。
54.于本技术的一些实施例中,系统资源在最顶层被划分为包括一个或者多个进程的资源控制组,资源控制组会根据业务需要划分为一个或者多个控制子组,例如地,系统服务的资源控制组system.slice、超融合业务管理服务的资源控制组smtx.slice、超融合业务中guest vms的资源控制组machine.slice、系统登录用户相关操作的资控制组user.slice等。
55.可以理解的是,一个子系统最多只能附加到一个层级,一个层级可以附加多个子系统,一个任务可以是多个cgroup的成员,但是这些cgroup必须在不同的层级,系统中的进程创建子进程时,该子进程自动成为其父进程所在cgroup的成员,然后可根据需要将该子任务移动到不同的cgroup中,但开始时它总是继承其父任务的cgroup。
56.于本技术的一些实施例中,预设的资源控制策略包括了对主机整体资源的划分和规划,以及服务的资源约束和服务进程的归属关系。
57.步骤200:根据资源控制策略和超融合集群的主机环境信息生成底层服务配置文件,底层服务配置文件至少包括资源控制实际参数值、层级划分结果。可以理解的是,将资源策略与主机实际环境信息如物理资源类型和数量、超融合产品运行模式等组合计算,得到实际的资源控制参数值、层级划分结果,并将资源控制实际参数值和划分结果转化为不同linux底层资源管理程序的底层服务配置文件。
58.于本技术的一些实施例中,不同服务管理程序生成各自的底层服务配置文件可以
包括:为systemd管理的cgroup子系统生成slice单元配置文件和属性;为systemd管理的服务生成drop-in模式的配置文件,drop-in模式的配置文件能以非侵入的方式控制systemd服务单元归属的资源控制组或其他属性;对于systemd不支持cgroup子系统或cgroup控制参数,则利用libcgroup进行控制,生成cgconifg配置文件用于创建cgroup层级和设置参数。同时生成cgred配置文件,用于将服务进程调整到期望的cgroup组;对于完全自主控制cgroup组的服务,在cgroup层级树中这些服务存在一个接入的父cgroup,配置生成模块会为这个父cgroup及其之上的层级生成底层配置文件。
59.于上述步骤200中,根据资源控制策略和超融合集群的主机环境信息生成底层服务配置文件包括:获取超融合集群的产品部署信息和物理服务器信息;根据产品部署信息和物理服务器信息按照预设计算规则生成影响层级划分框架、资源控制参数信息的影响结果;将影响结果应用于资源控制策略,生成底层服务配置文件。可以理解的是,底层服务配置文件的具体配置受到物理资源数量、类型和产品运行模式的影响,当超融合集群的产品部署和物理服务器等信息存在差异时,运行的服务数量和服务对资源的需求也存在差异,这些差异会直接影响层级划分框架以及资源控制参数信息,超融合系统提供了接口用于获取物理资源数量、类型和产品运行模式等主机环境信息。
60.于本技术的一些实施例中,系统提供了接口可以查询主机环境信息,可以包括=:物理服务器信息,例如:包括影响cpuset组划分的numa node拓扑结构,cpu数量、内存数量、高性能硬件特性支持情况等;产品部署信息包括部署的平台类型、产品版本变体等。
61.于本技术的一些实施例中,预设的资源控制策略通过底层服务配置文件的配置命令:zbs-deploy-manage config_cgorup,实现其他所有底层配置,如资源控制实际参数值、层级划分结果、归属标识代表的归属关系等都会根据资源控制策略和超融合集群的主机环境信息自动派生出来并应用到系统中。
62.于本技术的一些实施例中,对应目标资源配置状态的底层服务配置文件可以包括sysetmd slice和service单元的drop-in配置文件和libcgroupcgconfig配置文件等。
63.步骤300:解析原始资源配置状态的原始配置文件和底层配置文件,获取状态解析结果。可以理解的是,底层配置文件并不会立即生效升级至目标资源配置状态,底层配置文件不会直接覆盖原始配置文件,该底层配置文件在执行系统部署、更新或升级前需要获取当前系统的原始配置文件信息,先解析这两个配置文件的内容并计算差异,将其作为状态解析结果输出。
64.于本技术的一些实施例中,底层服务配置文件的内容为生成用于更新资源控制程序至目标资源配置状态的目标配置文件,在升级主机时,根据资源控制策略和集群环境的信息生成的底层服务配置文件中就包含了新的libcgroupcgconfig服务等的配置文件,生成的底层配置文件用以实现更新各个超融合集群对应的资源控制程序。
65.于本技术的一些实施例中,状态解析结果的获取需要读取原始配置文件和底层配置文件,识别其中定义的cgroup组和组中的控制参数设置,在内存中记录为结构化数据,对比原始配置文件和底层配置文件结构化的配置数据,将对比结果作为状态解析结果。于本技术的一些实施例中,linuxcgroup中的一些资源控制参数信息的控制选项是有约束条件的,包括cpu.rt_runtime_us和cpu.rt_period_us:所有资源控制子组的cpu.rt_runtime_us/cpu.rt_period_us的总和不能超过资源控制父组;cpuset.cpus:资源控制子组的cpu必
须限制在资源控制父组的取值之内,有进程分配在资源控制组中时,不能设置为空;cpuset.cpu_exclusive:资源控制父组没启用时,资源控制子组无法启用;资源控制子组启用时,资源控制父组不能取消。这类限制条件是底层资源控制程序不能检测和安全的处理的。例如,当有约束无法满足的情况下,libcgroupcgconfig服务配置cgroup会失败,一旦配置cgroup失败,将按配置文件中定义cgroup列表将已经存在的同名组或者重复名组全部清理掉。这些cgroup组被删除后,其中的进程/线程被移动到非预期的组中,不再受到控制;libcgroupcgconfig服务无法自动处理的原始配置文件和底层配置文件的差异,这种配置差异必须要在底层配置文件应用前进行判断,并解决配置差异冲突或者阻断更新等操作
66.步骤400:在状态解析结果满足预设状态变更条件的情况下,驱动资源控制程序切换至目标资源配置状态,更新超融合集群的系统配置。可以理解的是,驱动linux系统底层资源管理程序根据底层配置文件切换至目标资源配置状态,确保在不出现业务中断的前提下将目标资源配置状态下的底层配置文件在超融合系统中立即生效。
67.于本技术的一些实施例中,底层配置文件的更新的配置至少可以包括:systemd管理的slice单元或服务单元的drop-in配置,libcgroup的cgconfig配置文件和cgred配置文件等。
68.于本技术的一些实施例中,驱动资源控制程序切换至目标资源配置状态可以保证不中断业务并使资源控制变更立即生效的方式,例如地,对systemd管理的服务单元:调用systemctl set-property
‑‑
runtime命令使属性变更立刻生效;对libcgroup管理的cgroup层级和控制参数变更:重启cgconfig和cgred服务;其他自主控制的服务,调用cgclassify或直接操作cgroup控制文件使变更立刻生效等。
69.于上述步骤400中,状态解析结果满足预设状态变更条件包括:原始资源配置状态的原始配置文件和底层配置文件的状态解析结果不存在差异配置数据。可以理解的是,服务的资源控制依赖于systemd和libcgroup,对于资源控制优先使用systemd进行管理,但是systemd只实现了对那些调整值不会产生冲突的控制选项的支持,systemd不支持的资源控制则由libcgroupcgconfig服务进行管理,因此,实际需要进行变更校验和冲突处理的基本都是由libcgroupcgconfig服务管理的控制参数,通过原始配置文件和底层配置文件计算出变更差异数据。
70.于上述步骤400中,状态解析结果满足预设状态变更条件还包括:在原始资源配置状态的原始配置文件和底层配置文件的状态解析结果存在差异配置数据的情况下,遍历差异配置数据,调整底层配置文件的若干参数进入兼容配置状态;例如,释放预设资源额度;根据释放的预设资源额度,调整底层配置文件的若干参数进入兼容配置状态;其中,兼容配置状态可以通过接收配置变更指令实现恢复至原始资源配置状态和/或更新至目标资源配置状态。可以理解的是,当原始配置文件和底层配置文件存在差异配置数据的情况下,利用底层配置文件将系统更新至目标资源配置状态的过程中可能出现的冲突,需要根据差异配置数据的类型、数量等信息进行冲突解决的尝试。
71.于本技术的一些实施例中,差异配置数据代表了可能出现的冲突,冲突的识别和处理逻辑是以可扩展的方式实现,可以调整新的控制选项处理逻辑。
72.在本技术的一些实施例中,图2示出了一种主机资源控制过程的流程图,主机资源控制的实现通过预设的资源控制策略及主机环境信息实现底层配置文件的生成,底层配置
文件的生成对于目标资源控制状态的具体实现,包括对于底层配置文件和原始配置文件之间的解析结果判断和处理,实现方式与前述实施例中状态解析结果的处理方式一致,在此不做赘述。
73.下述将以cpu.rt_runtime_us/cpu.rt_period_us的控制参数冲突避免方式为例进行说明:
74.cpu.rt_runtime_us/cpu.rt_period_us的冲突点在于:资源控制子组的资源额度总和不能超出资源控制父组的资源额度,但是在主机升级时,可能调整兄弟资源控制组或者父子资源控制组中任意的额度,例如,需要系统升级过程中,定义资源控制a与b属于父子关系,资源控制组a合c属于兄弟关系,当需要同时减少父组a和子组b的资源量,将给a的资源迁移至的兄弟组c,cgconfig的配置文件对于资源控制组实际调整的顺序是不确定的,当cgconfig应用配置时先调小父组a再调整子组b,调整父组a时由于父组资源量不能小于子组之和的限制,调整将会失败,当cgconfig应用配置时先调大c组的资源额度然后将a的额度调小,c组的资源调整也会失败。
75.为了避免调整过程中的由于不确定的调整顺序导致出现的冲突,在存在差异配置数据的情况下,先遍历配置变更差异数据,可以按照从子组到父组的方向,先将底层配置文件中导致资源额度降低的资源控制组的资源控制参数信息设置到系统中,预先将资源额度释放出来,将系统调整至一个临时的中间配置状态,保证cgconfig服务可以成功的应用底层配置文件完成目标资源配置状态的更新,也可以通过原始配置文件的方式将系统恢复到原始资源配置状态,此时认为系统成功调整至兼容配置状态。
76.于本技术的一些实施例中,对于存在差异配置数据情况下的冲突识别和对应的调整为可扩展的策略,存在需要为了cgconfig能正确应用底层配置文件而调整系统某些参数的情况,则按照底层配置文件能被正确应用的需求将系统实际配置调整至兼容配置状态,在此可以适用性增加扩展的策略。例如地,调整可以同时包括:第一调整为:判断底层配置文件中是否存在控制资源子组cpu.rt_runtime_us/cpu.rt_period_us资源总和超过控制资源父组的情况,如果不存在,即继续其他调整,如果存在则阻断系统的升级;第二调整为:提前将底层配置文件中资源额度降低的变更设置到系统中,以便提前释放预设资源额度;通过第一和第二调整阶段实现系统成功调整至兼容配置状态,本领域技术人员可以根据实际需求选择合适调整的策略类型、数量、顺序等,最终将系统调整至兼容配置状态,在此不做限定。
77.于本技术的一些实施例中,当存在调至兼容配置状态失败,无法直接从原始资源配置状态升级到目标资源配置状态的情况下,无有效的兼容配置状态或引入兼容配置状态对系统资源控制有较大的影响的情况下,目标资源配置状态的更新无法完成,系统的升级失败,系统将恢复至原始资源配置状态。
78.于本技术的一些实施例中,在存在部署和/或升级变更超融合系统的情况下,更新资源控制策略的配置。可以理解的是,对服务或资源限制进行更新时,根据实际的资源配置策略动态调整资源控制策略,,因此对应不同的系统部署和/或系统升级的需求,资源控制策略的预设类型、方式等适应性调整。
79.于本技术的一些实施例中,驱动资源控制程序切换至目标资源配置状态之前,备份原始资源配置状态。可以理解的是,资源控制变更过程出现失败时,主机的资源控制可能
被破坏,此时为了避免系统运行受到影响需要恢复至原始资源配置状态,因此在启动目标资源配置状态的更新前,需要对原始资源配置状态的配置文件进行备份,同时为了保证后续目标配置更新的再次启动,同时备份原始资源控制状态下的进程cgroup归属信息等。
80.于本技术的一些实施例中,在超融合系统的底层配置文件配置无法完成的情况下,通过第一预设恢复逻辑恢复至原始资源配置状态;在第一预设恢复逻辑恢复失败的情况下,记录错误信息,启用第二恢复逻辑。可以理解的是,当目标资源配置状态无法升级成功的情况下,通过第一预设恢复逻辑将资源控制配置恢复至备份的原始资源控制状态,如果第一预设恢复逻辑的恢复失败,则提供错误报告和启用第二恢复逻辑实现原始资源配置状态的恢复,第二预设恢复逻辑包括人工恢复的途径等。
81.具体地,图3示出了一种配置状态调整方法的示意图。在资源控制变更应用到系统之前,备份原始资源配置状态和资源控制策略以及进程cgroup归属信息等,启动底层配置文件更新目标资源配置状态,当捕捉变更应用到系统过程中出现的错误,启动自动恢复逻辑,恢复逻辑强制将资源控制配置状态重设为原始资源配置状态,并按备份的cgroup归属信息重新调整进程,如果恢复过程出现错误,现场将被保留并报告错误信息,人工恢复逻辑引入,实现原始资源配置状态的恢复。
82.于本技术的一些实施例中,图4示出了一种超融合集群主机资源控制系统框图,该种超融合集群主机资源控制系统应用于前述超融合集群主机资源控制方法中,具体包括:
83.预设单元1,用于预设主机服务资源的资源控制策略,资源控制策略包括层级划分框架、资源控制参数信息;
84.配置生成单元2,用于根据资源控制策略和超融合集群的主机环境信息生成底层服务配置文件,底层服务配置文件至少包括资源控制实际参数值、层级划分结果;
85.解析单元4,用于解析原始资源配置状态的原始配置文件和底层配置文件,获取状态解析结果;
86.更新单元5,用于在状态解析结果满足预设状态变更条件的情况下,驱动资源控制程序切换至底层配置文件对应的目标资源配置状态,更新超融合集群的系统配置。
87.可以理解的是,上述控制系统各个功能模块执行与前述超融合集群主机资源控制方法相同的步骤流程,在此不做赘述。
88.在本技术的一些实施例中,还提供了一种电子设备。该种电子设备中包含存储器和处理器,其中存储器用于对处理程序进行存储,处理器则根据指令对处理程序进行执行。当处理器对处理程序进行执行时,使得前述实施例中的超融合集群主机资源控制方法得以实现。
89.本技术提出的技术方案涉及方法、装置、系统、电子设备、计算机可读存储介质和/或计算机程序产品。计算机程序产品可以包括用于执行本公开的各个方面的计算机可读程序指令。
90.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式
压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
91.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
92.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
93.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
94.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
95.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
96.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实
现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
97.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
技术特征:1.一种超融合集群主机资源控制方法,其特征在于,所述的方法包括:预设主机服务资源的资源控制策略,所述资源控制策略包括层级划分框架、资源控制参数信息;根据所述资源控制策略和所述超融合集群的主机环境信息生成底层服务配置文件,所述底层服务配置文件至少包括资源控制实际参数值、层级划分结果;解析原始资源配置状态的原始配置文件和所述底层配置文件,获取状态解析结果;在所述状态解析结果满足预设状态变更条件的情况下,驱动所述资源控制程序切换至所述底层服务配置文件对应的目标资源配置状态,更新所述超融合集群的系统配置。2.根据权利要求1所述的一种超融合集群主机资源控制方法,其特征在于,预设主机服务资源的资源控制策略包括:按照业务需求定义所述层级划分框架,所述层级划分框架至少包括若干个资源控制组,所述资源控制组包括映射至所述主机服务资源的归属标识;按照业务需求定义所述资源控制参数信息,实现进程占用资源和/或底层服务资源的动态控制。3.根据权利要求1所述的一种超融合集群主机资源控制方法,其特征在于,根据所述资源控制策略和所述超融合集群的主机环境信息生成底层服务配置文件包括:获取所述超融合集群的产品部署信息和物理服务器信息;根据所述产品部署信息和所述物理服务器信息按照预设计算规则生成影响所述层级划分框架、资源控制参数信息的影响结果;将所述影响结果应用于所述资源控制策略,生成所述底层服务配置文件。4.根据权利要求1所述的一种超融合集群主机资源控制方法,其特征在于,所述的方法还包括:在存在超融合系统部署和/或升级变更的情况下,更新所述资源控制策略的配置。5.根据权利要求1所述的一种超融合集群主机资源控制方法,其特征在于,所述状态解析结果满足预设状态变更条件包括:所述原始资源配置状态的所述原始配置文件和所述底层配置文件的状态解析结果不存在差异配置数据。6.根据权利要求1所述的一种超融合集群主机资源控制方法,其特征在于,所述状态解析结果满足预设状态变更条件还包括:在所述原始资源配置状态的所述原始配置文件和所述底层配置文件的状态解析结果存在差异配置数据的情况下,遍历所述差异配置数据,动态调整所述底层配置文件的若干参数进入兼容配置状态;其中,所述兼容配置状态可以通过接收配置变更指令实现恢复至原始资源配置状态和/或更新至目标资源配置状态。7.根据权利要求1所述的一种超融合集群主机资源控制方法,其特征在于,驱动所述资源控制程序切换至所述目标资源配置状态之前,备份所述原始资源配置状态。8.根据权利要求1所述的一种超融合集群主机资源控制方法,其特征在于,所述的方法还包括:在所述超融合系统的所述底层配置文件配置无法完成的情况下,通过第一预设恢复逻
辑恢复至所述原始资源配置状态;在第一预设恢复逻辑恢复失败的情况下,记录错误信息,启用第二恢复逻辑。9.一种超融合集群主机资源控制系统,其特征在于,所述的系统包括:预设单元,用于预设主机服务资源的资源控制策略,所述资源控制策略包括层级划分框架、资源控制参数信息;配置生成单元,用于根据所述资源控制策略和所述超融合集群的主机环境信息生成底层服务配置文件,所述底层服务配置文件至少包括资源控制实际参数值、层级划分结果;解析单元,用于解析原始资源配置状态的原始配置文件和所述底层配置文件,获取状态解析结果;更新单元,用于在所述状态解析结果满足预设状态变更条件的情况下,驱动所述资源控制程序切换至所述底层配置文件对应的目标资源配置状态,更新所述超融合集群的系统配置。10.一种电子设备,其特征在于,包括:存储器,所述存储器用于存储处理程序;处理器,所述处理器执行所述处理程序时实现如权利要求1至8中任意一项所述的超融合集群主机资源控制方法。11.一种可读存储介质,其特征在于,所述可读存储介质上存储有处理程序,所述处理程序被处理器执行时实现如权利要求1至8中任意一项所述的超融合集群主机资源控制方法。
技术总结本发明提供了一种超融合集群主机资源控制方法、系统、设备和可读介质。其中,该种超融合集群主机资源控制方法包括:预设主机服务资源的资源控制策略,将根据资源控制策略与主机环境信息结合生成底层服务配置文件,根据原始资源配置状态的原始配置文件和底层配置文件的状态解析结果,驱动资源控制程序将满足预设状态变更条件的底层配置文件切换至底层配置文件对应的目标资源配置状态,更新系统配置。通过本技术方案实现资源控制策略的统一设置,实现服务类型资源控制策略的统一管理,在目标资源配置状态更新之前增加了状态解析,保证目标资源配置状态升级变更成功的同时不会被异常的配置变更破坏。常的配置变更破坏。常的配置变更破坏。
技术研发人员:杨天心 徐文豪 王弘毅 张凯
受保护的技术使用者:北京志凌海纳科技有限公司
技术研发日:2022.07.19
技术公布日:2022/11/1