CN117555711A - 一种虚拟机管理方法、装置、云计算平台及介质 - Google Patents
一种虚拟机管理方法、装置、云计算平台及介质 Download PDFInfo
- Publication number
- CN117555711A CN117555711A CN202311444718.5A CN202311444718A CN117555711A CN 117555711 A CN117555711 A CN 117555711A CN 202311444718 A CN202311444718 A CN 202311444718A CN 117555711 A CN117555711 A CN 117555711A
- Authority
- CN
- China
- Prior art keywords
- target
- computing node
- acquisition
- virtual machine
- acquisition period
- 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
- 238000007726 management method Methods 0.000 title abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 90
- 230000002159 abnormal effect Effects 0.000 claims description 38
- 230000015556 catabolic process Effects 0.000 claims description 16
- 230000002411 adverse Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 19
- 238000013508 migration Methods 0.000 description 17
- 230000005012 migration Effects 0.000 description 17
- 239000003795 chemical substances by application Substances 0.000 description 16
- 238000004590 computer program Methods 0.000 description 16
- 238000011156 evaluation Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013024 troubleshooting Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
本公开提供一种虚拟机管理方法、装置、云计算平台及介质,所述方法包括:获取计算节点在至少一个采集周期的物理硬件运行信息和虚拟机运行信息,基于计算节点在每个采集周期的物理硬件运行信息确定计算节点在每个采集周期的宿主机运行状态,若基于计算节点在第一目标采集周期的虚拟机运行信息确定目标虚拟机在第一目标采集周期处在崩溃状态,基于计算节点在第一目标采集周期的宿主机运行状态对目标虚拟机进行管理。所述方法可以提高虚拟机故障判断准确度和故障排除速度,避免错误判断对虚拟机造成的不利影响,而且还可以针对性的对虚拟机进行管理,减少对于业务连续性的影响范围。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种虚拟机管理方法、装置、云计算平台及介质。
背景技术
在相关技术中,云计算平台可以通过基础设施即服务(Infrastructureas aService,IaaS)框架为用户提供处理、存储、网络和其他计算资源服务,且IaaS框架采用虚拟化技术,可以免去用户前期的硬件购置成本,被广泛应用于金融、电信、能源等行业。
相关技术中,可以采用通过在虚拟机内部部署代理程序,利用代理程序检测虚拟机是否正常,但是这种入侵方式存在一定的安全隐患,而且对故障判断的准确度不高,也无法个性化对虚拟机进行故障判断。
发明内容
根据本公开的一方面,提供了一种虚拟机管理方法,包括:
获取计算节点在至少一个采集周期的物理硬件运行信息和计算节点在至少一个采集周期的虚拟机运行信息;
基于所述计算节点在每个所述采集周期的物理硬件运行信息确定所述计算节点在每个采集周期的宿主机运行状态;
若基于所述计算节点在第一目标采集周期的虚拟机运行信息确定目标虚拟机在所述目标采集周期处在崩溃状态,基于所述计算节点在所述第一目标采集周期的宿主机运行状态,对所述目标虚拟机进行管理。
根据本公开的另一方面,提供了一种虚拟机管理装置,包括:
获取模块,用于获取计算节点在至少一个采集周期的物理硬件运行信息和计算节点在至少一个采集周期的虚拟机运行信息;
确定模块,用于基于所述计算节点在每个所述采集周期的虚拟机运行信息确定所述计算节点在每个采集周期的宿主机运行状态;
管理模块,用于若基于所述计算节点在第一目标采集周期的虚拟机运行信息确定目标虚拟机在所述第一目标采集周期处在崩溃状态,基于所述计算节点在所述第一目标采集周期的宿主机运行状态,对所述目标虚拟机进行管理。
根据本公开的另一方面,提供了一种云计算平台,包括:
处理器;以及,
存储程序的存储器;
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开示例性实施例所述的方法。
根据本公开的另一方面,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据本公开示例性实施例所述的方法。
本公开示例性实施例中提供的一个或多个技术方案中,在目标虚拟机在第一目标采集周期处在崩溃状态时,可以基于计算节点在该第一目标采集周期的宿主机运行状态对目标虚拟机进行管理。可见,本公开示例性实施例的虚拟机在某个采集周期处在崩溃状态时,可以参考同一采集周期的宿主机运行状态对处在崩溃状态的目标虚拟机进行管理,从而提高虚拟机故障判断准确度和故障排除速度,避免错误判断对虚拟机造成的不利影响。因此,本公开示例性实施例的方法具有高可用性,可以提高***运行的连续性,且保证虚拟机管理的可靠性和健壮性,进而达到改善运维服务质量的目的,
而且,本公开示例性实施例通过计算节点在各个采集周期的虚拟机运行信息,确定各个虚拟机在不同采集周期的各个虚拟机的运行状态,然后基于各个虚拟机在不同采集周期的各个虚拟机的运行状态,获取到处在崩溃状态的目标虚拟机以及对应的第一目标采集周期,然后参考计算节点在第一目标采集周期的宿主机运行状态,对处在崩溃状态的目标虚拟机进行管理。可见,本公开示例实施例的方法可以针对性管理处在崩溃状态的目标虚拟机,而不会影响运行在宿主机的其他虚拟机,因此,本公开示例性实施例对虚拟机进行管理时,可以尽可能减少对于业务连续性的影响范围。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1所示的本公开示例性实施例的云计算平台架构示意图;
图2示出了本公开示例性实施例的虚拟机管理框架示意图;
图3示出了本公开示例性实施例的虚拟机管理方法流程示意图;
图4示出了本公开示例性实施例的虚拟硬件故障预警和排除过程示意图;
图5示出了本公开示例性实施例的宿主机虚拟硬件故障预警和排除示意图;
图6示出了本公开示例性实施例的外接硬件集群的连通性故障预警和排除过程示意图
图7示出了本公开示例性实施例的服务组件故障预警和排除过程示意图;
图8示出了根据本公开示例性实施例的虚拟机管理装置的功能模块示意性框图;
图9示出了根据本公开示例性实施例的芯片的示意性框图;
图10示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
在介绍本公开实施例之前首先对本公开实施例中涉及到的相关名词作如下释义:
宿主机是部署了虚拟化环境的专属物理服务器,用户独享整台物理服务器资源,与其他租户的服务器物理隔离。
虚拟机(Virtual Machine,VM)是计算机***的仿真器,通过软件模拟具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***,能提供物理计算机的功能。
热迁移又称动态迁移、在线迁移,是一种用户无感的迁移方式。虚拟机不需要关机,业务不被中断,但相对的是一种复杂的迁移方式。
冷迁移即关闭虚拟机、数据迁移。需要迁移的只有***盘数据、数据盘数据,而无需迁移内存数据,使用块迁移方式。
在相关技术中,OpenStack是一个开源的云计算平台,旨在提供强大的基础设施即服务(IaaS)功能,随着项目的成熟,被广泛应用于金融、电信、能源等行业。对于OpenStack的高可用方法主要包括以下两种:
第一种:在虚拟机内部署代理程序,通过代理程序检测虚拟机是否正常,从虚拟机维度解决高可用,这种解决方案需要入侵虚拟机,且存在一定的安全隐患,同时因为网络抖动容易产生误判问题。
第二种:通过宿主机上计算服务和宿主机网络检测判断物理机是否正常工作,通过OpenStack提供的evacuate功能将故障宿主机上的虚拟机迁移到正常宿主机上,减少故障时间从而降低对业务的影响,但是这种方式对故障判断的准确度不高。例如:当计算服务故障时,虚拟机并未受到影响。如果强行关机迁移,会造成业务中断。而且,这种方式无法个性化的对虚拟机进行故障判断。
针对上述问题,本公开示例性实施例提供一种虚拟机管理方法,其可以减少故障误判几率,降低故障对业务的影响程度,同时可以参考宿主机运行状态对处在崩溃状态的虚拟机进行管理,达到针对性管理虚拟机的目的。
本公开示例性实施例的方法可以应用于图1所示的云计算平台架构示意图。如图1所示,本公开示例性实施例的云计算平台架构100可以包括管理节点101、云服务组件102和多个计算节点103。
如图1所示,管理节点101的数量也可以为多个,每个管理节点101可以负责管理多个计算节点,当管理节点101出现问题,可以由其他管理节点负责多个计算节点的管理。每个计算节点103可以部署多个虚拟机,这些虚拟机可以是桌面云虚拟机。云服务组件102可以提供基础资源服务,例如:身份识别服务(Identy service)、镜像服务(Image service)、计算服务(Compute)、网络服务(Networking service)、块存储服务(Object storageservice)、对象存储服务(Object storage service)、计量服务(Telemetry)以及控制面板服务(Dashboard)等。
图2示出了本公开示例性实施例的虚拟机管理框架示意图。如图2所示,本公开示例性实施例的虚拟机管理框架200可以包括管理模块202和多个代理模块201,代理模块201可以部署在计算节点,管理模块202可以部署在管理节点。
如图2所示,上述代理模块201负责采集计算节点的软硬件运行信息。而管理模块202由评估模块2021和处理模块2022组成;评估模块2021可以对代理模块201采集的计算节点的软硬件运行信息进行评估,以获取到故障预警类别;然后处理模块2022结合故障预警对象和故障预警类别对虚拟机进行差异化管理,减少计算节点故障对业务的影响程度。而且,本公开示例性实施例采用非入侵方式进行计算节点故障判断,可以杜绝安全隐患。
本公开示例性实施例中,计算节点的软硬件运行信息可以包括物理硬件运行信息和虚拟机运行信息,当然,还可以包括服务组件运行信息。基于此,本公开示例性实施例的代理模块201可以采集物理硬件运行信息、虚拟机运行信息和服务组件运行信息,然后上报至评估模块2021;评估模块2021可以基于上述物理硬件运行信息、虚拟机运行信息和服务组件运行信息进行针对物理硬件、虚拟机和服务组件的故障预警,确定虚拟机、服务或者物理硬件是否存在风险。
在实际应用中,本公开示例性实施例的代理模块201可以每隔预设时长(如60s)采集物理硬件运行信息、虚拟机运行信息和服务组件运行信息,然后上报至管理模块202。本公开示例性实施例的代理模块201也可以在累计采集时长达到预设累计时长(如10min)时,将该预设累计时长内采集到的所有信息一并上报至管理模块202。为了减少对于业务连续性影响的程度,评估模块2021可以综合多个采集周期的物理硬件、虚拟机和组件的故障预警结果,确定是否需要由处理模块2022进行风险处置,这不仅可以保证故障检测准确性,还可以减少因为网络抖动所造成的误判。
示例性的,本公开示例性实施例的故障预警类别可以分为潜在故障风险和异常运行风险。潜在故障风险对应的问题严重性高于异常运行风险对应的问题严重性。当故障预警类别为潜在故障风险时,说明需要迁移计算节点的虚拟机,而当故障预警类别为异常运行风险时,可以根据故障预警对象对计算节点的虚拟机进行管理。
在一些情况下,上述云计算平台的虚拟化集群可能形成各种单点故障,导致无法继续正常采集、分析和处理数据。例如,如图2所示,如果代理模块201发生故障,管理模块202获取不到代理模块201。基于此,本公开示例性实施例可以通过引入冗余管理节点的方式减少单点故障的风险,例如:冗余管理节点可以监控计算节点与管理节点之间的通信链路,在计算节点与管理节点之间的通信链路出现故障时,可以自动接管计算节点,从而保证冗余管理节点可以继续处理部署在计算节点的代理模块所上报的信息。
本公开示例性实施例的虚拟机管理方法可以由管理节点例如管理节点的管理模块执行,图3示出了本公开示例性实施例的虚拟机管理方法流程示意图。如图3所示,本公开示例性实施例的虚拟机管理方法可以包括:
步骤301:获取计算节点在至少一个采集周期的物理硬件运行信息和计算节点在至少一个采集周期的虚拟机运行信息。
本公开示例性实施例可以获取计算节点在一个采集周期的物理硬件运行信息和计算节点在一个采集周期的虚拟机运行信息,也可以获取计算节点在多个采集周期的物理硬件运行信息和多个采集周期的虚拟机运行信息。
步骤302:基于计算节点在每个采集周期的物理硬件运行信息确定计算节点在每个采集周期的宿主机运行状态。
在实际应用中,本公开示例型实施例可以分析物理硬件运行信息,以确定计算节点在每个采集周期的宿主机运行状态。基于此,基于计算节点在每个采集周期的物理硬件运行信息确定计算节点在每个采集周期的宿主机运行状态,可以包括:
基于计算节点在每个采集周期的物理硬件运行信息,确定至少一个物理硬件在每个采集周期的运行状态,若至少一个物理硬件在第一目标采集周期的运行状态为超负荷运行状态,确认计算节点在第一目标采集周期的宿主机运行状态为超负荷运行状态。
示例性的,本公开示例性实施例的物理硬件可以包括物理机的物理硬件,例如:物理机物的理硬件可以包括中央处理器(Central Processing Unit,CPU)、内存、磁盘以及网络等多个物理硬件。相应的,物理硬件运行信息包括:物理机物理硬件运行信息,即中央处理器(Central Processing Unit,CPU)、内存、磁盘以及网络等多个物理硬件运行信息。
在每个采集周期,代理模块可以使用dmesg工具获取物理机包括的cpu、内存、硬盘、网络等物理硬件的基本信息,还可以通过mpstat、sar、vmstat、pmap、du、netstat等工具获取内存使用量、cpu利用率、存储占用率、网络吞吐量等物理硬件的运行信息。
同时,当本公开示例性实施例在获取到物理机物理硬件运行信息或者外接硬件集群的物理硬件信息时,不管是物理机的物理硬件运行信息还是外接硬件集群的物理硬件信息,均可以通过阈值判断方式确定处在超负荷运行的目标物理硬件,这里的目标物理硬件可以是一个,也可以是多个。
例如:当内存使用量超过内存使用量阈值,则内存处在超负荷运行状态;当CPU利用率超过CPU利用率阈值,则CPU处在超负荷运行状态;当硬盘占用率超过硬盘占用率阈值,则硬盘处在超负荷运行状态;当网络吞吐量超过吞吐量阈值,则网络处在超负荷运行状态。在同一采集周期中,CPU、内存、磁盘以及网络中至少一个处在超负荷运行状态,可以确定计算节点在该采集周期的宿主机运行状态为超负荷运行状态。
可见,对于每个采集周期来说,当多个物理硬件中至少一个物理硬件在某个采集周期的运行状态为超负荷运行状态时,可以确认该采集周期为第一目标采集周期,且计算节点在该第一目标采集周期的宿主机处在超负荷运行状态,而如果多个物理硬件在某个采集周期均没有处在超负荷运行状态,则可以确认计算节点在该采集周期的宿主机处在正常运行状态。
步骤303:若基于计算节点在第一目标采集周期的虚拟机运行信息确定目标虚拟机在该目标采集周期处在崩溃状态,基于计算节点在第一目标采集周期的宿主机运行状态,对目标虚拟机进行管理。
在实际应用中,本公开示例性实施例的虚拟机运行信息包括虚拟机的虚拟硬件运行信息,可以通过libvirt进程获取到虚拟机在每个采集周期的虚拟硬件运行信息。例如:评估模块可以通过libvirt进程的vish命令获取虚拟机的运行信息,然后基于虚拟机在每个采集周期的虚拟硬件运行信息确定虚拟机在每个采集周期的运行状态。
上述虚拟机的运行状态可以包括:运行中、空闲、暂停状态、关闭、虚拟机崩溃或者垂死状态。当评估模块在某个采集周期检测到虚拟机处在崩溃状态,该采集周期为第一目标采集周期,该采集周期处在崩溃状态的虚拟机为目标虚拟机。此时,可以参考计算节点在该第一目标采集周期的宿主机运行状态,对处在崩溃状态的目标虚拟机进行管理。
可见,本公开示例性实施例的虚拟机在某个采集周期处在崩溃状态时,可以参考同一采集周期的宿主机运行状态对处在崩溃状态的目标虚拟机进行管理,从而提高虚拟机故障判断准确度,避免错误判断对虚拟机造成的不利影响。因此,本公开示例性实施例的方法具有高可用性,可以提高***运行的连续性,且保证虚拟机管理的可靠性和健壮性,进而达到改善运维服务质量的目的。
而且,本公开示例性实施例通过计算节点在各个采集周期的虚拟机运行信息,确定各个虚拟机在不同采集周期的运行状态,然后基于各个虚拟机在不同采集周期的运行状态,获取到处在崩溃状态的目标虚拟机以及对应的第一目标采集周期,然后参考计算节点在第一目标采集周期的宿主机运行状态,对处在崩溃状态的目标虚拟机进行管理。可见,本公开示例实施例的方法可以针对性管理处在崩溃状态的目标虚拟机,而不会影响运行在宿主机的其他虚拟机,因此,本公开示例性实施例对虚拟机进行管理时,可以尽可能减少对于业务连续性的影响范围。
在一种可选方式中,本公开示例性实施例基于计算节点在第一目标采集周期的宿主机运行状态,对目标虚拟机进行管理,可以包括:
若计算节点在第一目标采集周期的宿主机运行状态为正常运行状态,说明处在崩溃状态的目标虚拟机的崩溃与宿主机运行状态无关,有可能是因为目标虚拟机自身原因所造成的崩溃,因此,本公开示例性实施例可以在计算节点重启目标虚拟机。
若计算节点在第一目标采集周期的宿主机运行状态为超负荷运行状态,说明目标虚拟机的崩溃与宿主机运行状态可能有关。例如:宿主机有可能因为虚拟机运行过多,导致异常如超负荷运行,因此,可以将目标虚拟机迁移至目标计算节点,此处的迁移可以是冷迁移。应理解,本公开示例性实施例的目标计算节点可以为冗余计算节点,也可以是虚拟化集群中的闲置计算节点,但不仅限于此。
示例性的,当评估模块检测出计算节点的目标虚拟机在第一目标采集周期处在崩溃状态时,如果计算节点在该第一目标采集周期的宿主机运行状态为正常运行状态,可以确定目标虚拟机的故障预警类别为异常运行风险;当评估模块检测出计算节点的目标虚拟机在该第一目标采集周期处在崩溃状态时,如果计算节点在第一目标采集周期的宿主机运行状态为超负荷运行状态,可以确定目标虚拟机的故障预警类别为潜在故障风险。在评估模块确定出目标虚拟机的故障预警类型时,可以将目标虚拟机的故障预警类型提交至处理模块。
上述处理模块在接收到故障预警类型为潜在故障风险时,可以将目标虚拟机迁移至目标计算节点,并且在迁移到目标计算节点后,重新定义该虚拟机,然后重启该虚拟机。可见,本公开示例性实施例的方法一方面通过自动迁移处在崩溃状态的目标虚拟机至目标计算节点,减少服务中断时间,以达到较早修复故障的目的,另一方面迁移目标虚拟机至目标计算节点,实现计算节点的资源动态分配和负载均衡,防止资源饥饿和过度分配,使得计算节点的每个虚拟机都能获得适当的资源份额,解决布局在同一宿主机上的多个虚拟机的资源争用问题。
在一种可选方式中,本公开示例性实施例还可以包括:基于计算节点在每个采集周期的虚拟机运行信息确定至少一个虚拟硬件在每个采集周期的运行状态,若同一虚拟硬件在第一目标时间段包括的至少一个采集周期的运行状态为超负荷运行状态,将目标虚拟机迁移至目标计算节点。
在实际应用中,本公开示例性实施例可以通过libvirt获取虚拟机的内存使用量、中央处理器(Central Processing Unit,CPU)利用率、磁盘占用率、网络吞吐量等多个虚拟硬件运行信息。而基于计算节点在每个采集周期的虚拟硬件的运行信息确定每个虚拟硬件在每个采集周期的运行状态,可以参考前文关于相关描述确定,此处不做赘述。
示例性的,本公开示例性实施例的第一目标时间段可以包括一个或多个连续的采集周期。当第一目标时间段包括一个采集周期时,只要检测到某个虚拟硬件在该采集周期的运行状态为超负荷运行状态,即可将目标虚拟机热迁移至目标计算节点。当第一目标时间段包括多个连续的采集周期时,若某个虚拟硬件在第一目标时间段包括的任意一个或多个采集周期的运行状态为超负荷运行状态,可以将目标虚拟机热迁移至目标计算节点。
为了减少因为网络抖动或者其他原因所造成的误判,本公开示例性实施例的可以判断某个虚拟硬件在第一目标时间段包括的各个采集周期的运行状态,若该虚拟硬件在第一目标时间段包括的大部分采集周期的运行状态为超负荷运行状态,则可以确定该虚拟硬件对应的目标虚拟机处在超负荷运行状态。而当某个虚拟硬件在第一目标时间段包括的大部分采集周期的运行状态为超负荷运行状态时,在第一目标时间段内,该虚拟硬件大部分时间处在超负荷运行状态,因此,超负荷运行状态的虚拟硬件有极大可能对对应的目标虚拟机产生不良的影响,甚至导致业务中断。此时,可以将目标虚拟机热迁移至目标计算节点。
在实际应用中,当某个虚拟硬件在某个采集周期的运行状态为超负荷运行状态时,说明该虚拟硬件的负荷相对较大,但是可能是因为偶然因素导致虚拟硬件负荷较大,也可能是该虚拟硬件所在的目标虚拟机运行异常导致虚拟硬件负荷较大。基于此,当目标虚拟硬件在某个采集周期的运行状态为超负荷运行状态时,本公开示例性实施例可以以该采集周期作为第一目标时间包括的第一个采集周期,统计该目标虚拟硬件在第一目标时间段包括的多个采集周期的运行状态。若该目标虚拟硬件在第一目标时间段包括的大部分采集周期为超负荷运行状态,可以排除因为某些偶然因素导致的虚拟硬件负荷较大。此时,可以确认该目标虚拟硬件对应的目标虚拟机处在超负荷运行状态,定义该目标虚拟机的故障预警类型为异常运行风险,然后将该目标虚拟机热迁移至目标计算节点,并在目标计算节点对迁移过来的虚拟机进行重新定义,该过程中不影响业务正常进行。
为了方便理解本公开示例性实施例的虚拟机故障预警和排除过程,下面以目标虚拟机为例结合图4进行详细说明。如图4所示,本公开示例性实施例的虚拟机故障预警和排除方法可以包括如下步骤:
步骤401:基于计算节点在每个采集周期的目标虚拟机运行信息,确定目标虚拟机在每个采集周期的运行状态。此处的目标虚拟机在每个采集周期的运行状态可以是该计算节点的任意一个虚拟机的运行状态,这些运行状态可以包括崩溃状态和非崩溃状态。
假设在多个采集周期中存在第一目标采集周期,当检测到目标虚拟机在第一目标采集周期处在崩溃状态,无法获取到目标虚拟机在第一目标采集周期的虚拟硬件运行状态,因此,执行步骤402;当检测到目标虚拟机在第一目标采集周期处在非崩溃状态,可以获取到该目标虚拟机在第一目标采集周期的内存、CPU、磁盘、网络等多个虚拟硬件运行信息,因此,可以执行步骤405。
步骤402:检测计算节点在第一目标采集周期的宿主机运行状态是否为超负荷运行状态。
当计算节点在第一目标采集周期的宿主机运行状态为超负荷运行状态,说明目标虚拟机在该第一目标采集周期处在崩溃状态与宿主机有关,因此,可以确定目标虚拟机的故障预警类型为潜在故障风险,然后执行步骤403;当计算节点在第一目标采集周期的宿主机运行状态为正常状态,说明目标虚拟机在第一目标采集周期处在崩溃状态与宿主机无关,可能是因为目标虚拟机自身原因导致,因此,可以确定目标虚拟机的故障预警类别为异常运行风险,然后执行步骤404。
步骤403:将目标虚拟机迁移至目标计算节点。此处将目标虚拟机迁移至目标计算节点后,可以对目标虚拟机进行重新定义,并重启。
步骤404:在计算节点重启目标虚拟机。即在计算节点重启崩溃状态的目标虚拟机。
步骤405:基于目标虚拟机在第一目标采集周期的多个虚拟硬件运行信息,确定目标虚拟机的每个虚拟硬件在第一目标采集周期的运行状态。
在实际应用中,当检测到目标虚拟机在第一目标采集周期处在非崩溃状态,可以基于该目标虚拟机在第一目标采集周期的内存、CPU、磁盘、网络等多个虚拟硬件运行信息,确定每个虚拟硬件在第一目标采集周期的运行状态。
步骤406:若目标虚拟机中目标虚拟硬件在第一目标采集周期的运行状态为超负荷运行状态,以第一目标采集周期为第一目标时间段作为第一目标时间段的第一采集周期,统计该目标虚拟硬件在第一目标时间段包括的各个采集周期的运行状态。
在实际应用中,若多个虚拟硬件中的其中一个虚拟硬件在第一目标采集周期的运行状态为超负荷运行状态,可以将处在超负荷运行状态的该虚拟硬件定义为目标虚拟硬件,并以该第一目标采集周期的起始时刻为第一目标时间段的起始时刻,统计该目标虚拟硬件在第一目标时间段内各个采集周期的运行状态。
步骤407:当目标虚拟硬件在第一目标时间段包括的大部分采集周期的运行状态为超负荷运行状态,将目标虚拟机热迁移至目标计算节点。
示例性的,本公开示例性实施例的第一目标时间段可以包括M个连续的采集周期,当目标虚拟机在M个连续的采集周期中N个目标采集周期的运行状态为超负荷运行状态,当M表示大于或等于2的整数,N表示大于M/2的整数且小于或等于M时,说明目标虚拟机在第一目标时间段所包括的大部分采集周期的运行状态为超负荷运行状态。这种情况下,评估模块可以认为在第一目标时间段的绝大部分时间内,目标虚拟机的运行状态为超负荷运行状态。
如果目标虚拟机继续持续超负荷运行状态,有可能出现崩溃的危险,导致业务中断,而考虑到目标虚拟机处在超负荷运行状态时,该目标虚拟机仍然可以正常工作,因此,可以以热迁移的方式将目标虚拟机迁移至目标计算节点,然后进行重新定义,整个过程不影响业务正常运行。
示例性的,当M=3,N=2时,当评估模块确定目标虚拟机在三个连续的采集周期中至少两个采集周期处在超负荷运行状态时,可以将该目标虚拟机的故障预警类型标记为异常运行风险,将目标虚拟机热迁移至目标计算节点;当评估模块确定目标虚拟机在三个采集周期中一个采集周期处在超负荷运行状态或均存在正常运行状态时,可以认为目标虚拟机在第一目标时间段处在正常运行状态,不需要针对目标虚拟机做任何故障或风险预警处置。
可见,本公开示例性实施例可以根据目标虚拟机的故障预警类型对应的问题严重程度,对目标虚拟机进行差异化管理,从而排除故障,恢复目标虚拟机正常运行,以最大程度减少业务中断,保证服务连续新和可用性,进而提高***可靠性。而且,本公开示例性实施例针对计算节点的每个虚拟机均会执行图4所描述的方法,对于计算节点内需要重启的虚拟机,可以在不影响计算节点内其他虚拟机工作的情况下进行重启,对于计算节点内需要迁移的虚拟机,可以在不影响计算节点内其他虚拟机运行的情况下进行迁移,减少对于计算节点内其他虚拟机的影响程度。
而且,本公开示例性实施例的方法中,若同一虚拟硬件在第一目标时间段包括的多个采集周期的运行状态为超负荷运行状态,将目标虚拟机热迁移至目标计算节点。这个过程实际是参考同一虚拟硬件在多个采集周期的运行状态,对目标虚拟机进行管理,因此,可以避免网络抖动所造成的目标虚拟机运行状态误判风险。
在一种可选方式中,考虑到计算节点发生硬件故障时,该计算节点所运行的全部虚拟机均受到影响,而且业务也会受到不同程度的影响,本公开示例性实施例的方法还可以包括目标物理硬件的故障预警和排除方法。
图5示出了本公开示例性实施例的宿主机虚拟硬件故障预警和排除过程示意图。如图5所示,本公开示例性实施例的目标物理硬件的故障预警和排除方法可以包括:
步骤501:若目标物理硬件在第二目标时间段包括的第二目标采集周期处在超负荷运行状态,获取目标物理硬件在第二目标采集周期的身份信息。
本公开示例性实施例的第二目标时间段包括一个或多个连续的采集周期,当本公开示例性实施例的目标物理硬件在第二目标时间段包括的某个采集周期的运行状态为超负荷运行状态时,第二目标时间段包括的该采集周期为第二目标采集周期,因此,本公开示例性实施例可以获取该目标物理硬件在第二目标时间段包括的第二目标采集周期的身份信息。下文所涉及的第二目标采集周期的定义参考此处。
步骤502:基于同一目标物理硬件在至少一个第二目标采集周期的身份信息获取途径,对目标物理硬件对应的虚拟机进行管理。
本公开示例性实施例基于目标物理硬件在至少一个第二目标采集周期的身份信息获取途径,对目标虚拟机对应的虚拟机进行管理,包括:
若同一目标物理硬件在至少一个第二目标采集周期的身份信息的获取途径为,计算节点的物理硬件基本信息,则可以将计算节点的部分虚拟机热迁移至目标计算节点;若同一目标物理硬件在至少一个第二目标采集周期的身份信息的获取途径为:计算节点的宿主机异常运行日志获取,则可以将计算节点的所有虚拟机迁移至目标计算节点。
在实际应用中,当从计算节点在第二目标采集周期的物理硬件基本信息获取到目标物理硬件在该第二目标采集周期的身份信息,说明该目标物理硬件在第二目标采集周期的身份信息获取途径为计算节点的物理硬件基本信息。此时目标物理硬件在该第二目标采集周期虽然处在超负荷运行状态,但是没有损坏,不会对正常业务产生影响。
当从计算节点在第二目标采集周期的物理硬件基本信息无法获取到目标物理硬件在该第二目标采集周期的身份信息,说明物理机内的目标物理硬件可能损坏,因此,可以更改该目标物理硬件在第二目标采集周期的身份信息获取途径,以从计算节点在第二目标采集周期的宿主机异常运行日志获取目标物理硬件在该第二目标采集周期的身份信息。此时,目标物理硬件在该第二目标采集周期的身份信息获取途径为计算节点的宿主机异常运行日志。可见,本公开示例性实施例的目标物理硬件在每个采集周期的身份信息获取途径,间接反映该目标物理硬件是否损坏。
考虑到目标物理硬件在每个第二目标采集周期的身份信息获取途径,可以间接反映该目标物理硬件是否损坏,因此,本公开示例性实施例可以结合目标物理硬件在第二目标时间段包括的第二目标采集周期的身份信息获取途径,差异化的对目标物理硬件对应的虚拟机进行管理,以减少对于业务连续性的影响。
示例性的,当同一目标物理硬件在第二目标时间段包括的至少一个第二目标采集周期的身份信息从计算节点的物理硬件基本信息获取,说明宿主机的目标物理硬件负载过大,或者有部分硬件有一定风险,但可以使用。因此,可以确定目标物理硬件的故障预警类型为异常运行风险,并将计算节点的部分虚拟机热迁移至目标计算节点,以减少宿主机运行压力。此时,在目标计算节点对迁移过来的虚拟机进行重新定义,这个过程中不影响业务地正常运行。另外,由于已经配置共享存储,因此,迁移而来的虚拟机的***盘和数据盘可以不再进行其他操作。
本公开示例性实施例可以从部署在计算节点的所有运行状态的虚拟机中随机抽取部分虚拟机迁移至目标计算节点,这些虚拟机的数量可以是部署在计算节点的所有虚拟机数量的1/4~1/2,例如1/3。
当同一目标物理硬件在第二目标时间段包括的至少一个第二目标采集周期的身份信息均没有从计算节点的物理硬件基本信息获取,说明宿主机硬件存在损坏情况,此时可以从计算节点的宿主机异常运行日志获取目标物理硬件在至少一个第二目标采集周期的身份信息,因此,可以确定目标物理硬件的故障预警类型为潜在故障风险,并将计算节点的所有虚拟机迁移至目标计算节点,以保证该计算节点所有虚拟机可以在目标计算节点正常运行。例如:可以将计算节点上的所有虚拟机迁移至目标计算节点,并使用其***盘及虚拟机对应地XML文件在目标计算节点,然后对虚拟机进行重新定义和重启。
示例性的,当第二目标时间段包括的多个连续的采集周期,多个连续的采集周期包括多个第二目标采集周期时,针对第二目标时间段内的各个第二目标采集周期,可以统计身份信息获取途径相同的同一目标虚拟硬件对应的第二目标采集周期数量,若该第二目标采集周期数量占第二目标时间段包括的所有采集周期数量的一半以上,可以基于同一目标虚拟硬件在第二目标时间段包括的至少一个第二目标采集周期的身份信息获取途径,对目标虚拟机对应的虚拟机进行管理。
换句话说,当第二目标时间段包括多个连续的采集周期时,第二目标时间段包括的第二目标采集周期数量占有多个连续的采集周期数量大于50%。例如:当第二目标时间段包括M个连续的采集周期,且M个连续的采集周期含有N个第二目标采集周期时,N表示M/2的整数。
举例来说,当M=3,N=2时,评估模块在连续三个采集周期中至少两个采集周期(即第二目标采集周期)检测到同一目标物理硬件的故障预警类型为异常运行风险,评估模块可以将目标物理硬件的异常运行风险上传至处理模块,处理模块在接收到目标物理硬件的异常运行风险时,可以将计算节点的部分虚拟机热迁移至目标计算节点。
同理评估模块在连续三个采集周期中至少两个采集周期(第二目标采集周期)检测到同一目标物理硬件的故障预警类型为潜在故障风险,评估模块将目标物理硬件的潜在故障风险上传至处理模块,处理模块在接收到该目标物理硬件的在故障风险时,可以将计算节点的所有虚拟机迁移至目标计算节点。
示例性的,当本公开示例性实施例的第二目标时间段包括多个第二目标采集周期时,将计算节点的所有虚拟机迁移至目标计算节点,可以包括:
当身份信息的获取途径为计算节点在的宿主机异常运行日志时,可以基于计算节点在每个第二目标采集周期的宿主机异常运行日志确定目标物理硬件在每个第二目标采集周期的异常日志记录数量,若同一目标物理硬件在第二目标时间段包括的多个第二目标采集周期的异常日志记录数量随着时间的延长增加,说明该计算节点的宿主机硬件损坏程度加剧,这种情况下将计算节点的所有虚拟机迁移至目标计算节点,可以保证业务稳定可靠的进行。
在一种可选方式中,本公开示例性实施例的物理硬件运行信息不仅可以包括物理机物理硬件还可以包括:计算节点的外接硬件集群包括的外接硬件节点连通性信息。这些外接硬件集群可以是分布式存储***,例如ceph,或分布式文件***如nfs等。此时,为了保证外接硬件集群的连通性,本公开示例性实施例的方法还可以包括:外接硬件集群的连通性故障预警和排除方法。
图6示出了本公开示例性实施例的外接硬件集群的连通性故障预警和排除过程示意图。如图6所示,本公开示例性实施例的外接硬件集群的连通性故障预警和排除方法可以包括:
步骤601:基于外接硬件集群在多个采集周期的外接硬件节点连通性信息,确定计算节点在多个采集周期的外接硬件节点掉线数量。
示例性的,针对每个采集周期的外接硬件节点连通性信息,其可以是计算节点在每个采集周期的分布式存储集群的监控节点信息详情,具体获取方式包括:首先获取分布式存储集群的监控节点信息详情,如果无法获取分布式存储集群的监控节点信息详情,说明整个分布式存储集群掉线,即外接硬件节点掉线率达到100%。
如果获取到分布式存储集群的监控节点信息详情,可以从监控节点信息详情获取到分布式存储集群包括的分布式存储节点。针对每个分布式存储节点,可以使用分布式集群状态检查命令以及ping命令,判断计算节点与分布式存储节点之间网络是否连通,如果计算节点与分布式存储节点不连通,则说明该分布式存储节点掉线。
步骤602:判断计算节点在第三目标时间段包括的至少一个采集周期的外接硬件节点掉线数量是否均大于0且小于或等于预设最大掉线数量。此处第三目标时间段可以包括一个或多个连续的采集周期。
对于某个采集周期来说,设预设最大掉线数量为n0,当外接硬件节点掉线数量n=0时,说明外接硬件集群与计算节点连通性正常,当外接硬件节点掉线数量n满足0<n≤n0,说明外接硬件集群与计算节点之间虽然存在未连通的外接硬件节点,但是整体连通性不是特别差,可以确定外接硬件集群在该采集周期的故障预警类别为异常运行风险。当外接硬件集群在第三目标时间段包括的至少一个采集周期的故障预警类别为异常运行风险,可以执行步骤603。当外接硬件节点掉线数量n满足n>n0,说明外接硬件集群与计算节点之间的连通性比较差,可能难以满足计算节点的虚拟机需求,因此,可以确定外接硬件集群在该采集周期的故障预警类别为潜在故障风险,当外接硬件集群在第三目标时间段包括的至少一个采集周期的故障预警类别为潜在故障风险,可以执行步骤604。
本公开示例性实施例的预设最大掉线数量可以根据实际情况设定,也可以参考相关技术设定,例如:当外接硬件集群为ceph分布式存储集群,该ceph分布式存储集群的ceph监控节点总数N实质为分布式存储节点的总数量,预设最大掉线数量n0可以等于N-(N+1)/2。
可见,当分布式存储节点的掉线数量大于预设最大掉线数量时,分布式存储节点的掉线数量占分布式存储节点的总数量的一半以上,可以认为分布式存储集群存在比较严重的故障,极有可能已经影响到该计算节点上所有虚拟机的运行,因此,可以确定外接硬件集群在该采集周期的故障预警类别为潜在故障风险。而当分布式存储节点的掉线数量大于0且小于或等于预设最大掉线数量n0时,分布式存储节点的掉线数量占分布式存储节点的总数量的一半以下,可以认为分布式存储集群的问题不是很严重,还在***容忍范围内,因此,可以确定外接硬件集群在该采集周期的故障预警类别为异常运行风险。
步骤603:基于计算节点在第三目标时间段包括的至少一个采集周期的掉线外接硬件节点的身份信息上报外部硬件集群故障消息。此处可以是由评估模块收集第三目标时间段包括的至少一个采集周期的掉线外接硬件节点身份信息,并由处理模块上报外部硬件故障消息。
在处理模块上报外部硬件故障消息时,可以直接上报第三目标时间段包括的至少一个采集周期的掉线外接硬件节点身份信息,也可以先汇总第三目标时间段包括的多个采集周期的掉线外接硬件节点身份信息,即合并不同采集周期中相同的掉线外接硬件节点身份信息,最终形成计算节点在第三目标时间段的掉线外接硬件节点身份信息。当然,还可以统计每个掉线外接硬件节点在不同采集周期是否掉线以及掉线时长等掉线附属信息,最后将计算节点在第三目标时间段的掉线外接硬件节点身份信息以及掉线附属信息打包,形成外部硬件故障消息,由处理模块上报。
在实际应用中,本公开示例性实施例的第三目标时间段包括一个或多个采集周期,若计算节点在第三目标时间段包括的某个采集周期的故障预警类别为异常运行风险,可以直接由处理模块上报外部硬件集群故障消息,但为了减少因为网络抖动或其他随机因素所造成的误判,当第三目标时间段包括多个采集周期时,可以判断计算节点在第三目标时间段包括的至少两个采集周期的外接硬件节点掉线数量是否均大于0且小于或等于预设最大掉线数量,如果是,可以确定计算节点的故障预警类别为异常运行风险,基于掉线的外接硬件节点的身份信息上报外部硬件集群故障消息。
步骤604:将计算节点的所有虚拟机迁移至目标计算节点。若计算节点在第三目标时间段包括的某个采集周期的故障预警类别为潜在故障风险,可以直接将计算节点的所有虚拟机迁移至目标计算节点。但为了减少因为网络抖动或其他随机因素所造成的误判,当第三目标时间段包括多个连续的采集周期时,可以判断计算节点在多个连续的采集周期的外接硬件节点掉线数量是否均大于预设最大掉线数量,如果是,则直接将计算节点的所有虚拟机迁移至目标计算节点。
为了进一步保证虚拟机管理的可靠性和准确性,将计算节点的所有虚拟机迁移至目标计算节点,可以包括:若计算节点在第三目标时间段包括的大部分采集周期的外接硬件节点掉线数量随着时间的延长增加,说明随着时间的增加,外接硬件节点的掉线数量越来越多,因此,外部硬件集群发生故障的可能性很高,可以将计算节点的所有虚拟机迁移至目标计算节点。例如:使用其***盘及虚拟机对应地XML文件在健康节点对虚拟机进行重新定义以及重启。
为了防止网络抖动或其他随机因素所造成的误判,可以设定在第三目标时间段包括M个采集周期,判断计算节点在第三目标时间段包括的N个采集周期的外接硬件节点掉线数量是否大于预设最大掉线数量,其中N表示大于M/2的整数。通过这种限定方式,可以保证最终确定的外接硬件集群的故障预警类型比较准确,从而提高对虚拟机的管理可靠性和准确性。
示例性的,当M=3,N=2时,可以在第三目标时间段收集外部硬件集群在每个采集周期的故障预警类型,若外部硬件集群在第三目标时间段内存在两个或三个采集周期的故障预警类型为异常运行风险,可以基于计算节点在第三目标时间段包括的两个每个采集周期的掉线外接硬件节点身份信息上报外部硬件集群故障消息,若外部硬件集群在第三目标时间段内存在两个或三个采集周期的故障预警类型为潜在故障风险,且掉线外部硬件节点数量随着时间的延长而增加,可以将计算节点的所有虚拟机迁移至目标计算节点。
在一种可选方式中,考虑到计算节点和计算节点对应的各个虚拟机正常的情况下,该计算节点的服务组件异常也有可能导致计算节点存在高安全隐患或安全风险。这种情况下,计算节点对应的各个虚拟机及其上的业务***虽然不受影响,但存在高的安全风险,因此,计算节点对应的各个虚拟机随时可能发生故障。基于此,本公开示例性实施例还可以包括:服务组件故障预警和排除方法。
图7示出了本公开示例性实施例的服务组件故障预警和排除过程示意图。如图7所示,本公开示例性实施例的服务组件故障预警和排除方法,可以包括:
步骤701:获取计算节点在多个采集周期的服务组件运行信息。例如:在每个采集周期,可以通过systemctl list-units--type=service--state=running确定L3 Agent(neutron-l3-agent)、neutron-metadata-agent、neutron-dhcp-agent、neutron-openvswitch-agent、neutron-openvswitch-agent、neutron-netns-cleanup以及计算服务的运行情况。
步骤702:基于计算节点在每个采集周期的服务组件运行信息确定目标服务在每个采集周期的运行状态。
步骤703:若同一目标服务在第四目标时间段包括的至少一个采集周期的运行状态为非运行状态,将计算节点的所有虚拟机热迁移至目标计算节点。此处第四目标时间段可以包括一个或多个连续的采集周期。
为了验证服务是否存在异常,当计算节点在每个所述采集周期的服务组件运行信息包括多种服务在每个采集周期的运行信息时,本公开示例性实施例的方法还可以包括:若同一目标服务在某个采集周期的运行状态为非运行状态,可以重启目标服务,然后更新重启后的目标服务在对应采集周期的运行信息。此时,可以再次基于重启后的目标服务在对应采集周期的运行信息确定重启后的运行状态。
如果该目标服务的运行状态仍然为非运行状态,可以确定该目标服务在对应采集周期的运行状态为非运行状态,可以将目标服务在对应采集周期的故障预警类别设定为潜在故障风险。这个过程实质为通过重启方式验证目标服务故障预警类型的方式。
为了减少因为网络抖动或其他随机因素所造成的误判问题,本公开示例性实施例可以统计同一目标服务在第四目标时间段包括的多个采集周期的故障预警类别,如果同一目标服务在第四目标时间段包括的大部分采集周期故障预警类别为潜在故障风险,说明虚拟机环境存在较大风险,且无法自主恢复,因此,计算节点上存在危害虚拟机的安全隐患,可以将计算节点的所有虚拟机迁移至目标计算节点。这种迁移过程中可以对目标虚拟机的cpu、内存等无差别地迁移至目标计算节点。
示例性的,第四目标时间段包括M个连续的采集周期,其中计算节点的目标服务在第四目标时间段包括的N个目标采集周期的运行状态为非运行状态,可以将计算节点的所有虚拟机热迁移至目标计算节点,N表示大于M/2的整数。例如:当M=3,N=2时,当第一次检测到某个服务在对应采集周期的故障预警类别为潜在故障风险时,可以继续检测该服务在后续两个采集周期的故障预警类别,如果该服务在后续两个采集周期中至少一个采集周期的故障预警类别为潜在故障风险,可以将计算节点的所有虚拟机热迁移至目标计算节点。
在一种可选方式中,本公开示例性实施例在同时接收到目标虚拟机的故障预警、目标服务的故障预警和目标物理硬件的故障预警中至少两种时,可以从其中选择一个故障预警,对计算节点的虚拟机进行管理,还可以随机配置至少两种故障预警的故障预警优先级,然后按照随机配置的至少两种故障预警的故障预警优先级对计算节点的虚拟机进行管理,也可以按照预设故障预警优先级顺序对计算节点的虚拟机进行管理。
示例性的,本公开示例性实施例的故障预警优先级可以是目标虚拟机的故障预警优先级高于目标物理硬件的故障预警优先级,目标物理硬件的故障预警优先级高于目标服务的故障预警优先级。这种情况下,可以避免检测到目标服务异常,但虚拟机正常时,直接迁移虚拟机所造成的服务影响。
当同时接收到目标虚拟机的故障预警、目标服务的故障预警和目标物理硬件的故障预警,可以先基于目标虚拟机的故障预警类别对计算节点的虚拟机进行管理,然后基于目标物理硬件的故障预警类别对计算节点的虚拟机进行管理,最后基于目标服务的故障预警类别对计算节点的虚拟机进行管理。
另外,考虑到基于目标虚拟机的故障预警类别对计算节点的虚拟机进行管理时,有可能已经间接实现基于目标物理硬件的故障预警类别对计算节点的虚拟机进行管理,以及基于目标服务的故障预警类别对计算节点的虚拟机进行管理,因此,本公开示例性实施例还可以根据实际情况决定是否执行较低优先级对应的虚拟机管理操作。
本公开示例性实施例中提供的一个或多个技术方案中,在目标虚拟机在第一目标采集周期处在崩溃状态时,可以基于计算节点在第一目标采集周期的宿主机运行状态对目标虚拟机进行管理。可见,本公开示例性实施例的虚拟机在某个采集周期处在崩溃状态时,可以参考同一采集周期的宿主机运行状态对处在崩溃状态的目标虚拟机进行管理,从而提高虚拟机故障判断准确度和故障排除速度,避免错误判断对虚拟机造成的不利影响。因此,本公开示例性实施例的方法具有高可用性,可以提高***运行的连续性,且保证虚拟机管理的可靠性和健壮性,进而达到改善运维服务质量的目的,
而且,本公开示例性实施例通过判断计算节点在各个采集周期的虚拟机运行信息,确定各个虚拟机在不同采集周期的各个虚拟机的运行状态,然后基于各个虚拟机在不同采集周期的各个虚拟机的运行状态,获取到处在崩溃状态的目标虚拟机以及对应的第一目标采集周期,然后参考计算节点在第一目标采集周期的宿主机运行状态,对处在崩溃状态的目标虚拟机进行管理。可见,本公开示例实施例的方法可以针对性管理处在崩溃状态的目标虚拟机,而不会影响运行在宿主机的其他虚拟机,因此,本公开示例性实施例对虚拟机进行管理时,可以尽可能减少对于业务连续性的影响范围。
综上,本公开示例性实施例可以通过运行在计算节点的代理模块采集计算节点各个采集周期的服务组件的运行信息、虚拟机(cpu,内存,网络,存储等)运行信息、物理硬件(cpu,内存,磁盘、网络、外接硬件节点连通性信息等)运行信息等三类数据,然后通过运行在管理节点的管理模块对三类数据分别进行故障预警,并根据故障预警结果对虚拟机进行差异化管理。
本公开示例性实施例可以基于故障预警对象和故障预警类型,将虚拟机管理的方式差异化的分为计算节点的虚拟机部分迁移、计算节点的虚拟机全部迁移、单个虚拟机迁移以及虚拟机重启等操作。
进一步的,本公开示例性实施例的方法可以自动化实现计算节点的物理硬件、虚拟机和服务组件的故障预警和排除,从而提高运维工作效率和生产力,减少重复性工作,优化资源利用,节省时间和成本,而且,本公开示例性实施例可以综合分析多个采集周期的同类数据(例如:虚拟机超负荷运行下的故障预警、物理硬件的故障预警和服务组件的故障预警),或者在虚拟机在某个采集周期处在崩溃状态时,参考同一采集周期的宿主机运行状态,达到对不同类型故障预警的精准分析和预测,从而提前识别和纠正潜在问题,因此,本公开示例性实施例的方法有利于提高业务***的健壮性,从而改善运维服务质量。
另外,当计算节点的服务组件以及某些虚拟机本身出现故障或不可用时,处理模块可以自动将虚拟机迁移到可用的目标计算节点上,确保服务的连续性和可用性,而且,在某个计算节点出现故障时,目标计算节点可以作为备用节点能够快速接管工作负载,降低服务中断时间,这对于对可用性要求较高的业务和服务非常重要。同时,这种故障排除方式可以基于虚拟机运行信息,对虚拟机资源的使用情况进行分析,将负载合理地分配到不同的计算节点,避免某一计算节点过载,从而来提高***性能。
最后,当本公开示例性实施例的方法将当前计算节点的虚拟机迁移到可用的目标计算节点时,不会影响当前计算节点的其他虚拟机,这降低了***停机时间,提高了该计算节点的维护和升级的效率,具有更好的灵活性和可操作性,适用于发生灾难性事件时***功能的快速恢复。
需要说明的是,本公开示例性实施例的第一目标时间段、第二目标时间段、第三目标时间段以及第四目标时间段包括的采集周期为多个连续的采集周期时,其出现故障预警的采集周期为N个,这N个采集周期可以连续,也可以部分连续,或者均不连续。例如,M=3,N=2,M个连续采集周期包括第i个采集周期、第i+1个采集周期和第i+2个采集周期,i为大于或等于1的整数。这种情况下,如果N个采集周期连续,N个采集周期可能为第i个采集周期和第i+1个采集周期,也可能为第i+1个采集周期和第i+2个采集周期,还可能为第i个采集周期、第i+1个采集周期和第i+2个采集周期;如果N个采集周期不连续,N个采集周期可能为第i个采集周期和第i+2个采集周期。
上述主要从管理节点的角度对本公开实施例提供的方案进行了介绍。可以理解的是,管理节点为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对管理节点进行功能单元的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种虚拟机管理装置,该虚拟机管理装置可以为管理节点或应用于管理节点的芯片。图8示出了根据本公开示例性实施例的虚拟机管理装置的功能模块示意性框图。如图8所示,该虚拟机管理装置800包括:
获取模块801,用于获取计算节点在至少一个采集周期的物理硬件运行信息和计算节点在至少一个采集周期的虚拟机运行信息;
确定模块802,用于基于所述计算节点在每个所述采集周期的虚拟机运行信息确定所述计算节点在每个采集周期的宿主机运行状态;
管理模块803,用于若基于所述计算节点在第一目标采集周期的虚拟机运行信息确定目标虚拟机在所述第一采集周期处在崩溃状态,基于所述计算节点在所述第一目标采集周期的宿主机运行状态,对所述目标虚拟机进行管理。
作为一种可能的实现方式,所述管理模块803用于若所述计算节点在所述第一目标采集周期的宿主机运行状态为超负荷运行状态,将所述目标虚拟机迁移至目标计算节点,若所述计算节点在所述第一目标采集周期的宿主机运行状态为正常运行状态,在所述计算节点重启所述目标虚拟机。
作为一种可能的实现方式,所述确定模块802还用于基于所述计算节点在每个所述采集周期的虚拟机运行信息确定至少一个虚拟硬件在每个所述采集周期的运行状态;
所述管理模块803还用于若同一所述虚拟硬件在第一目标时间段包括的至少一个采集周期的运行状态为超负荷运行状态,将所述目标虚拟机热迁移至目标计算节点,所述第一目标时间段包括一个或多个连续的采集周期。
作为一种可能的实现方式,所述物理硬件运行信息包括:物理机物理硬件运行信息,所述确定模块802用于基于所述计算节点在每个所述采集周期的物理机物理硬件运行信息,确定至少一个物理硬件在每个所述采集周期的运行状态,若所述至少一个物理硬件在所述第一目标采集周期的运行状态为超负荷运行状态,确认所述计算节点在所述第一目标采集周期的宿主机运行状态为超负荷运行状态。
作为一种可能的实现方式,所述管理模块803还用于若目标物理硬件在第二目标时间段包括的第二目标采集周期处在超负荷运行状态,获取所述目标物理硬件在所述第二目标采集周期的身份信息;基于同一所述目标物理硬件在至少一个第二目标采集周期的身份信息获取途径,对所述目标物理硬件对应的虚拟机进行管理,所述第二目标时间段包括一个多个连续的采集周期。
作为一种可能的实现方式,所述管理模块803用于若同一所述目标物理硬件在至少一个所述第二目标采集周期的身份信息的获取途径为,所述计算节点在的物理硬件基本信息,则将所述计算节点的部分虚拟机热迁移至目标计算节点;若同一所述目标物理硬件在至少一个所述第二目标采集周期的身份信息的获取途径为,所述计算节点的宿主机异常运行日志,则将所述计算节点的所有虚拟机迁移至目标计算节点。
作为一种可能的实现方式,所述第二目标时间段包括多个第二目标采集周期,所述管理模块803用于当所述身份信息的获取途径为所述计算节点在的宿主机异常运行日志获取,基于所述计算节点的宿主机异常运行日志时,基于所述计算节点在所述第二目标时间段包括的每个所述第二目标采集周期的宿主机异常运行日志确定所述目标物理硬件在每个所述第二目标采集周期的异常日志记录数量;若同一所述目标物理硬件在所述第二目标时间段包括的多个所述第二目标采集周期的异常日志记录数量随着时间的延长增加,将所述计算节点的所有虚拟机迁移至目标计算节点。
作为一种可能的实现方式,所述物理硬件运行信息包括:所述计算节点的外接硬件集群包括的外接硬件节点连通性信息,所述确定模块802还用于基于所述计算节点在多个采集周期的外接硬件节点连通性信息,确定所述计算节点在多个采集周期的外接硬件节点掉线数量;
所述管理模块803还用于若所述计算节点在第三目标时间段包括的至少一个采集周期的外接硬件节点掉线数量均大于预设最大掉线数量,则将所述计算节点的所有虚拟机迁移至目标计算节点;若所述计算节点在第三目标时间段包括的至少一个采集周期的外接硬件节点掉线数量均大于0且小于或等于所述预设最大掉线数量,则基于所述计算节点在所述第三目标时间段包括的至少一个采集周期的掉线外接硬件节点身份信息上报外部硬件集群故障消息,所述第三目标时间段包括一个或多个连续的采集周期。
作为一种可能的实现方式,当所述第三目标时间段包括多个连续的采集周期,所述管理模块803用于若所述计算节点在第三目标时间段包括的大部分采集周期的外接硬件节点掉线数量随着时间的延长增加,则将所述计算节点的所有虚拟机迁移至目标计算节点。
作为一种可能的实现方式,所述获取模块801还用于获取所述计算节点在多个所述采集周期的服务组件运行信息;
所述确定模块802还用于基于所述计算节点在每个所述采集周期的服务组件运行信息确定目标服务在每个采集周期的运行状态;
所述管理模块803还用于若同一所述目标服务在第四目标时间段包括的至少一个采集周期的运行状态均为非运行状态,将所述计算节点的所有虚拟机热迁移至目标计算节点,所述第四目标时间段包括多个连续的采集周期。
作为一种可能的实现方式,所述计算节点在每个所述采集周期的服务组件运行信息包括多种服务在每个所述采集周期的运行信息,所述确定模块802还用于若所述目标服务在所述采集周期的运行状态为非运行状态,重启所述目标服务;更新重启后的所述目标服务在对应所述采集周期的运行信息。
图9示出了根据本公开示例性实施例的芯片的示意性框图。如图9所示,该芯片900包括一个或两个以上(包括两个)处理器901和通信接口902。通信接口902可以支持管理节点执行上述方法中的数据收发步骤,处理器901可以支持管理节点执行上述方法中的数据处理步骤。
可选的,如图9所示,该芯片900还包括存储器903,存储器903可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图9所示,处理器901通过调用存储器存储的操作指令(该操作指令可存储在操作***中),执行相应的操作。处理器901控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(central processing unit,CPU)。存储器903可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器903的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线***耦合在一起,其中总线***除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图9中将各种总线都标为总线***904。
上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本公开示例性实施例还提供一种云计算平台,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图10,现将描述可以作为本公开的服务器或客户端的电子设备1000的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
电子设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006、输出单元1007、存储单元1008以及通信单元1009。输入单元1006可以是能向电子设备1000输入信息的任何类型的设备,输入单元1006可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1007可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1008可以包括但不限于磁盘、光盘。通信单元1009允许电子设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理。例如,在一些实施例中,本公开示例性实施例的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到电子设备1000上。在一些实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开示例性实施例的方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包括这些改动和变型在内。
Claims (14)
1.一种虚拟机管理方法,其特征在于,包括:
获取计算节点在至少一个采集周期的物理硬件运行信息和计算节点在至少一个采集周期的虚拟机运行信息;
基于所述计算节点在每个所述采集周期的物理硬件运行信息确定所述计算节点在每个采集周期的宿主机运行状态;
若基于所述计算节点在第一目标采集周期的虚拟机运行信息确定目标虚拟机在所述第一目标采集周期处在崩溃状态,基于所述计算节点在所述第一目标采集周期的宿主机运行状态,对所述目标虚拟机进行管理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述计算节点在所述第一目标采集周期的宿主机运行状态,对所述目标虚拟机进行管理,包括:
若所述计算节点在所述第一目标采集周期的宿主机运行状态为超负荷运行状态,将所述目标虚拟机迁移至目标计算节点;
若所述计算节点在所述第一目标采集周期的宿主机运行状态为正常运行状态,在所述计算节点重启所述目标虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述计算节点在每个所述采集周期的虚拟机运行信息确定至少一个虚拟硬件在每个所述采集周期的运行状态;
若同一所述虚拟硬件在第一目标时间段包括的至少一个采集周期的运行状态为超负荷运行状态,将所述目标虚拟机热迁移至目标计算节点,所述第一目标时间段包括一个或多个连续的采集周期。
4.根据权利要求1所述的方法,其特征在于,所述物理硬件运行信息包括:物理机物理硬件运行信息,所述基于所述计算节点在每个所述采集周期的物理硬件运行信息确定所述计算节点在每个采集周期的宿主机运行状态,包括:
基于所述计算节点在每个所述采集周期的物理机物理硬件运行信息,确定至少一个物理硬件在每个所述采集周期的运行状态;
若所述至少一个物理硬件在所述第一目标采集周期的运行状态为超负荷运行状态,确认所述计算节点在所述第一目标采集周期的宿主机运行状态为超负荷运行状态。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若目标物理硬件在第二目标时间段包括的第二目标采集周期处在超负荷运行状态,获取所述目标物理硬件在所述第二目标采集周期的身份信息,所述第二目标时间段包括一个多个连续的采集周期;
基于同一所述目标物理硬件在至少一个第二目标采集周期的身份信息获取途径,对所述目标物理硬件对应的虚拟机进行管理。
6.根据权利要求5所述的方法,其特征在于,所述基于同一所述目标物理硬件在至少一个第二目标采集周期的身份信息获取途径,对所述目标虚拟机对应的虚拟机进行管理,包括:
若同一所述目标物理硬件在至少一个所述第二目标采集周期的身份信息的获取途径为,所述计算节点的物理硬件基本信息,则将所述计算节点的部分虚拟机热迁移至目标计算节点;
若同一所述目标物理硬件在至少一个所述第二目标采集周期的身份信息的获取途径为,所述计算节点的宿主机异常运行日志,则将所述计算节点的所有虚拟机迁移至目标计算节点。
7.根据权利要求6所述的方法,其特征在于,所述第二目标时间段包括多个第二目标采集周期,所述将所述计算节点的所有虚拟机迁移至目标计算节点,包括:
当所述身份信息的获取途径为所述计算节点的宿主机异常运行日志时,基于所述计算节点在所述第二目标时间段包括的每个所述第二目标采集周期的宿主机异常运行日志确定所述目标物理硬件在每个所述第二目标采集周期的异常日志记录数量;
若同一所述目标物理硬件在所述第二目标时间段包括的多个所述第二目标采集周期的异常日志记录数量随着时间的延长增加,将所述计算节点的所有虚拟机迁移至目标计算节点。
8.根据权利要求1~7任一项所述的方法,其特征在于,所述物理硬件运行信息包括:所述计算节点的外接硬件集群包括的外接硬件节点连通性信息,所述方法还包括:
基于所述计算节点在多个采集周期的外接硬件节点连通性信息,确定所述计算节点在多个采集周期的外接硬件节点掉线数量;
若所述计算节点在第三目标时间段包括的至少一个采集周期的外接硬件节点掉线数量均大于预设最大掉线数量,则将所述计算节点的所有虚拟机迁移至目标计算节点,所述第三目标时间段包括一个或多个连续的采集周期;
若所述计算节点在第三目标时间段包括的至少一个采集周期的外接硬件节点掉线数量均大于0且小于或等于所述预设最大掉线数量,则基于所述计算节点在所述第三目标时间段包括的至少一个采集周期的掉线外接硬件节点身份信息上报外部硬件集群故障消息。
9.根据权利要求8所述的方法,其特征在于,当所述第三目标时间段包括多个连续的采集周期,所述将所述计算节点的所有虚拟机迁移至目标计算节点,包括:
若所述计算节点在第三目标时间段包括的大部分采集周期的外接硬件节点掉线数量随着时间的延长增加,则将所述计算节点的所有虚拟机迁移至目标计算节点。
10.根据权利要求1~7任一项所述的方法,其特征在于,所述方法还包括:
获取所述计算节点在多个所述采集周期的服务组件运行信息;
基于所述计算节点在每个所述采集周期的服务组件运行信息确定目标服务在每个采集周期的运行状态;
若同一所述目标服务在第四目标时间段包括的至少一个所述采集周期的运行状态均为非运行状态,将所述计算节点的所有虚拟机热迁移至目标计算节点,所述第四目标时间段包括多个连续的采集周期。
11.根据权利要求10所述的方法,其特征在于,所述计算节点在每个所述采集周期的服务组件运行信息包括多种服务在每个所述采集周期的运行信息,所述方法还包括:
若所述目标服务在所述采集周期的运行状态为非运行状态,重启所述目标服务;
更新重启后的所述目标服务在对应所述采集周期的运行信息。
12.一种虚拟机管理装置,其特征在于,包括:
获取模块,用于获取计算节点在至少一个采集周期的物理硬件运行信息和计算节点在至少一个采集周期的虚拟机运行信息;
确定模块,用于基于所述计算节点在每个所述采集周期的虚拟机运行信息确定所述计算节点在每个采集周期的宿主机运行状态;
管理模块,用于若基于所述计算节点在第一目标采集周期的虚拟机运行信息确定目标虚拟机在所述第一目标采集周期处在崩溃状态,基于所述计算节点在所述第一目标采集周期的宿主机运行状态,对所述目标虚拟机进行管理。
13.一种云计算平台,其特征在于,包括:
处理器;以及,
存储程序的存储器;
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1~11中任一项所述的方法。
14.一种非瞬时计算机可读存储介质,其特征在于,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据权利要求1~11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311444718.5A CN117555711A (zh) | 2023-11-01 | 2023-11-01 | 一种虚拟机管理方法、装置、云计算平台及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311444718.5A CN117555711A (zh) | 2023-11-01 | 2023-11-01 | 一种虚拟机管理方法、装置、云计算平台及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117555711A true CN117555711A (zh) | 2024-02-13 |
Family
ID=89817669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311444718.5A Pending CN117555711A (zh) | 2023-11-01 | 2023-11-01 | 一种虚拟机管理方法、装置、云计算平台及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555711A (zh) |
-
2023
- 2023-11-01 CN CN202311444718.5A patent/CN117555711A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815043B (zh) | 故障处理方法、相关设备及计算机存储介质 | |
KR101888029B1 (ko) | 가상 머신 클러스터 모니터링 방법 및 모니터링 시스템 | |
US10462027B2 (en) | Cloud network stability | |
US10489232B1 (en) | Data center diagnostic information | |
Panda et al. | {IASO}: A {Fail-Slow} Detection and Mitigation Framework for Distributed Storage Services | |
EP3956771B1 (en) | Timeout mode for storage devices | |
CN110781053A (zh) | 一种检测内存降级错误的方法和装置 | |
Di Sanzo et al. | Machine learning for achieving self-* properties and seamless execution of applications in the cloud | |
CN114168071B (zh) | 一种分布式集群扩容方法、分布式集群扩容装置及介质 | |
CN114942859A (zh) | 节点故障的处理方法、装置、设备、介质和程序产品 | |
CN105068763A (zh) | 一种针对存储故障的虚拟机容错***和方法 | |
JP7436737B1 (ja) | マルチベンダーを支援するサーバ管理システム | |
US20190243953A1 (en) | Enhanced security for multiple node computing platform | |
CN112134752B (zh) | 一种基于bmc监控交换机的方法、***、设备及介质 | |
CN117499412A (zh) | 一种基于高可用链路的集群优化处理方法及其相关设备 | |
CN117555711A (zh) | 一种虚拟机管理方法、装置、云计算平台及介质 | |
CN113778763B (zh) | 一种三方接口服务故障智能切换方法及*** | |
CN112231170B (zh) | 一种数据交互卡监管方法、***、终端及存储介质 | |
US11349964B2 (en) | Selective TCP/IP stack reconfiguration | |
CN114884836A (zh) | 一种虚拟机高可用方法、装置及介质 | |
CN108062471B (zh) | 一种云计算网络运行过程中的风险处理方法及设备 | |
CN114422395A (zh) | 一种链路诊断方法和装置 | |
JPWO2008120383A1 (ja) | 情報処理装置、障害処理方法 | |
CN116506327B (zh) | 物理节点监测方法、装置、计算机设备及存储介质 | |
CN113238893B (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 |