CN114924832A - 虚拟机调度方法、电子设备和存储介质 - Google Patents
虚拟机调度方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114924832A CN114924832A CN202210429417.4A CN202210429417A CN114924832A CN 114924832 A CN114924832 A CN 114924832A CN 202210429417 A CN202210429417 A CN 202210429417A CN 114924832 A CN114924832 A CN 114924832A
- Authority
- CN
- China
- Prior art keywords
- information
- physical machine
- physical
- machine
- abnormal
- 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
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
本申请实施例提供了一种虚拟机调度方法、电子设备和存储介质。所述方法包括:确定虚拟机的规格定义信息;依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机;按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机;对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机。能够过滤掉异常的物理机,减少由于物理机异常而影响虚拟机性能。
Description
技术领域
本申请涉及云计算机技术领域,特别是涉及一种虚拟机调度方法、一种电子设备和一种存储介质。
背景技术
随着云计算的发展,各云平台具有数十万乃至数百万的物理机服务器,庞大的物理机数量难以避免在运行时可能产生一些硬件、软件隐患和异常,但这些隐患和异常可能并不致命,不会导致服务器宕机,而且也没有到服务器下线维修的范围,但这些隐患可能会影响某些客户的虚拟机性能和故障率。
例如,一些物理机的内存硬件可能产生了CE(Correctable Error,可修正的错误)异常,对于大部分虚拟机来说没有影响。但一些客户可能在虚拟机上部署了内存敏感型应用,CE异常可能会对虚拟机造成性能影响。
发明内容
本申请实施例提供了一种虚拟机调度方法,以减少由于物理机异常而影响虚拟机性能的问题。
相应的,本申请实施例还提供了一种电子设备和一种存储介质,用以保证上述系统的实现及应用。
为了解决上述问题,本申请实施例公开了一种虚拟机调度方法,所述方法包括:
确定虚拟机的规格定义信息;
依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机;
按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机;
对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机。
可选的,所述按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机,包括:
查询所述满足规格条件的物理机是否具有异常标签;
如果具有异常标签,则获取所述满足规格条件的物理机的异常标签;
采用所述异常标签和应用类型进行匹配;
若所述异常标签和应用类型,则删除所述异常标签对应的物理机。
可选的,所述异常标签包括以下至少一种:控制面异常标签、计算性能异常标签、内存性能异常标签、网络性能异常标签、硬件异常标签、致命异常标签;
所述应用类型包括以下至少一种:计算密集类型、网络密集类型、存储密集类型、重保类型。
可选的,所述对剩余的物理机按照设定规则进行排序,包括:
获取约束信息,依据所述约束信息确定剩余的物理机的权重信息;
按照所述权重信息对所述剩余的物理机进行加权,得到所述剩余的物理机的权值;
依据所述权值对所述剩余的物理机进行排序。
可选的,所述获取约束信息,依据所述约束信息确定剩余的物理机的权重信息,包括:
获取资源约束信息,按照所述资源约束信息和规格定义信息确定所述剩余的虚拟机的第一权重;
获取条件约束信息,依据所述条件约束信息确定所述剩余的虚拟机的第二权重;
所述剩余的虚拟机中具有异常标签的虚拟机,按照所述异常标签设置第三权重。
可选的,还包括:
采集物理机的运行时信息,依据所述运行时信息分析所述物理机是否存在异常;
若所述物理机存在异常,则确定所述物理机的异常类型并设置异常标签。
可选的,还包括:
当检测异常的物理机对应异常消失后,撤销所述物理机的异常标签。
可选的,所述规格定义信息包括以下至少一种:CPU需求信息、内存需求信息、硬盘需求信息、网络需求信息;
所述确定虚拟机的规格定义信息,包括以下至少一种步骤:
接收虚拟机的调度请求,从所述调度请求中获取规格定义信息;
在判断所述虚拟机的应用类型与所在物理机的异常标签匹配时,获取所述虚拟机的规格定义信息;
在判断所述虚拟机所在的物理机发生指定故障时,获取所述虚拟机的规格定义信息。
可选的,还包括至少一种确定应用类型的步骤:
在虚拟机第一次运行时,依据所述虚拟机的用户关联信息确定应用类型;
在虚拟机运行超过设定时间后,获取所述虚拟机的运行信息,并依据所述运行信息分析所述虚拟机的应用类型。
可选的,依据对应的排序信息选择目标物理机,包括:
当所述虚拟机具有恶意标签时,将已运行具有恶意标签的虚拟机的物理机设置为目标物理机,或,将空闲物理机设置为目标物理机。
可选的,依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机,包括:
获取物理机的硬件资源信息;
采用规格定义信息对物理机的硬件资源信息进行筛选,确定至少一个满足规格条件的物理机。
本申请实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被处理器执行时,执行如本申请实施例所述的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被处理器执行时,执行如本申请实施例所述的方法。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例中,可以确定虚拟机的规格定义信息,然后依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机,再按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机,从而能够过滤掉异常的物理机,减少由于物理机异常而影响虚拟机性能,再对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机,将所述虚拟机设置在所述目标物理机中,保证虚拟机的性能。
附图说明
图1是本申请实施例的一种云服务系统示例的示意图;
图2是本申请的一种虚拟机调度方法实施例的步骤流程图;
图3是本申请实施例的一种物理机标签匹配示例的示意图;
图4是本申请的另一种虚拟机调度方法实施例的步骤流程图;
图5是本申请的另一种虚拟机调度方法实施例的步骤流程图;
图6是本申请一个实施例提供的示例性装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例可以应用于云服务系统,在云服务系统中存在数十万乃至数百万的物理机服务器(简称物理机),在物理机上可运行一个或多个虚拟机(Virtual Machine,VM),提供相应的云服务。因此,物理机的软件异常、硬件异常等各种异常都可能影响在其上运行的虚拟机,本申请实施例可调度虚拟机所在的物理机,为虚拟机提供更稳定的运行环境。
参照图1所示的一种云服务系统,包括:物理机和管理端,其中,管理端包括调度组件、标签组件、诊断组件和采集组件,其中,物理机中包括采集代理,以便采集组件从物理机中采集所需的数据。
其中,采集组件在每台物理机中设置有采集代理,用于采集物理机的运行时信息,如CPU、内存、网络、进程、硬件、串口等多种信息,采集到的信息将会上报至诊断系统。
诊断组件用于诊断物理机的异常并上报,其中,可分析采集组件采集到的物理机的运行时信息,确定物理机的数据中是否有异常。物理机的异常类型可包括以下至少一种类型:控制面异常、计算性能异常、内存性能异常、网络性能异常、硬件异常、致命异常等。其中,可以基于运行时信息分析物理机是否异常以及异常的类型,例如依据运行时信息检测到物理机上有部分虚拟机启动/关机失败,可确定为控制面异常。依据运行时信息检测到物理机的CPU性能受到影响,如发生LLC(Last Level Cache,最后一级缓存)争抢问题,可确定为计算性能异常。依据运行时信息检测到物理机的内存性能受到影响,如内存CE异常,可确定为内存性能异常。依据运行时信息检测到物理机的网络性能受到影响,如物理机的出口流量已满,可确定为网络性能异常。依据运行时信息检测到物理机有部件产生硬件损坏,确定为硬件异常。依据运行时信息检测到物理机发生宕机,可确定为致命异常。诊断组件在诊断出物理机的异常后,可生成该物理机的异常标签发送给标签系统。当物理机发生异常后的一段时间,如果诊断系统没有分析出物理机持续产生对应的异常,则会取消该物理机的异常标签,如上报标签组件删除异常标签。
因此,一个可选实施例中,采集物理机的运行时信息,依据所述运行时信息分析所述物理机是否存在异常;若所述物理机存在异常,则确定所述物理机的异常类型并设置异常标签。当检测异常的物理机对应异常消失后,撤销所述物理机的异常标签。
标签组件用于记录每一台物理机的异常标签等异常信息,例如物理机1具有控制面异常以及计算性能异常的异常标签,物理机2有网络性能异常以及存储性能异常的异常标签,物理机3没有异常等。所述异常标签包括以下至少一种:控制面异常标签、计算性能异常标签、内存性能异常标签、网络性能异常标签、硬件异常标签、致命异常标签。
调度组件用于分析虚拟机的信息并且结合异常标签进行虚拟机调度。例如虚拟机属于计算密集型应用,则避免将其调度到有计算性能异常的物理机上。通过选择合适的物理机,减小虚拟机性能受损风险。
结合上述云服务系统,论述对虚拟机的调度方法,参照图3所示:
步骤202,确定虚拟机的规格定义信息。
在进行虚拟机调度时,可先确定该虚拟机的规格定义信息,其中,规格定义信息为虚拟机的规格定义的信息,可对应软、硬件资源的需求等内容。其中,所述规格定义信息包括以下至少一种:CPU需求信息、内存需求信息、硬盘需求信息、网络需求信息。其中,还可预先设置M种规格的规格定义信息,每种规格的规格定义信息对应所需的软、硬件资源的信息,从而虚拟机直接反馈相应的规格标识即可确定规格定义信息。
一个示例中,虚拟机可以主动请求调度物理机,例如虚拟机第一次在平台中运行,可以发出调度请求来请求物理机,又如虚拟机在平台的物理机上运行一段时间后,物理机出现异常或故障等问题,可以发出调度请求来请求物理机,以使虚拟机更换物理机。
另外一些示例中,调度组件发现虚拟机和物理机存在冲突时,也可主动调整虚拟器的物理机,在虚拟机重启或低负载时进行调度。
步骤204,依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机。
每个物理机对应有硬件资源信息包括:CPU信息、内存信息、硬盘信息、网络带宽信息等。可以采用规格定义信息匹配物理机的硬件资源,从而筛选物理机,确定至少一个满足规格条件的物理机。一个可选实施例中,依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机,包括:获取物理机的硬件资源信息;采用规格定义信息对物理机的硬件资源信息进行筛选,确定至少一个满足规格条件的物理机。获取物理机的硬件资源信息。其中,如果该物理机上运行有虚拟机,也可基于该硬件资源信息确定物理机的剩余未占用的硬件资源信息或可分配的硬件资源信息,从而采用规格定义信息对物理机的硬件资源信息进行筛选,确定至少一个满足规格条件的物理机。
步骤206,按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机。
本申请实施例中,虚拟机可对应有应用类型,该应用类型为虚拟机的应用特征的类型信息。其中,所述应用类型包括以下至少一种:计算密集类型、网络密集类型、存储密集类型、重保类型。其中,计算密集类型的虚拟机的计算任务较多,即需要占用较多的计算资源;网络密集类型的虚拟机的网络传输任务较多,即需要占用较多的网络资源;存储密集类型的虚拟机的存储任务较多,即需要占用较多的存储资源;重保类型的虚拟机为优先级高的虚拟机,如其对应用户的优先级较高,即为重点用户的虚拟机。
本申请实施例中,在虚拟机初次运行时,可基于虚拟机对应的用户关联信息,如用户的行业特征信息、用户等级信息等分析该虚拟机的应用类型。在虚拟机运行一段时间后,可以根据该虚拟机的运行时信息确定该虚拟机的应用类型。其中,可分析虚拟机的运行时信息,基于所述运行时信息确定虚拟机的资源消耗信息,基于资源消耗信息确定虚拟机的应用类型。
在调度虚拟机的物理机时,要综合考虑虚拟机的应用类型和物理机的异常标签等信息,因此可获取虚拟机的应用类型,然后向标签组件查询物理机的异常标签,如果该物理机具有异常标签,则可获取物理机的异常标签,如果该物理机不具有异常标签,则返回为空。然后可以按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,其中,针对具有异常标签的物理机,可以将异常标签和应用类型进行匹配,如果异常标签与所述应用类型匹配,则确定该物理机不满足应用条件,删除异常标签与所述应用类型匹配的物理机,若异常标签与所述应用类型不匹配,或者物理机不具有异常标签,则物理机满足应用条件。通过应用类型筛选后可得到剩余的物理机。
其中,控制面异常标签、致命异常标签与所有应用类型均匹配,因此可过滤掉具有控制面异常标签的物理机。重保类型的虚拟机为重要的虚拟机,与所有异常类型的物理机均匹配,因此针对重保类型的虚拟机过滤掉所有具有异常标签的物理机。计算性能异常标签与计算密集类型、重保类型匹配,针对计算密集类型、重保类型的虚拟机过滤掉具有计算性能异常标签的物理机。网络性能异常标签与网络密集类型、重保类型匹配,针对网络密集类型、重保类型的虚拟机过滤掉具有网络性能异常标签的物理机。内存性能异常标签与存储密集类型、重保类型匹配,针对存储密集类型、重保类型的虚拟机过滤掉具有内存性能异常标签的物理机。
步骤208,对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机。
针对异常筛选后剩余的物理机,可以按照规则进行排序,确定排序顺序。然后依据对应的排序信息选择目标物理机。其中,设定规则可需求设置,例如设置规则对应的约束条件等。所述对剩余的物理机按照设定规则进行排序,包括:获取约束信息,依据所述约束信息确定剩余的物理机的权重信息;按照所述权重信息对所述剩余的物理机进行加权,得到所述剩余的物理机的权值;依据所述权值对所述剩余的物理机进行排序。可以按照设定规则获取约束信息,该约束信息为选择物理机的相关约束信息,如资源约束信息、条件约束信息等,其中,资源约束信息为物理资源的相关约束信息,如每一台物理服务器的每一维度的资源总量能够满足放置到该服务器上的虚拟机的资源需求。条件约束信息为物理机相关的约束,如物理机剩余资源平衡的约束条件,功耗平均的约束条件等。可以按照该约束信息确定每个物理机对应的权重信息,然后将各权重信息进行加权处理,得到各物理机的权值,按照权值由大到小或有小到大的顺序对各物理机进行排序。然后可以按照排序顺序选择物理机,如选择排序第一的物理机作为目标物理机,将虚拟机调度到该物理机上运行。
其中,所述获取约束信息,依据所述约束信息确定剩余的物理机的权重信息,包括:获取资源约束信息,按照所述资源约束信息和规格定义信息确定所述剩余的虚拟机的第一权重;获取条件约束信息,依据所述条件约束信息确定所述剩余的虚拟机的第二权重;所述剩余的虚拟机中具有异常标签的虚拟机,按照所述异常标签设置第三权重。可以获取资源约束信息,然后按照资源约束信息和规格定义信息,确定各剩余的物理机的剩余资源是否满足虚拟机的资源需求,并设置该虚拟机的第一权重。还可获取条件约束信息,如资源平衡、功耗平均等条件,然后判断物理机是否能够满足条件约束信息,设置各物理机的第二权重。如果虚拟机具有异常标签,可以基于异常标签设置第三权重,降低具有异常标签的物理机的调度权重。从而按照各权重对物理机进行加权计算。
综上,可以确定虚拟机的规格定义信息,然后依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机,再按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机,从而能够过滤掉异常的物理机,减少由于物理机的软件、硬件异常而影响虚拟机性能,再对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机,将所述虚拟机设置在所述目标物理机中,保证虚拟机的性能。
在上述实施例的基础上,本申请实施例还提供了物理机标签匹配的步骤,参照图3所示:
步骤302,采集组件通过采集代理采集物理机的运行时信息。
步骤304,采集组件发送运行时信息给诊断组件。
步骤306,诊断组件依据所述运行时信息分析所述物理机是否存在异常。
步骤308,若所述物理机存在异常,则确定所述物理机的异常类型并设置异常标签。
其中,当检测异常的物理机对应异常消失后,撤销所述物理机的异常标签。
步骤310,诊断组件将异常标签发送给标签组件。
步骤312,调度组件从标签组件获取物理机的异常标签。
其中,调度组件可选择合适的物理机,规避虚拟机性能受损风险。如针对控制面异常,避免任何虚拟机调度到有控制面异常的物理机上。针对计算性能异常,避免重保虚拟机和计算敏感型虚拟机调度到有计算性能异常的物理机。针对内存性能异常。避免重保虚拟机和计算敏感型虚拟机调度到有内存性能异常的物理机。针对网络性能异常,避免重保虚拟机和网络敏感型虚拟机调度到有网络性能异常的物理机。针对硬件异常,避免重保虚拟机调度到有性能异常的物理机。针对致命异常,避免任何虚拟机调度到有致命异常虚拟机,并且需要将该物理机上的其他虚拟机进行热迁移调度或重启调度。
本申请实施例中,在虚拟机第一次运行时,依据所述虚拟机的用户关联信息确定应用类型;在虚拟机运行超过设定时间后,获取所述虚拟机的运行信息,并依据所述运行信息分析所述虚拟机的应用类型。调度组件可在以下情况下对虚拟机进行调度:
首次调度:该虚拟机第一次在云平台中运行,可以根据用户关联信息,如该用户所处行业的历史信息或客户等级将虚拟机分为计算密集类型、网络密集类型、存储密集类型、重保类型的一种或几种应用类型。
重启调度:虚拟机已在云平台中运行过一段时间,此时可以根据该虚拟机的运行信息将其分为计算密集类型、网络密集类型、存储密集类型、重保类型的一种或几种应用类型。当客户重启该虚拟机时,如果当前虚拟机的应用类型和物理机的异常信息匹配,则可以为该虚拟机重新选择一台物理机。
热迁移调度:虚拟机已在云平台中运行过一段时间,此时可以根据该虚拟机的运行信息将其分为计算密集类型、网络密集类型、存储密集类型、重保类型的一种或几种应用类型。当该虚拟机处于负载较低的时刻,如果当前虚拟机的应用类型和物理机的异常信息匹配,则可以将该虚拟机迁移到新的物理机上。
运维调度:某些物理机发生指定故障,如具有严重异常或者发生宕机等故障,则将物理机上的所有虚拟机进行热迁移调度和重启调度。
调度组件可执行以下调度行为:
隐患物理机降权:调度组件将会降低具有异常标签的物理机调度权重,尽量避免虚拟机调度到有异常标签的物理机上。
隐患物理机规避:当由于物理机数量问题导致无法使所有虚拟机避免调度到具有异常标签的物理机上时,避免将具有性能敏感型标签的虚拟机调度到同类型异常的物理机上。
恶意虚拟机隔离:将具有恶意标签的虚拟机聚集到同一个物理机或没有其他虚拟机运行的空闲物理机上,防止虚拟机影响其他正常运行的虚拟机。其中,虚拟机运行过程中可收集运行信息并分析,如果检测到虚拟机持续产生指定问题,如split_lock(跨缓存行锁)争抢等抢占资源的问题,这类虚拟机将会影响与它处于同一台物理机的其他虚拟机的性能,因此可将该虚拟机确定为恶意虚拟机,可以添加恶意标签。
资源创建风险规避:当虚拟机首次创建的时候,避免创建到具有控制面异常的物理机上,避免因为物理机上软硬件问题导致的启动失败。
在上述实施例的基础上,分不同情况进行资源调度。
虚拟机首次调度的步骤如图4所示:
步骤402,接收第一次运行的虚拟机的调度请求。
步骤404,从所述调度请求中获取规格定义信息。
步骤406,获取物理机的硬件资源信息。
步骤408,采用规格定义信息对物理机的硬件资源信息进行筛选,确定至少一个满足规格条件的物理机。
步骤410,查询所述满足规格条件的物理机是否具有异常标签。
若是,执行步骤412,若否,则确定为满足条件的物理机。
步骤412,获取所述满足规格条件的物理机的异常标签。
如果具有异常标签,则获取所述满足规格条件的物理机的异常标签。
步骤414,判断所述异常标签和应用类型是否匹配。
若是,执行步骤416,若否,则确定为满足条件的物理机。
步骤416,删除所述异常标签对应的物理机。
若所述异常标签和应用类型,则删除所述异常标签对应的物理机。
步骤418,获取约束信息,依据所述约束信息确定剩余的物理机的权重信息。
其中,所述获取约束信息,依据所述约束信息确定剩余的物理机的权重信息,包括:获取资源约束信息,按照所述资源约束信息和规格定义信息确定所述剩余的虚拟机的第一权重;获取条件约束信息,依据所述条件约束信息确定所述剩余的虚拟机的第二权重;所述剩余的虚拟机中具有异常标签的虚拟机,按照所述异常标签设置第三权重。
步骤420,按照所述权重信息对所述剩余的物理机进行加权,得到所述剩余的物理机的权值。
步骤422,依据所述权值对所述剩余的物理机进行排序。
步骤424,依据对应的排序信息选择目标物理机。
可以将所述虚拟机调度到所述目标物理机中运行。
在虚拟机重启时,判断虚拟机与所在物理机是否发生冲突,若发生冲突,可重新调度虚拟机所在的物理机。其中,该虚拟机与物理机的重复可包括多种情况,如所述虚拟机的应用类型与所在物理机的异常标签匹配,虚拟机继续在该物理机上运行会影响性能。又如虚拟机所在的物理机发生指定故障,如物理机出现严重异常或者发生宕机等问题,也会影响其上虚拟机的运行。可由调度组件主动调度,也可发送消息给虚拟机,虚拟机可以基于运行情况主动请求调度,例如在虚拟机处于负载较低的时刻,如果当前虚拟机和物理机的异常信息不匹配,则可以将该虚拟机迁移到新的物理机上。此外,当物理机发生严重异常或者发生宕机,则将物理机上的所有虚拟机进行热迁移调度和重启调度。
虚拟机重启调度、热迁移调度的步骤如图5所示:
步骤502,在判断所述虚拟机与所在物理机发生冲突时,获取所述虚拟机的规格定义信息。
步骤504,获取物理机的硬件资源信息。
步骤506,采用规格定义信息对物理机的硬件资源信息进行筛选,确定至少一个满足规格条件的物理机。
步骤508,查询所述满足规格条件的物理机是否具有异常标签。
若是,执行步骤510,若否,则确定为满足条件的物理机。
步骤510,获取所述满足规格条件的物理机的异常标签。
如果具有异常标签,则获取所述满足规格条件的物理机的异常标签。
步骤512,判断所述异常标签和应用类型是否匹配。
若是,执行步骤514,若否,则确定为满足条件的物理机。
步骤514,删除所述异常标签对应的物理机。
若所述异常标签和应用类型,则删除所述异常标签对应的物理机。
步骤516,获取约束信息,依据所述约束信息确定剩余的物理机的权重信息。
其中,所述获取约束信息,依据所述约束信息确定剩余的物理机的权重信息,包括:获取资源约束信息,按照所述资源约束信息和规格定义信息确定所述剩余的虚拟机的第一权重;获取条件约束信息,依据所述条件约束信息确定所述剩余的虚拟机的第二权重;所述剩余的虚拟机中具有异常标签的虚拟机,按照所述异常标签设置第三权重。
步骤518,按照所述权重信息对所述剩余的物理机进行加权,得到所述剩余的物理机的权值。
步骤520,依据所述权值对所述剩余的物理机进行排序。
步骤522,依据对应的排序信息选择目标物理机。
可将所述虚拟机调度到所述目标物理机中。
综上,本申请实施例提供了一种服务器受损感知的云平台虚拟机调度方案,通过采集每一台物理机的运行时异常,将异常分类后进行打标,将打标数据整合在系统中。云平台的调度组件通过访问标签组件感知物理机上的各种异常,并且通过分析虚拟机上的应用特征,通过隐患物理机降权、隐患物理机规避、恶意虚拟机隔离、资源创建风险规避等多种调度策略将虚拟机调度到更合适的物理机上,从而避免物理机上的异常对虚拟机性能和可用性造成影响。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
本实施例还提供了一种虚拟机调度装置,应用于服务端的电子设备中。
需求确定模块,用于确定虚拟机的规格定义信息;
硬件筛选模块,用于依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机;
异常过滤模块,用于按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机;
选择模块,用于对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机。
综上,可以确定虚拟机的规格定义信息,然后依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机,再按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机,从而能够过滤掉异常的物理机,减少由于物理机异常而影响虚拟机性能,再对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机,将所述虚拟机设置在所述目标物理机中,保证虚拟机的性能。
可选的,所述异常过滤模块,用于查询所述满足规格条件的物理机是否具有异常标签;如果具有异常标签,则获取所述满足规格条件的物理机的异常标签;采用所述异常标签和应用类型进行匹配;若所述异常标签和应用类型,则删除所述异常标签对应的物理机。
可选的,所述异常标签包括以下至少一种:控制面异常标签、计算性能异常标签、内存性能异常标签、网络性能异常标签、硬件异常标签、致命异常标签;所述应用类型包括以下至少一种:计算密集类型、网络密集类型、存储密集类型、重保类型。
可选的,所述选择模块,用于获取约束信息,依据所述约束信息确定剩余的物理机的权重信息;按照所述权重信息对所述剩余的物理机进行加权,得到所述剩余的物理机的权值;依据所述权值对所述剩余的物理机进行排序。
可选的,所述选择模块,用于获取资源约束信息,按照所述资源约束信息和规格定义信息确定所述剩余的虚拟机的第一权重;获取条件约束信息,依据所述条件约束信息确定所述剩余的虚拟机的第二权重;所述剩余的虚拟机中具有异常标签的虚拟机,按照所述异常标签设置第三权重。
可选的,还包括:异常采集模块,用于采集物理机的运行时信息;异常分析模块,用于依据所述运行时信息分析所述物理机是否存在异常;若所述物理机存在异常,则确定所述物理机的异常类型并设置异常标签。
可选的,所述异常分析模块,还用于当检测异常的物理机对应异常消失后,撤销所述物理机的异常标签。
可选的,所述规格定义信息包括以下至少一种:CPU需求信息、内存需求信息、硬盘需求信息、网络需求信息;所述需求确定模块,用于接收虚拟机的调度请求,从所述调度请求中获取规格定义信息;在判断所述虚拟机的应用类型与所在物理机的异常标签匹配时,获取所述虚拟机的规格定义信息;在判断所述虚拟机所在的物理机发生指定故障时,获取所述虚拟机的规格定义信息。
可选的,还包括:虚拟机分析模块,用于在虚拟机第一次运行时,依据所述虚拟机的用户关联信息确定应用类型;在虚拟机运行超过设定时间后,获取所述虚拟机的运行信息,并依据所述运行信息分析所述虚拟机的应用类型。
可选的,所述选择模块,用于当所述虚拟机具有恶意标签时,将已运行具有恶意标签的虚拟机的物理机设置为目标物理机,或,将空闲物理机设置为目标物理机。
可选的,所述硬件筛选模块,用于获取物理机的硬件资源信息;采用规格定义信息对物理机的硬件资源信息进行筛选,确定至少一个满足规格条件的物理机。
综上,本申请实施例提供了一种服务器受损感知的云平台虚拟机调度方案,通过采集每一台物理机的运行时异常,将异常分类后进行打标,将打标数据整合在系统中。云平台的调度组件通过访问标签组件感知物理机上的各种异常,并且通过分析虚拟机上的应用特征,通过隐患物理机降权、隐患物理机规避、恶意虚拟机隔离、资源创建风险规避等多种调度策略将虚拟机调度到更合适的物理机上,从而避免物理机上的异常对虚拟机性能和可用性造成影响。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器、终端设备等设备。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、终端等电子设备。图6示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置600。
对于一个实施例,图6示出了示例性装置600,该装置具有一个或多个处理器602、被耦合到(一个或多个)处理器602中的至少一个的控制模块(芯片组)604、被耦合到控制模块604的存储器606、被耦合到控制模块604的非易失性存储器(NVM)/存储设备608、被耦合到控制模块604的一个或多个输入/输出设备610,以及被耦合到控制模块604的网络接口612。
处理器602可包括一个或多个单核或多核处理器,处理器602可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置600能够作为本申请实施例中所述服务端、终端等设备。
在一些实施例中,装置600可包括具有指令614的一个或多个计算机可读介质(例如,存储器606或NVM/存储设备608)以及与该一个或多个计算机可读介质相合并被配置为执行指令614以实现模块从而执行本公开中所述的动作的一个或多个处理器602。
对于一个实施例,控制模块604可包括任意适当的接口控制器,以向(一个或多个)处理器602中的至少一个和/或与控制模块604通信的任意适当的设备或组件提供任意适当的接口。
控制模块604可包括存储器控制器模块,以向存储器606提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器606可被用于例如为装置600加载和存储数据和/或指令614。对于一个实施例,存储器606可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器606可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块604可包括一个或多个输入/输出控制器,以向NVM/存储设备608及(一个或多个)输入/输出设备610提供接口。
例如,NVM/存储设备608可被用于存储数据和/或指令614。NVM/存储设备608可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备608可包括作为装置600被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备608可通过网络经由(一个或多个)输入/输出设备610进行访问。
(一个或多个)输入/输出设备610可为装置600提供接口以与任意其他适当的设备通信,输入/输出设备610可以包括通信组件、音频组件、传感器组件等。网络接口612可为装置600提供接口以通过一个或多个网络通信,装置600可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置600可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置600可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置600包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或NVM/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
本申请实施例还提供了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的方法。本申请实施例中存储器中可存储各种数据,如目标文件、文件与应用关联数据等各种数据,还可包括用户行为数据等,从而为各种处理提供数据基础。
本申请实施例还提供了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种虚拟机调度方法、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种虚拟机调度方法,其特征在于,所述方法包括:
确定虚拟机的规格定义信息;
依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机;
按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机;
对剩余的物理机按照设定规则进行排序,并依据对应的排序信息选择目标物理机。
2.根据权利要求1所述的方法,其特征在于,所述按照所述虚拟机的应用类型对所述至少一个满足规格条件的物理机进行筛选,删除异常标签与所述应用类型匹配的物理机,包括:
查询所述满足规格条件的物理机是否具有异常标签;
如果具有异常标签,则获取所述满足规格条件的物理机的异常标签;
采用所述异常标签和应用类型进行匹配;
若所述异常标签和应用类型,则删除所述异常标签对应的物理机。
3.根据权利要求2所述的方法,其特征在于,所述异常标签包括以下至少一种:控制面异常标签、计算性能异常标签、内存性能异常标签、网络性能异常标签、硬件异常标签、致命异常标签;
所述应用类型包括以下至少一种:计算密集类型、网络密集类型、存储密集类型、重保类型。
4.根据权利要求1所述的方法,其特征在于,所述对剩余的物理机按照设定规则进行排序,包括:
获取约束信息,依据所述约束信息确定剩余的物理机的权重信息;
按照所述权重信息对所述剩余的物理机进行加权,得到所述剩余的物理机的权值;
依据所述权值对所述剩余的物理机进行排序。
5.根据权利要求4所述的方法,其特征在于,所述获取约束信息,依据所述约束信息确定剩余的物理机的权重信息,包括:
获取资源约束信息,按照所述资源约束信息和规格定义信息确定所述剩余的虚拟机的第一权重;
获取条件约束信息,依据所述条件约束信息确定所述剩余的虚拟机的第二权重;
所述剩余的虚拟机中具有异常标签的虚拟机,按照所述异常标签设置第三权重。
6.根据权利要求1所述的方法,其特征在于,还包括:
采集物理机的运行时信息,依据所述运行时信息分析所述物理机是否存在异常;
若所述物理机存在异常,则确定所述物理机的异常类型并设置异常标签。
7.根据权利要求6所述的方法,其特征在于,还包括:
当检测异常的物理机对应异常消失后,撤销所述物理机的异常标签。
8.根据权利要求1所述的方法,其特征在于,所述规格定义信息包括以下至少一种:CPU需求信息、内存需求信息、硬盘需求信息、网络需求信息;
所述确定虚拟机的规格定义信息,包括以下至少一种步骤:
接收虚拟机的调度请求,从所述调度请求中获取规格定义信息;
在判断所述虚拟机的应用类型与所在物理机的异常标签匹配时,获取所述虚拟机的规格定义信息;
在判断所述虚拟机所在的物理机发生指定故障时,获取所述虚拟机的规格定义信息。
9.根据权利要求1所述的方法,其特征在于,还包括至少一种确定应用类型的步骤:
在虚拟机第一次运行时,依据所述虚拟机的用户关联信息确定应用类型;
在虚拟机运行超过设定时间后,获取所述虚拟机的运行信息,并依据所述运行信息分析所述虚拟机的应用类型。
10.根据权利要求1所述的方法,其特征在于,依据对应的排序信息选择目标物理机,包括:
当所述虚拟机具有恶意标签时,将已运行具有恶意标签的虚拟机的物理机设置为目标物理机,或,将空闲物理机设置为目标物理机。
11.根据权利要求1所述的方法,其特征在于,依据所述规格定义信息对物理机进行筛选,确定至少一个满足规格条件的物理机,包括:
获取物理机的硬件资源信息;
采用规格定义信息对物理机的硬件资源信息进行筛选,确定至少一个满足规格条件的物理机。
12.一种电子设备,包括:处理器;
和存储器,其上存储有可执行代码,当所述可执行代码被处理器执行时,执行如权利要求1-11中任一项所述的方法。
13.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被处理器执行时,执行如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210429417.4A CN114924832A (zh) | 2022-04-22 | 2022-04-22 | 虚拟机调度方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210429417.4A CN114924832A (zh) | 2022-04-22 | 2022-04-22 | 虚拟机调度方法、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114924832A true CN114924832A (zh) | 2022-08-19 |
Family
ID=82807056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210429417.4A Pending CN114924832A (zh) | 2022-04-22 | 2022-04-22 | 虚拟机调度方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114924832A (zh) |
-
2022
- 2022-04-22 CN CN202210429417.4A patent/CN114924832A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200358826A1 (en) | Methods and apparatus to assess compliance of a virtual computing environment | |
US9424157B2 (en) | Early detection of failing computers | |
US10579453B2 (en) | Stream-processing data | |
US10452983B2 (en) | Determining an anomalous state of a system at a future point in time | |
US10819603B2 (en) | Performance evaluation method, apparatus for performance evaluation, and non-transitory computer-readable storage medium for storing program | |
US9378015B2 (en) | Predicting defects in code | |
US10809936B1 (en) | Utilizing machine learning to detect events impacting performance of workloads running on storage systems | |
US20170063762A1 (en) | Event log analyzer | |
US20160224400A1 (en) | Automatic root cause analysis for distributed business transaction | |
US20140244563A1 (en) | Operation information prediction computer, operation information prediction method and program | |
US9003076B2 (en) | Identifying anomalies in original metrics of a system | |
US20160110653A1 (en) | Method and apparatus for predicting a service call for digital printing equipment from a customer | |
JP2015026197A (ja) | ジョブ遅延検知方法、情報処理装置、およびプログラム | |
US20210110304A1 (en) | Operational support system and method | |
CN116089482A (zh) | 分析大规模数据处理作业 | |
US9397921B2 (en) | Method and system for signal categorization for monitoring and detecting health changes in a database system | |
WO2008050323A2 (en) | Method for measuring health status of complex systems | |
Bommala et al. | Machine learning job failure analysis and prediction model for the cloud environment | |
CN114924832A (zh) | 虚拟机调度方法、电子设备和存储介质 | |
CN115098378A (zh) | 基于异常断点分类聚合日志片段的方法、装置 | |
US20220107858A1 (en) | Methods and systems for multi-resource outage detection for a system of networked computing devices and root cause identification | |
CN113850428A (zh) | 作业调度的预测处理方法、装置和电子设备 | |
US11768730B2 (en) | Analyzing device, analyzing method, and analyzing program | |
JP7027912B2 (ja) | 順序制御プログラム、順序制御方法、及び情報処理装置 | |
CN114063881A (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 |