服务器虚拟机资源动态调度方法及系统与流程

摘要: 本技术涉及云计算资源管理,尤其涉及服务器虚拟机资源动态调度方法及系统。背景技术:1、随着云计算技术的深入普及和数据中心规模的持续扩展,虚拟化技术作为服务器资源高...
服务器虚拟机资源动态调度方法及系统与流程

本技术涉及云计算资源管理,尤其涉及服务器虚拟机资源动态调度方法及系统。

背景技术:

1、随着云计算技术的深入普及和数据中心规模的持续扩展,虚拟化技术作为服务器资源高效复用的核心手段,已在各类服务器集群环境中得到广泛应用。在典型的虚拟化架构中,单台物理服务器能够同时运行多台虚拟机实例,这些虚拟机共享底层物理资源,包括中央处理器、内存、网络带宽以及磁盘输入输出能力。然而,当前主流的虚拟化管理系统在资源配置环节普遍采用静态分配策略,即在虚拟机创建阶段即固定设定处理器核心数量和内存容量,运行过程中缺乏根据实际负载变化进行动态调整的能力。此种静态分配机制在虚拟机负载频繁波动的场景下存在显著缺陷:当部分虚拟机因业务高峰期出现资源需求激增时,预设的固定资源配额无法满足突增负载,导致系统响应延迟、性能下降甚至服务中断;与此同时,其他处于业务低谷期的虚拟机却持有大量未被充分利用的处理器和内存资源,这些闲置资源既无法被有效回收也无法重新分配给资源紧张的虚拟机,造成整体资源利用率偏低。此外,现有资源调度机制高度依赖系统管理员的人工监控与手动干预,不仅增加了运维管理的复杂性和操作成本,而且在应对突发性负载变化或虚拟机异常状态时响应迟缓,难以实现资源的实时优化配置和故障的自动恢复。系统的自动化调度能力薄弱,故障自愈机制缺失,使得在动态负载环境下无法兼顾资源高效利用与服务稳定运行。

2、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

1、本技术的主要目的在于提供一种服务器虚拟机资源动态调度方法及系统,旨在提高资源利用率,减少服务中断,实现自动化故障恢复。

2、为实现上述目的,本技术提出一种服务器虚拟机资源动态调度方法,所述的方法包括:

3、通过虚拟化平台接口,按照预设的采集周期获取各虚拟机的资源使用数据,所述资源使用数据包括cpu使用率数据、内存占用数据、网络带宽数据和磁盘i/o数据,将获取的资源使用数据作为实时资源使用数据;

4、将所述实时资源使用数据存入历史资源使用数据库;从所述历史资源使用数据库中提取各虚拟机在预设时间窗口内的历史资源使用数据,形成历史资源使用数据序列;基于所述历史资源使用数据序列和所述实时资源使用数据,通过预测算法预测各虚拟机在未来预设时段内的资源需求,得到预测资源需求数据;

5、基于所述预测资源需求数据和所述实时资源使用数据,确定各虚拟机的资源调整策略,生成资源调整指令;通过所述虚拟化平台接口执行所述资源调整指令,对各虚拟机的处理器资源和内存资源进行动态调整;

6、基于所述实时资源使用数据,对各虚拟机进行过载状态检测和故障状态检测,得到故障检测结果;当所述故障检测结果表明存在异常虚拟机时,将所述异常虚拟机上的任务迁移至其他正常运行的虚拟机,并对迁移目标虚拟机执行资源调整操作。

7、在一实施例中,通过预测算法预测各虚拟机在未来预设时段内的资源需求,得到预测资源需求数据的步骤包括:

8、将所述实时资源使用数据按照采集时间戳存入所述历史资源使用数据库;

9、从所述历史资源使用数据库中提取各虚拟机在当前时刻之前所述预设时间窗口内的历史资源使用数据,形成所述历史资源使用数据序列;

10、对所述历史资源使用数据序列进行趋势分析,计算各虚拟机的资源使用变化率;

11、基于所述资源使用变化率和所述实时资源使用数据中的当前资源使用值,计算各虚拟机在未来预设时段内的预测资源需求值,得到所述预测资源需求数据。

12、在一实施例中,对所述历史资源使用数据序列进行趋势分析,计算各虚拟机的资源使用变化率的步骤包括:

13、将所述历史资源使用数据序列按照采集时间顺序排列,依次计算相邻两个采样点之间的资源使用差值;

14、对计算得到的各资源使用差值进行加权平均处理,其中各资源使用差值对应的加权系数根据该资源使用差值对应的采样点与当前时间的时间间隔确定,所述加权系数与采样点与当前时间的时间间隔成反比关系;

15、根据加权平均处理的结果,确定资源使用的变化方向和变化幅度,将所述变化方向和变化幅度作为所述资源使用变化率。

16、在一实施例中,基于所述资源使用变化率和所述实时资源使用数据中的当前资源使用值,计算各虚拟机在未来预设时段内的预测资源需求值,得到所述预测资源需求数据的步骤包括:

17、从所述实时资源使用数据中提取各虚拟机当前的cpu使用率和当前的内存占用量;

18、以各虚拟机当前的cpu使用率为基准,按照该虚拟机的所述资源使用变化率所指示的变化方向和变化幅度,计算在未来预设时段内cpu使用率的预估数值,作为预测cpu需求值;

19、以各虚拟机当前的内存占用量为基准,按照该虚拟机的所述资源使用变化率所指示的变化方向和变化幅度,计算在未来预设时段内内存占用量的预估数值,作为预测内存需求值;

20、将所述预测cpu需求值和所述预测内存需求值组合,作为所述预测资源需求数据。

21、在一实施例中,通过预测算法预测各虚拟机在未来预设时段内的资源需求,得到预测资源需求数据的步骤还包括:

22、获取各虚拟机之间的预设亲和性规则和反亲和性规则;所述亲和性规则指示允许部署于同一物理服务器的虚拟机组合,所述反亲和性规则指示禁止部署于同一物理服务器的虚拟机组合;

23、在得到所述预测资源需求数据之后,根据所述亲和性规则和反亲和性规则对所述预测资源需求数据进行校验;当所述预测资源需求数据所指示的资源配置方案导致违反所述反亲和性规则时,对所述预测资源需求数据进行修正,将受影响的虚拟机组合中的虚拟机调整至其他物理服务器所对应的资源预测范围。

24、在一实施例中,基于所述预测资源需求数据和所述实时资源使用数据,确定各虚拟机的资源调整策略,生成资源调整指令;通过所述虚拟化平台接口执行所述资源调整指令,对各虚拟机的处理器资源和内存资源进行动态调整的步骤包括:

25、通过所述虚拟化平台接口获取各虚拟机当前已分配的资源配额,将所述预测资源需求数据中各虚拟机的预测资源需求值,与对应虚拟机当前已分配的资源配额进行比对,计算资源需求差值;

26、判断所述资源需求差值是否超过预设的调整触发阈值,将资源需求差值超过所述调整触发阈值的虚拟机标记为待调整虚拟机;

27、对所有待调整虚拟机按照资源需求差值的数值降序排列,生成待调整虚拟机优先级列表;

28、按照所述待调整虚拟机优先级列表的顺序,依次生成各待调整虚拟机的资源调整指令,并通过所述虚拟化平台接口执行所述资源调整指令,从而对待调整虚拟机的处理器资源和内存资源进行动态调整。

29、在一实施例中,按照所述待调整虚拟机优先级列表的顺序,依次生成各待调整虚拟机的资源调整指令的步骤包括:

30、从所述预测资源需求数据中提取该待调整虚拟机对应的预测cpu需求值和预测内存需求值,根据所述预测cpu需求值和预测内存需求值确定目标cpu核数和目标内存容量;

31、检测物理服务器当前可用的剩余处理器资源和剩余内存资源是否满足所述目标cpu核数和目标内存容量;若剩余资源不足,则按照所述待调整虚拟机优先级列表的顺序优先满足排序靠前的待调整虚拟机,对排序靠后的待调整虚拟机按可用资源的实际容量进行缩减分配;

32、根据最终确定的目标cpu核数和目标内存容量,生成包含虚拟机标识、目标cpu核数和目标内存容量的资源调整指令。

33、在一实施例中,基于所述实时资源使用数据,对各虚拟机进行过载状态检测和故障状态检测,得到故障检测结果的步骤包括:

34、将所述实时资源使用数据中各虚拟机的cpu使用率与预设的cpu过载阈值进行比对,同时将各虚拟机的内存占用量与预设的内存过载阈值进行比对,并将各虚拟机的网络带宽使用量与预设的网络带宽过载阈值进行比对,将各虚拟机的磁盘i/o速率与预设的磁盘i/o过载阈值进行比对;

35、当虚拟机的cpu使用率超过所述cpu过载阈值,或虚拟机的内存占用量超过所述内存过载阈值,或虚拟机的网络带宽使用量超过所述网络带宽过载阈值,或虚拟机的磁盘i/o速率超过所述磁盘i/o过载阈值时,判定该虚拟机处于过载状态;

36、当虚拟机在连续多个所述采集周期内均未返回资源使用数据,或返回的资源使用数据中存在关键指标数据为空值或异常值时,判定该虚拟机处于故障状态;

37、将处于过载状态或故障状态的虚拟机标记为异常虚拟机,基于标记结果生成所述故障检测结果。

38、在一实施例中,将所述异常虚拟机上的任务迁移至其他正常运行的虚拟机,并对迁移目标虚拟机执行资源调整操作的步骤包括:

39、获取所述异常虚拟机上当前运行的任务列表,以及任务列表中各任务运行时所需的处理器资源量和内存资源量;

40、从除所述异常虚拟机之外的其他虚拟机中,筛选出资源使用率低于预设的负载下限阈值的虚拟机,作为候选迁移目标;

41、针对每个候选迁移目标,判断该候选迁移目标的当前可用处理器资源量和可用内存资源量是否不小于所述异常虚拟机上各任务运行时所需的处理器资源量和内存资源量,将满足该条件的候选迁移目标确定为所述目标迁移虚拟机;

42、将所述异常虚拟机上的任务迁移至所述目标迁移虚拟机,并根据任务迁移后所述目标迁移虚拟机的资源使用量的增量,对所述目标迁移虚拟机执行资源调整操作。

43、此外,为实现上述目的,本技术还提出一种服务器虚拟机资源动态调度系统,所述服务器虚拟机资源动态调度系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的服务器虚拟机资源动态调度程序,所述服务器虚拟机资源动态调度程序配置为实现所述的服务器虚拟机资源动态调度方法的步骤。

44、本技术提出的服务器虚拟机资源动态调度方法及系统,通过实时监控虚拟机资源使用状态、基于历史数据预测未来需求、动态调整资源配额以及自动检测和处理过载与故障,有效解决了静态资源分配导致的利用率低下和响应延迟问题,能够提高资源利用率、减少服务中断和实现自动化运维。