Virtual machine abnormity evacuation system and method
By independently deploying components such as daemon and analysis services in the virtual machine abnormal evacuation system, the automated evacuation of virtual machines is solved, and the system complexity problems increased by middleware in the existing technology are improved and performance and stability are improved.
Patent Information
- Application Number
- CN202411886115.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-04-11
Smart Images

Figure CN119806740A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a virtual machine abnormal evacuation system and method. Background Art
[0002] The cloud platform is deployed inside the data center to virtualize the data center hardware capabilities and provide them to users. Since the cloud computing environment is a distributed system composed of a large number of computing nodes, each node may have performance problems. If a node goes down or other abnormal conditions occur during operation, customers will experience problems such as inability to connect, business suspension, and inability to operate normally. Therefore, in the cloud computing environment, service monitoring and fault evacuation are key components to ensure high system availability.
[0003] Most existing solutions monitor the entire system comprehensively, including monitoring the load of computing nodes, monitoring network traffic, and evaluating storage performance. Based on the monitoring parameters obtained, the current node is analyzed and evacuation tasks are performed when an abnormality occurs. During the entire implementation process, multiple specialized middlewares need to be deployed in the cluster. For example, containers such as consul are used for service discovery, monitoring inspection, and configuration management. The architecture of the middleware increases the complexity of the system and affects performance and stability.
[0004] In view of this, it is necessary to improve the virtual machine fault evacuation method in the prior art to solve the above problems. Summary of the invention
[0005] The purpose of the present invention is to solve the problem that the existing virtual machine fault evacuation method deploys special middleware, which increases the complexity of the system and affects the performance and stability.
[0006] To achieve the above object, the present invention provides a virtual machine abnormal evacuation system, which is used to perform evacuation operations on virtual machines deployed by abnormal computing nodes in a server cluster, and the virtual machine abnormal evacuation system includes:
[0007] At least one daemon process independently deployed on at least two computing nodes and an analysis service, a decision service, an execution service and a database independently deployed on at least one control node;
[0008] The daemon process periodically monitors the health parameters of the current computing node and stores the monitored health parameters in the database; the analysis service periodically obtains the health parameters stored in the database, analyzes the health parameters, and uploads the abnormal health parameters to the decision service after an abnormality is analyzed; the decision service determines whether to evacuate the virtual machines deployed by the abnormal computing node based on the actual conditions corresponding to the abnormal health parameters and the abnormal computing node; and when determining to evacuate the virtual machines deployed by the abnormal computing node, the decision service sends an evacuation request to the execution service; the execution service responds to the evacuation request and performs an evacuation operation on the virtual machines deployed by the abnormal computing node based on whether the resource conditions corresponding to the server cluster support the evacuation operation.
[0009] As a further improvement of the present invention, at least three daemons are deployed in the computing node to respectively monitor the health parameters corresponding to the management network, the storage network and the business network of the current computing node, and upload them to the database respectively.
[0010] As a further improvement of the present invention, if an abnormality occurs in the daemon process, the daemon process without abnormality will monitor the health parameters corresponding to the management network and / or the health parameters corresponding to the storage network and / or the health parameters corresponding to the business network corresponding to the daemon process with the abnormality, and upload them to the database.
[0011] As a further improvement of the present invention, the daemon process is connected to the database so that the daemon process directly stores the monitored health parameters corresponding to the current computing node in the database.
[0012] As a further improvement of the present invention, the daemon process forms a connection with the analysis service, so that the daemon process uploads the health parameters corresponding to the monitored current computing node to the analysis service, and the analysis service stores the health parameters in the database.
[0013] As a further improvement of the present invention, the daemon process forms a connection with the interface server of the control node, so that the daemon process uploads the health parameters corresponding to the monitored current computing node to the interface server, and the interface server stores the health parameters in the database.
[0014] As a further improvement of the present invention, the daemon process, the analysis service, the decision service and the execution service communicate with each other via remote procedure calls.
[0015] As a further improvement of the present invention, the performing of the evacuation operation includes: determining a target computing node from the server cluster, evacuating the virtual machines deployed by the abnormal computing node to the target computing node, and rebuilding the virtual machines in the target computing node.
[0016] As a further improvement of the present invention, if the resource situation corresponding to the server cluster does not support the evacuation operation, it is prompted that the evacuation has failed.
[0017] Based on the same inventive concept, the present application also discloses a method for abnormal evacuation of a virtual machine, including:
[0018] Deploy at least one daemon process independently in at least two computing nodes, and independently deploy analysis services, decision services, execution services, and a database in at least one control node;
[0019] The daemon process periodically monitors the health parameters of the current computing node and stores the monitored health parameters in the database;
[0020] The analysis service periodically obtains the health parameters stored in the database, analyzes the health parameters, and uploads the abnormal health parameters to the decision service after an abnormality is found in the analysis;
[0021] The decision service determines whether to evacuate the virtual machines deployed by the abnormal computing node based on the abnormal health parameter and the actual situation corresponding to the abnormal computing node, and when it is determined that the virtual machines deployed by the abnormal computing node are to be evacuated, the decision service sends an evacuation request to the execution service;
[0022] The execution service responds to the evacuation request and performs an evacuation operation on the virtual machines deployed by the abnormal computing node based on whether the resource situation corresponding to the server cluster supports the evacuation operation.
[0023] Compared with the prior art, the present invention has the following beneficial effects:
[0024] At least one daemon is independently deployed in at least two computing nodes, and an analysis service, a decision service, an execution service, and a database are independently deployed in at least one control node. The daemon is used to monitor the health parameters of the current computing node, the decision service is used to determine whether to evacuate the virtual machine deployed by the abnormal computing node based on the actual situation corresponding to the abnormal health parameters and the abnormal computing node, the execution service is used to perform an evacuation operation on the virtual machine deployed by the abnormal computing node based on whether the resource situation corresponding to the server cluster supports the evacuation operation, and the database is used to store the health parameters monitored by the daemon. Based on this, the daemon deployed on the computing node monitors the health parameters corresponding to the current computing node, does not rely on middleware such as consul container, reduces the complexity of the system, and thus solves the problem that the existing virtual machine fault evacuation method deploys special middleware to increase the complexity of the system and affects performance and stability. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 A topology diagram of the monitoring tools deployed on each node in the server cluster;
[0026] Figure 2 A topological diagram of a virtual machine abnormal evacuation system and a server cluster shown in the present invention;
[0027] Figure 3 An example diagram of evacuating virtual machines deployed on an abnormal computing node to a target computing node in one implementation;
[0028] Figure 4 A topology diagram for storing health parameters directly in the database for daemons;
[0029] Figure 5 A topology diagram for daemons that store health parameters in a database through an analytics service;
[0030] Figure 6 A topology diagram for storing health parameters in a database for the daemon process through an interface server;
[0031] Figure 7 The figure is a schematic diagram of the steps of a method for abnormal evacuation of a virtual machine. DETAILED DESCRIPTION
[0032] The present invention is described in detail below in conjunction with the various embodiments shown in the accompanying drawings, but it should be noted that these embodiments are not limitations of the present invention, and any equivalent transformations or substitutions in functions, methods, or structures made by ordinary technicians in the field based on these embodiments are all within the scope of protection of the present invention.
[0033] Please refer to Figures 1 to 6As shown, the present invention shows a specific implementation of a virtual machine abnormal evacuation system. The virtual machine abnormal evacuation method can be applied to a server cluster 20 based on a cloud platform, and is used to perform evacuation operations on virtual machines deployed by abnormal computing nodes in the server cluster 20. Specifically, the computing nodes in the server cluster 20 are monitored to determine the abnormal computing nodes, and the target computing nodes are determined according to the resource conditions corresponding to the server cluster 20. The virtual machines deployed by the abnormal computing nodes are evacuated to the target computing nodes, thereby realizing service monitoring and fault evacuation of the server cluster 20, and further determining the high availability of the server cluster 20. Among them, the cloud platform is used to virtualize the hardware capabilities of the data center and provide them to customers. The cloud platform includes OpenStack, VMWare vSphere, XenServer, Ovirt, etc. One or more virtual machines are deployed in the cloud platform, providing nodes for computing services, storage services, and network services.
[0034] Ginseng Figure 1 and Figure 2 As shown, a server cluster 20 is formed by at least two computing nodes and at least one control node. The computing nodes of the server cluster 20 form various resources through a virtualization system 30 and mount the resources to a virtual machine. The virtual machine abnormal evacuation system 10 includes: at least one daemon process independently deployed on at least two computing nodes and an analysis service decision service, an execution service and a database independently deployed on at least one control node. Among them, the daemon process is used to monitor the health parameters of the current computing node, the decision service is used to determine whether to perform an evacuation operation on the virtual machine deployed by the abnormal computing node based on the actual situation corresponding to the abnormal health parameters and the abnormal computing node, the execution service is used to perform an evacuation operation on the virtual machine deployed by the abnormal computing node based on whether the resource situation corresponding to the server cluster 20 supports the evacuation operation, and the database is used to store the health parameters monitored by the daemon process. Based on this, the daemon process deployed on the computing node monitors the health parameters corresponding to the current computing node, does not rely on middleware such as consul containers, reduces the complexity of the system, and solves the problem that the existing virtual machine fault evacuation method deploys special middleware to increase the complexity of the system and affects performance and stability.
[0035] Specifically, the daemon process periodically monitors the health parameters of the current computing node and stores the monitored health parameters in the database. The analysis service periodically obtains the health parameters stored in the database, analyzes the health parameters, and after analyzing the abnormality, compares the abnormal health parameters with the actual situation corresponding to the abnormal computing node to determine whether to evacuate the virtual machines deployed by the abnormal computing node. When it is determined that the virtual machines deployed with the abnormality are to be evacuated, the decision service sends an evacuation request to the execution service. The execution service responds to the evacuation request and performs an evacuation operation on the virtual machines deployed by the abnormal computing node based on whether the corresponding resource situation of the server cluster supports the evacuation operation.
[0036] It should be noted that the server cluster 20 may include multiple computing nodes and multiple control nodes, and the computing nodes include at least two, and the control node includes at least one, so that at least one control node analyzes the health parameters corresponding to at least two computing nodes and evacuates the virtual machines deployed by the abnormal computing nodes. At the same time, at least one daemon process is deployed in a computing node, that is, there may be not one, two, three, or even more daemons. Preferably, at least three daemons are deployed in the computing node to respectively monitor the health parameters corresponding to the management network of the current computing node, the health parameters corresponding to the storage network, and the health parameters corresponding to the business network, and upload them to the database respectively. Therefore, in the following description, the server cluster 20 is composed of computing node 1, computing node 2, and control node 3, and two daemons are deployed in computing node 1, and three daemons are deployed in computing node 2 as an example for exemplary description. Optionally, the virtual machine abnormal evacuation system 10 includes: at least three control nodes, and each control node independently deploys analysis services, decision services, and execution services to achieve fault tolerance.
[0037] Ginseng Figure 2As shown, daemons 11 and 12 are deployed in computing node 1, daemons 21, 22 and 23 are deployed in computing node 2, and analysis service 31, decision service 32, execution service 33 and database 34 are deployed in control node 3. Daemons 11 and 12 regularly monitor the health parameters corresponding to computing node 1, daemons 21, 22 and 23 regularly monitor the health parameters corresponding to computing node 2, and daemons 11 and 12 store the monitored health parameters corresponding to computing node 1 in database 34, and daemons 21, 22 and 23 store the monitored health parameters corresponding to computing node 2 in database 34. The analysis service 31 periodically obtains the health parameters corresponding to the computing node 1 and the health parameters corresponding to the computing node 2 stored in the database 34, and analyzes the health parameters corresponding to the computing node 1 and the health parameters corresponding to the computing node 2. If abnormal health parameters are found in the analysis, they are uploaded to the decision service 32. The decision service 32 determines whether to evacuate the virtual machines deployed by the abnormal computing nodes based on the abnormal health parameters and the actual conditions corresponding to the abnormal computing nodes corresponding to the abnormal health parameters. When it is determined that the virtual machines deployed by the abnormal computing nodes are to be evacuated, the decision service 32 sends an evacuation request to the execution service 33. The execution service 33 responds to the evacuation request and performs an evacuation operation on the virtual machines deployed by the abnormal computing nodes based on whether the resource conditions corresponding to the server cluster 20 support the evacuation operation.
[0038] It should be noted that if an abnormality occurs in a daemon process, the daemon process that has not occurred an abnormality will monitor the health parameters corresponding to the management network and / or the health parameters corresponding to the storage network and / or the health parameters corresponding to the business network corresponding to the daemon process that has occurred an abnormality, and upload them to the database 34. For example, taking computing node 1 as an example, if daemon process 11 is responsible for detecting the health parameters corresponding to the management network, daemon process 12 is responsible for detecting the health parameters corresponding to the storage network and the health parameters corresponding to the business network, and daemon process 11 has an abnormality, daemon process 12 is responsible for detecting the health parameters corresponding to the management network, the health parameters corresponding to the storage network and the health parameters corresponding to the business network, thereby achieving fault tolerance. Among them, the management network refers to the communication network between the components included in the server cluster 20, the storage network refers to the communication network between the storage components, and the business network refers to the virtual network that carries the user virtual machine. At the same time, the daemon process, analysis service, decision service and execution service communicate through remote procedure calls. Remote Procedure Call (RPC) is a computer communication protocol that allows a program running on one computer to call a subroutine in another address space (usually a computer on an open network), and the programmer does not need to program the interaction any more, just like calling a local program. RPC is a server-client model that classically implements a system that exchanges information by sending requests and receiving responses.
[0039] In addition, since the health parameters corresponding to computing node 1 and the health parameters corresponding to computing node 2 are both stored in database 34, the health parameters corresponding to computing node 1 and computing node 2 are recorded in real time in database 34. If database 34 does not record the health parameters corresponding to computing node 1 and / or computing node 2 within a set time (for example, 120 seconds), analysis service 31 analyzes whether computing node 1 and / or computing node 2 are abnormal. If it is analyzed that computing node 1 and / or computing node 2 are abnormal, decision service 32 determines whether to evacuate the virtual machine deployed by the abnormal computing node (that is, computing node 1 and / or computing node 2) based on the actual situation corresponding to the abnormal computing node (that is, computing node 1 and / or computing node 2). When it is determined that the virtual machine deployed by the abnormal computing node is to be evacuated, decision service 32 sends an evacuation request to execution service 33. Execution service 33 responds to the evacuation request and performs an evacuation operation on the virtual machine deployed by the abnormal computing node based on whether the resource situation corresponding to server cluster 20 supports the evacuation operation.
[0040] In the following description, the implementation method of the daemon process storing health parameters in the database is specifically described, and computing node 1 is used as an example for exemplary description.
[0041] In one embodiment, Figure 4 As shown, the daemon process 11 and the daemon process 12 are respectively connected to the database 34. When the daemon process 11 and the daemon process 12 monitor the health parameters corresponding to the current computing node, the daemon process 11 and the daemon process 12 directly store the monitored health parameters corresponding to the current computing node directly to the database 34. Since the daemon process (i.e., the daemon process 11 and the daemon process 12) is directly connected to the database 34, it does not rely on, for example, the communication between the daemon process and the analysis service through RabbitMQ RPC, thus avoiding the instability problem existing in relying on RabbitMQ to implement communication, and further reducing the dependence on the middleware.
[0042] In one embodiment, Figure 5 As shown, daemon process 11 and daemon process 12 respectively form connections with analysis service 31. When daemon process 11 and daemon process 12 monitor the health parameters corresponding to the current computing node, daemon process 11 and daemon process 12 upload the monitored health parameters corresponding to the current computing node to analysis service 31 (specifically implemented by RabbitMQ RPC), and analysis service 31 stores the health parameters in database 34.
[0043] In one embodiment, Figure 6 As shown, the daemon process 11 and the daemon process 12 are connected to the interface server 35 of the control node 3 respectively. When the daemon process 11 and the daemon process 12 monitor the health parameters corresponding to the current computing node, the daemon process 11 and the daemon process 12 upload the monitored health parameters corresponding to the current computing node to the interface server 35 (specifically, by calling the Http interface of the interface server 35, so as to be implemented by Http RPC), and the interface server 35 uploads the health parameters to the database 34. Since the daemon process (that is, the daemon process 11 and the daemon process 12) are connected to the interface server 35, and no longer connected to the database 34, the database 34 is protected and the security risk of the database 34 is reduced. In the present application, preferably, the daemon process 11 and the daemon process 12 store the health parameters corresponding to the computing node 1 in the database 34 through the interface server 35.
[0044] Executing the evacuation request includes: determining a target computing node from the server cluster 20, evacuating the virtual machines deployed by the abnormal computing node to the target computing node, and rebuilding the virtual machines in the target computing node. Figure 3As shown, if the analysis service 31 analyzes that the health parameters corresponding to computing node 1 are abnormal health parameters, computing node 1 is an abnormal computing node, and the target computing node (for example, computing node 2) is determined from the server cluster 20, and the virtual machines deployed by the abnormal computing node (i.e., computing node 1) are evacuated to the target computing node (i.e., computing node 2), and the virtual machines are rebuilt in the target computing node (i.e., computing node 2). Determining the target computing node from the server cluster 20 means selecting a healthy computing node from the server cluster 20 whose resource situation supports the resources required by the virtual machine deployed by the abnormal computing node. If the resource situation corresponding to the server cluster 20 does not support the evacuation operation, the interface will prompt and alarm for insufficient resources, and prompt that the evacuation failed.
[0045] Based on the same invention idea, Figure 7 As shown, the present application also discloses a method for abnormal evacuation of a virtual machine, which includes the following steps S1 to S5.
[0046] Step S1: independently deploy at least one daemon process in at least two computing nodes, and independently deploy analysis services, decision services, execution services and a database in at least one control node.
[0047] Step S2: The daemon process periodically monitors the health parameters of the current computing node and stores the monitored health parameters in a database.
[0048] Step S3: The analysis service periodically obtains the health parameters stored in the database, analyzes the health parameters, and uploads the abnormal health parameters to the decision service after an abnormality is found in the analysis.
[0049] Step S4: The decision service determines whether to evacuate the virtual machines deployed by the abnormal computing node based on the abnormal health parameters and the actual situation corresponding to the abnormal computing node, and when it is determined to evacuate the virtual machines deployed by the abnormal computing node, the decision service sends an evacuation request to the execution service.
[0050] Step S5: The execution service responds to the evacuation request and performs an evacuation operation on the virtual machines deployed by the abnormal computing node based on whether the resource situation corresponding to the server cluster supports the evacuation operation.
[0051] The series of detailed descriptions listed above are only specific descriptions of feasible implementation methods of the present invention. They are not intended to limit the scope of protection of the present invention. Any equivalent implementation methods or changes that do not deviate from the technical spirit of the present invention should be included in the scope of protection of the present invention.
[0052] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.
[0053] In addition, it should be understood that although the present specification is described according to implementation modes, not every implementation mode contains only one independent technical solution. This description of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment may also be appropriately combined to form other implementation modes that can be understood by those skilled in the art.
Claims
1. A virtual machine abnormal evacuation system, used to perform evacuation operations on virtual machines deployed by abnormal computing nodes in a server cluster, characterized in that: The virtual machine abnormal evacuation system includes: At least one daemon process independently deployed on at least two computing nodes and an analysis service, a decision service, an execution service and a database independently deployed on at least one control node; The daemon process periodically monitors the health parameters of the current computing node and stores the monitored health parameters in the database; the analysis service periodically obtains the health parameters stored in the database, analyzes the health parameters, and uploads the abnormal health parameters to the decision service after an abnormality is analyzed; the decision service determines whether to evacuate the virtual machines deployed by the abnormal computing node based on the actual conditions corresponding to the abnormal health parameters and the abnormal computing node; and when determining to evacuate the virtual machines deployed by the abnormal computing node, the decision service sends an evacuation request to the execution service; the execution service responds to the evacuation request and performs an evacuation operation on the virtual machines deployed by the abnormal computing node based on whether the resource conditions corresponding to the server cluster support the evacuation operation.
2. The virtual machine abnormal evacuation system according to claim 1, characterized in that: At least three daemons are deployed in the computing node to respectively monitor the health parameters corresponding to the management network, the storage network and the business network of the current computing node, and upload them to the database respectively.
3. The virtual machine abnormal evacuation system according to claim 2, characterized in that: If the daemon process has an abnormality, the daemon process without abnormality will monitor the health parameters corresponding to the management network and / or the health parameters corresponding to the storage network and / or the health parameters corresponding to the business network corresponding to the daemon process with the abnormality, and upload them to the database.
4. The virtual machine abnormal evacuation system according to claim 1, characterized in that: The daemon process forms a connection with the database so that the daemon process directly stores the monitored health parameters corresponding to the current computing node in the database.
5. The virtual machine abnormal evacuation system according to claim 1, characterized in that: The daemon process forms a connection with the analysis service, so that the daemon process uploads the health parameters corresponding to the monitored current computing node to the analysis service, and the analysis service stores the health parameters in the database.
6. The virtual machine abnormal evacuation system according to claim 1, characterized in that: The daemon process forms a connection with the interface server of the control node, so that the daemon process uploads the health parameters corresponding to the monitored current computing node to the interface server, and the interface server stores the health parameters in the database.
7. The virtual machine abnormal evacuation system according to claim 1, characterized in that: The daemon process, the analysis service, the decision service and the execution service communicate with each other through remote procedure calls.
8. The virtual machine abnormal evacuation system according to claim 1, characterized in that: The performing of the evacuation operation includes: determining a target computing node from the server cluster, evacuating the virtual machines deployed by the abnormal computing node to the target computing node, and rebuilding the virtual machines in the target computing node.
9. The virtual machine abnormal evacuation system according to claim 1, characterized in that: If the resource situation corresponding to the server cluster does not support the evacuation operation, it will prompt that the evacuation has failed.
10. A method for abnormal evacuation of a virtual machine, characterized in that: include: Deploy at least one daemon process independently in at least two computing nodes, and independently deploy an analysis service, a decision service, an execution service, and a database in at least one control node; The daemon process periodically monitors the health parameters of the current computing node and stores the monitored health parameters in the database; The analysis service periodically obtains the health parameters stored in the database, analyzes the health parameters, and uploads the abnormal health parameters to the decision service after an abnormality is found in the analysis; The decision service determines whether to evacuate the virtual machines deployed by the abnormal computing node based on the abnormal health parameter and the actual situation corresponding to the abnormal computing node, and when it is determined that the virtual machines deployed by the abnormal computing node are to be evacuated, the decision service sends an evacuation request to the execution service; The execution service responds to the evacuation request and performs an evacuation operation on the virtual machines deployed by the abnormal computing node based on whether the resource situation corresponding to the server cluster supports the evacuation operation.