Cloud management platform, virtual machine management method and system thereof
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2018-04-17
- Publication Date
- 2026-08-11
AI Technical Summary
[0007]因此,为了实现跨平台的虚拟机管理,现有技术需要通过人工查看代码来提炼出不同类型的云管理平台的表项之间的映射关系,方案较为复杂
Smart Images

Figure CN110520844B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular to a cloud management platform, virtual machine management method and system thereof. Background Technology
[0002] In the context of cloud computing, with the emergence of virtual machine technology, cloud services have been widely adopted. A large number of customers are constantly migrating their infrastructure to the cloud. In order to meet the growing demand of customers for cloud services, cloud service providers are constantly investing servers into resource pools to support the normal operation of cloud services. Virtual machines are set up on servers to provide cloud services.
[0003] Existing technologies offer different types of cloud management platforms, such as the OpenStack platform from the open-source community, VMware's VMware vSphere platform, and Huawei's FusionSphere platform. Cloud management platforms are used to manage virtual machines, specifically performing operations such as creating, deleting, powering on, powering off, hibernating, waking up, suspending, restarting, and migrating virtual machines.
[0004] Typically, each type of cloud management platform can only manage existing virtual machines created by itself and does not support cross-platform management of virtual machines under other types of cloud management platforms. For example, the OpenStack platform cannot manage existing virtual machines created by the VMware vSphere platform.
[0005] When cross-platform virtual machine management is required, such as configuring virtual machines created on the VMware vSphere platform to be managed by the OpenStack platform, the current industry practice is to use the query interfaces of various resource models provided by the management platform to obtain the necessary attribute information (such as virtual machine UUID (Universally Unique Identifier), virtual machine name, volume UUID, volume name, port group name, and the association between virtual machines and disks, the association between virtual machines and network cards, etc.).
[0006] The cloud management platform model contains various tables that record the attribute information of virtual machines. Due to the significant differences in model design between different types of cloud management platforms, the tables in the models of different types of cloud management platforms are not one-to-one, but have one-to-many, many-to-one, and many-to-many mapping relationships. For example, in OpenStack, the tables corresponding to virtual machines include instances, instance_type, instance_metadata, instance_system_metadata, instance_info_cache, and instance_extra, while in the VMware vSphere platform, the table corresponding to virtual machines is only tbl_vm.
[0007] Therefore, in order to achieve cross-platform virtual machine management, existing technologies require manual review of the code to extract the mapping relationships between table entries of different types of cloud management platforms, which is a relatively complex solution. Summary of the Invention
[0008] This application discloses a cloud management platform, a virtual machine management method and system, which can support cross-platform automated management of virtual machines.
[0009] Firstly, this application provides a virtual machine management method, which specifically includes the following steps: a first cloud management platform obtains the configuration information of existing virtual machines from a second cloud management platform. Specifically, the first cloud management platform and the second cloud management platform are cloud management platforms of different types. The first cloud management platform creates a proxy virtual machine locally and generates a proxy virtual machine identification code based on the configuration information of the existing virtual machines. Specifically, the proxy virtual machine identification code is used to identify the created proxy virtual machine on the first cloud management platform. The first cloud management platform sends the proxy virtual machine identification code to the second cloud management platform. The second cloud management platform updates the existing virtual machine identification code it records to the proxy virtual machine identification code.
[0010] Since the first cloud management platform creates agent virtual machines and agent virtual machine identifiers based on the configuration information obtained from the second cloud management platform, and sends the agent virtual machine identifiers to the second cloud management platform, the second cloud management platform updates the existing virtual machine identifiers to the agent virtual machine identifiers. During later maintenance, it is only necessary to input the agent virtual machine identifier code and the corresponding management command into the first cloud management platform, and the first cloud management platform will send the agent virtual machine identifier code and the corresponding management command to the second cloud management platform. This enables the management of existing virtual machines managed by the second cloud management platform through the first cloud management platform, thus achieving cross-platform automated management of virtual machines.
[0011] In one implementation of this application, the step of the first cloud management platform creating a proxy virtual machine and generating a proxy virtual machine identifier code locally based on the configuration information of the existing virtual machine specifically includes the following sub-steps: First, the first cloud management platform creates a proxy network resource and generates a proxy network resource identifier code for identifying the proxy network resource on the first cloud management platform. Second, the first cloud management platform creates a proxy storage resource and generates a proxy storage resource identifier code for identifying the proxy storage resource on the first cloud management platform. It is worth noting that the creation order of the network resource and storage resource can be adjusted as needed. After the network resource and storage resource are created, the virtual machine can be created based on the network resource and storage resource. The virtual machine association module queries the hardware configuration and existing virtual machine identifier code of the existing virtual machine recorded on the second cloud management platform. The existing virtual machine identifier code is used to identify the existing virtual machine on the second cloud management platform. The virtual machine association module sends the hardware configuration and existing virtual machine identifier code to the first cloud management platform. The first cloud management platform creates a proxy virtual machine and generates a proxy virtual machine identifier code based on the hardware configuration, the proxy network resource identifier code, and the proxy storage resource identifier code.
[0012] The first cloud management platform in this application adopts the OpenStack architecture, which requires the integration of network resources, storage resources and hardware configurations to create virtual machines. Therefore, it is necessary to first create proxy network resources and proxy storage resources, and then further integrate the proxy network resources and proxy storage resources with the queried hardware configurations to create proxy virtual machines.
[0013] In another implementation of this application, the first cloud management platform simultaneously sends the agent virtual machine identifier code and the existing virtual machine identifier code to the second cloud management platform.
[0014] When there is more than one virtual machine to be taken over, the first cloud management platform simultaneously sends the agent virtual machine identifier and the existing virtual machine identifier to the second cloud management platform. The second management platform can look up the existing virtual machine identifier stored in its own storage based on the received existing virtual machine identifier and update the existing virtual machine identifier stored in its own storage with the agent virtual machine identifier corresponding to the received existing virtual machine identifier.
[0015] In another implementation of this application, the configuration information also includes the network configuration and existing network resource identifier of the existing virtual machine's existing network resources. The creation of proxy network resources and the generation of proxy network resource identifiers by the first cloud management platform for identification on the first cloud management platform are specifically implemented as follows: The virtual machine association module queries the second cloud management platform for the network configuration and existing network resource identifiers of the existing virtual machine's existing network resources recorded on the second cloud management platform. Specifically, the virtual machine association module can be set as a component of the first cloud management platform, or it can be independent of the first and second cloud management platforms. The existing network resource identifier is used to identify the existing network resources of the existing virtual machine on the second cloud management platform. The virtual machine association module sends the network configuration and existing network resource identifier to the first cloud management platform. The first cloud management platform creates proxy network resources and generates proxy network resource identifiers according to the network configuration. The first cloud management platform sends the proxy network resource identifier and existing network resource identifier to the second cloud management platform. The second cloud management platform updates its own recorded existing network resource identifier to the proxy network resource identifier.
[0016] By taking over the existing network resources of the second cloud management platform, the first cloud management platform enables the created agent virtual machines to have the same network configuration as the existing virtual machines. Furthermore, when the virtual machine association module is independent of the first and second cloud management platforms, modifications to the first and second cloud management platforms can be avoided.
[0017] In another implementation of this application, the configuration information also includes the storage configuration and existing storage resource identifier of the existing virtual machine's existing storage resources. The creation of proxy storage resources and the generation of proxy storage resource identifiers by the first cloud management platform are specifically implemented as follows: The virtual machine association module queries the second cloud management platform for the storage configuration and existing storage resource identifiers of the existing virtual machine's existing storage resources recorded on the second cloud management platform. Specifically, the existing storage resource identifier is used by the second cloud management platform to identify the existing storage resources of the existing virtual machine. The virtual machine association module sends the storage configuration and existing storage resource identifier to the first cloud management platform. The first cloud management platform creates proxy storage resources and generates proxy storage resource identifiers according to the storage configuration. The first cloud management platform sends the proxy storage resource identifier and existing storage resource identifier to the second cloud management platform. The second cloud management platform updates its own recorded existing storage resource identifier to the proxy storage resource identifier.
[0018] The first cloud management platform can take over the existing storage resources of the second cloud management platform, enabling the created agent virtual machines to have the same storage configuration as the existing virtual machines.
[0019] In another implementation of this application, the first cloud management platform provides a user interaction interface and receives virtual machine management commands for managing virtual machine identifiers from the user interaction interface. When the first cloud management platform determines that the virtual machine identifier is a proxy virtual machine identifier, it sends the virtual machine management command to the second cloud management platform. Specifically, the virtual machine management command carries the proxy virtual machine identifier. The second cloud management platform receives the virtual machine management command and manages the existing virtual machines corresponding to the proxy virtual machine identifier.
[0020] Since the existing virtual machine identifiers of the second cloud management platform have been updated to the proxy virtual machine identifiers created by the first cloud management platform, the first cloud management platform only needs to forward the management commands for managing the proxy virtual machine identifiers to the second cloud management platform. The second cloud management platform can then manage the virtual machines corresponding to the proxy virtual machine identifiers it stores based on the received proxy virtual machine identifiers, thus achieving cross-platform management of existing virtual machines.
[0021] In another implementation of this application, the hardware configuration includes processor clock speed, number of processors and memory capacity; the storage configuration includes volume UUID (Universally Unique Identifier), volume name and volume size; and the network configuration includes port group ID, virtual LAN ID, port ID, IP address, MAC address, subnet ID and CIDR (Classless Inter-Domain Routing) network segment.
[0022] Secondly, this application provides a virtual machine management system, which includes a first cloud management platform and a second cloud management platform. The first cloud management platform is used to obtain the configuration information of existing virtual machines from the second cloud management platform. Specifically, the first cloud management platform and the second cloud management platform are cloud management platforms of different types. The first cloud management platform is also used to create proxy virtual machines locally based on the configuration information of existing virtual machines and generate proxy virtual machine identification codes. Specifically, the proxy virtual machine identification codes are used to identify the created proxy virtual machines on the first cloud management platform. Furthermore, the first cloud management platform is also used to send the proxy virtual machine identification codes to the second cloud management platform. The second cloud management platform is used to update the existing virtual machine identification codes it records to the proxy virtual machine identification codes.
[0023] The second aspect or any implementation of the second aspect is the system implementation corresponding to the first aspect or any implementation of the first aspect. The description in the first aspect or any implementation of the first aspect applies to the second aspect or any implementation of the second aspect, and will not be repeated here.
[0024] Thirdly, this application provides a virtual machine management method, including: a first cloud management platform obtaining configuration information of existing virtual machines from a second cloud management platform, specifically, the first cloud management platform and the second cloud management platform are cloud management platforms of different types; the first cloud management platform creating a proxy virtual machine locally and generating a proxy virtual machine identification code based on the configuration information of the existing virtual machines; specifically, the proxy virtual machine identification code is used to identify the created proxy virtual machine on the first cloud management platform; and the first cloud management platform sending the proxy virtual machine identification code to the second cloud management platform.
[0025] Since the first cloud management platform creates agent virtual machines and agent virtual machine identifiers based on the configuration information obtained from the second cloud management platform, and sends the agent virtual machine identifiers to the second cloud management platform, the second cloud management platform updates the existing virtual machine identifiers to the agent virtual machine identifiers. During later maintenance, it is only necessary to input the agent virtual machine identifier code and the corresponding management command into the first cloud management platform, and the first cloud management platform will send the agent virtual machine identifier code and the corresponding management command to the second cloud management platform. This enables the management of existing virtual machines managed by the second cloud management platform through the first cloud management platform, thus achieving cross-platform automated management of virtual machines.
[0026] Fourthly, this application provides a cloud management platform, which includes a virtual machine association module and a computing module. The virtual machine management module is used to obtain the configuration information of existing virtual machines from another cloud management platform. Specifically, the cloud management platform and the other cloud management platform are cloud management platforms of different types. The computing module is used to create a proxy virtual machine locally based on the configuration information of the existing virtual machine and generate a proxy virtual machine identification code, and send the proxy virtual machine identification code to the other cloud management platform. Specifically, the proxy virtual machine identification code is used to identify the created proxy virtual machine on the cloud management platform.
[0027] The fourth aspect or any implementation of the fourth aspect is the method implementation corresponding to the third aspect or any implementation of the third aspect. The description in the third aspect or any implementation of the third aspect applies to the fourth aspect or any implementation of the fourth aspect, and will not be repeated here.
[0028] Fifthly, this application provides a host computer including a processor, a memory, and a bus. The processor and the memory are respectively connected to the bus. The memory stores program instructions, and the processor executes the program instructions to run the method described in the third aspect.
[0029] Sixthly, this application provides a virtual machine management system, including a first cloud management platform and a second cloud management platform. The first cloud management platform is used to obtain configuration information of existing virtual machines from the second cloud management platform. The first cloud management platform and the second cloud management platform are cloud management platforms of different types. The first cloud management platform is also used to create proxy virtual machines locally based on the configuration information of existing virtual machines and generate proxy virtual machine identification codes. The proxy virtual machine identification codes are used to identify the created proxy virtual machines on the first cloud management platform. The first cloud management platform is also used to send the proxy virtual machine identification codes to the second cloud management platform. The second cloud management platform is used to record the correspondence between the existing virtual machine identification codes and the proxy virtual machine identification codes it records.
[0030] Since the first cloud management platform creates agent virtual machines and agent virtual machine identifiers based on the configuration information obtained from the second cloud management platform, and sends the agent virtual machine identifiers to the second cloud management platform, the second cloud management platform can record the correspondence between existing virtual machine identifiers and agent virtual machine identifiers. During later maintenance, it is only necessary to input the agent virtual machine identifier code and the corresponding management command into the first cloud management platform, and the first cloud management platform will send the agent virtual machine identifier code and the corresponding management command to the second cloud management platform. This enables the management of existing virtual machines managed by the second cloud management platform through the first cloud management platform, thus achieving cross-platform automated management of virtual machines.
[0031] In one implementation of this application, the configuration information includes the hardware configuration and virtual machine identifier of the existing virtual machine. The cloud management system further includes a virtual machine association module, a first cloud management platform for creating proxy network resources and generating a proxy network resource identifier for identifying the proxy network resources on the first cloud management platform, the first cloud management platform for creating proxy storage resources and generating a proxy storage resource identifier for identifying the proxy storage resources on the first cloud management platform, the virtual machine association module for querying the hardware configuration and virtual machine identifier of the existing virtual machine recorded on the second cloud management platform, the virtual machine identifier being used to identify the existing virtual machine on the second cloud management platform, the virtual machine association module for sending the hardware configuration and virtual machine identifier to the first cloud management platform, and the first cloud management platform for creating a proxy virtual machine and generating a proxy virtual machine identifier based on the hardware configuration, proxy network resource identifier, and proxy storage resource identifier.
[0032] The first cloud management platform in this application adopts the OpenStack architecture, which requires the integration of network resources, storage resources and hardware configurations to create virtual machines. Therefore, it is necessary to first create proxy network resources and proxy storage resources, and then further integrate the proxy network resources and proxy storage resources with the queried hardware configurations to create proxy virtual machines.
[0033] In another implementation of this application, the first cloud management platform is specifically used to send the agent virtual machine identifier code and the existing virtual machine identifier code to the second cloud management platform.
[0034] When there is more than one virtual machine to be taken over, the first cloud management platform simultaneously sends the agent virtual machine identifier and the existing virtual machine identifier to the second cloud management platform. The second management platform can look up the existing virtual machine identifier stored in its own storage based on the received existing virtual machine identifier and update the existing virtual machine identifier stored in its own storage with the agent virtual machine identifier corresponding to the received existing virtual machine identifier.
[0035] In another implementation of this application, the configuration information also includes the network configuration and existing network resource identifier of the existing virtual machine's existing network resources. The virtual machine association module is also used to query the network configuration and existing network resource identifier of the existing virtual machine's existing network resources recorded on the second cloud management platform. The existing network resource identifier is used to identify the existing network resources of the existing virtual machine on the second cloud management platform. The virtual machine association module is also used to send the network configuration and existing network resource identifier to the first cloud management platform. The first cloud management platform is also used to create a proxy network resource and generate a proxy network resource identifier based on the network configuration. The first cloud management platform is also used to send the proxy network resource identifier and the existing network resource identifier to the second cloud management platform. The second cloud management platform is also used to record the correspondence between the existing network resource identifier and the proxy network resource identifier.
[0036] By taking over the existing network resources of the second cloud management platform, the first cloud management platform enables the created agent virtual machines to have the same network configuration as the existing virtual machines. Furthermore, when the virtual machine association module is independent of the first and second cloud management platforms, modifications to the first and second cloud management platforms can be avoided.
[0037] In another implementation of this application, the configuration information further includes the storage configuration and existing storage resource identifier of the existing virtual machine's existing storage resources. The virtual machine association module is also used to query the storage configuration and existing storage resource identifier of the existing virtual machine's existing storage resources recorded on the second cloud management platform. The existing storage resource identifier is used to identify the existing storage resources of the existing virtual machine on the second cloud management platform. The virtual machine association module is also used to send the storage configuration and existing storage resource identifier to the first cloud management platform. The first cloud management platform is also used to create a proxy storage resource and generate a proxy storage resource identifier based on the storage configuration. The first cloud management platform is also used to send the proxy storage resource identifier and the existing storage resource identifier to the second cloud management platform. The second cloud management platform is also used to record the correspondence between the existing storage resource identifier and the proxy storage resource identifier.
[0038] The first cloud management platform can take over the existing storage resources of the second cloud management platform, enabling the created agent virtual machines to have the same storage configuration as the existing virtual machines.
[0039] In another implementation of this application, the first cloud management platform is further configured to provide a user interaction interface and receive virtual machine management commands for managing virtual machine identifiers from the user interaction interface. The first cloud management platform is further configured to send virtual machine management commands to the second cloud management platform when it is determined that the virtual machine identifier is a proxy virtual machine identifier. The virtual machine management commands carry the proxy virtual machine identifier. The second cloud management platform is further configured to receive the virtual machine management commands and manage the existing virtual machines corresponding to the proxy virtual machine identifier.
[0040] Since the existing virtual machine identifiers of the second cloud management platform have been updated to the proxy virtual machine identifiers created by the first cloud management platform, the first cloud management platform only needs to forward the management commands for managing the proxy virtual machine identifiers to the second cloud management platform. The second cloud management platform can then manage the virtual machines corresponding to the proxy virtual machine identifiers it stores based on the received proxy virtual machine identifiers, thus achieving cross-platform management of existing virtual machines.
[0041] Seventhly, this application provides a virtual machine management system, which includes a first cloud management platform and a second cloud management platform. The first cloud management platform is used to obtain the configuration information of existing virtual machines from the second cloud management platform. Specifically, the first cloud management platform and the second cloud management platform are cloud management platforms of different types. The first cloud management platform is also used to create agent virtual machines locally based on the configuration information of existing virtual machines and generate agent virtual machine identification codes. Specifically, the agent virtual machine identification codes are used to identify the created agent virtual machines on the first cloud management platform. Furthermore, the first cloud management platform is also used to send the agent virtual machine identification codes to the second cloud management platform. The second cloud management platform is used to record the correspondence between the agent virtual machine identification codes and the existing virtual machine identification codes.
[0042] The seventh aspect or any implementation thereof is the system implementation corresponding to the sixth aspect or any implementation thereof. The description in the sixth aspect or any implementation thereof applies to the seventh aspect or any implementation thereof, and will not be repeated here. Attached Figure Description
[0043] Figure 1 This is a schematic diagram of the structure of a virtual machine takeover system according to an embodiment of the present invention;
[0044] Figure 2 The diagram shows a flowchart of a method for creating an existing virtual machine by an existing virtual machine management node according to an embodiment of the present invention;
[0045] Figure 3 This is a data interaction diagram of the takeover method according to an embodiment of the present invention;
[0046] Figure 4 This is a schematic diagram of the device structure of a storage node according to an embodiment of the present invention;
[0047] Figure 5 This is a schematic diagram of the device structure of a network node according to an embodiment of the present invention;
[0048] Figure 6 This is another data interaction diagram of the takeover method according to an embodiment of the present invention;
[0049] Figure 7 This is a schematic diagram of the device structure of a computing node according to an embodiment of the present invention;
[0050] Figure 8 This is a flowchart illustrating the management of existing virtual machines on the OpenStack platform according to an embodiment of the present invention;
[0051] Figure 9 This is a schematic diagram of the device structure of a host according to an embodiment of the present invention;
[0052] Figure 10This is another data interaction diagram of the takeover method according to an embodiment of the present invention. Detailed Implementation
[0053] The technical solutions in the embodiments of the present invention will now be clearly and completely described in conjunction with the accompanying drawings.
[0054] It is worth noting that the first cloud management platform described in the embodiments of the present invention includes, but is not limited to, OpenStack, vCloudStack, FusionSphere, VMware vSphere, KVM, and Citrix platforms, and the second cloud management platform includes, but is not limited to, OpenStack, vCloudStack, FusionSphere, VMware vSphere, KVM, and Citrix platforms. For ease of explanation, in the embodiments of the present invention, OpenStack is specifically used as the first cloud management platform and VMware vSphere as the second cloud management platform for specific description, wherein the first cloud management platform and the second cloud management platform are different types of platforms.
[0055] Please see first. Figure 1 , Figure 1 This is a schematic diagram of the structure of a virtual machine takeover system according to an embodiment of the present invention, as shown below. Figure 1 As shown, the virtual machine takeover system according to an embodiment of the present invention includes a virtual machine association module 11, an OpenStack platform 10, and a VMware vSphere platform, wherein the VMware vCenter 20 platform includes VMware vCenter 20 and VMware ESXI 321.
[0056] In this embodiment of the invention, the virtual machine association module 11, the OpenStack platform 10, the VMware vCenter 20, and the VMware ESXI 321 can be set on the same or different hosts.
[0057] exist Figure 1 In the example, the virtual machine association module 11 and the OpenStack platform 10 are set on physical host 1, VMware vCenter 20 is set on physical host 2, and VMware ESXi 321 is set on physical host 3.
[0058] Physical host 1 is also equipped with hardware 13 and operating system 12. Virtual machine association module 11 and OpenStack platform 10 run on operating system 12. Hardware 13 includes physical network card 131. Virtual machine association module 11 and OpenStack platform 10 can send or receive packets through physical network card 131. Physical host 2 is also equipped with hardware 22 and operating system 21. VMware vCenter 20 runs on operating system 21. Hardware 22 includes physical network card 221. VMware vCenter 20 can send or receive packets through physical network card 221. Physical host 3 is also equipped with hardware 33 and operating system 32. VMware ESXi 321 runs on operating system 32. Hardware 33 includes physical network card 331. VMware vCenter 20 can send or receive packets through physical network card 331.
[0059] Furthermore, physical host 1, physical host 2, and physical host 3 set their network addresses through their own physical network cards and connect to network 40.
[0060] It is worth noting that, Figure 1 Only one VMware ESXi 321 is shown, but multiple VMware ESXi 321s can be set up in this embodiment of the invention. One VMware vCenter 20 can correspond to multiple VMware ESXi 321s, and each VMware ESXi 321 is set up on a physical host.
[0061] In this embodiment of the invention, VMware vCenter 20 and VMware ESXI 321 can communicate via internal commands.
[0062] For example, please see Figure 2 , Figure 2 This invention illustrates a method for creating an existing virtual machine using an existing virtual machine management node according to an embodiment of the present invention. Specifically, the method for VMware vCenter 20 to create virtual machine 31 includes:
[0063] Step S301: VMware vCenter 20 provides a human-computer interaction interface and receives user input for creating a virtual machine from the human-computer interaction interface. The request includes information such as the network configuration, storage configuration, hardware configuration, and virtual machine name of the virtual machine to be created.
[0064] The hardware configuration includes processor clock speed, number of processors, and memory capacity; the storage configuration includes volume UUID (Universally Unique Identifier), volume name, and volume size; and the network configuration includes port group ID, virtual LAN ID, port ID, IP address, MAC address, subnet ID, and CIDR (Classless Inter-Domain Routing) network segment.
[0065] Step S302: VMware vCenter 20 creates virtual machine 31 locally based on the information. The steps of creating virtual machine 31 locally specifically include: generating multiple entries for virtual machine 31 locally. The multiple entries record the network resources corresponding to the network configuration and the network resource identifier code of the network resources, the storage resources corresponding to the storage configuration and the storage resource identifier code, the hardware configuration and the virtual machine identifier code.
[0066] Step S303: VMware vCenter 20 issues a command to create virtual machine 31 to VMware ESXi 321. This step specifically includes: VMware vCenter 20 selects a physical host 3 that meets the criteria, and sends entries containing network resources, storage resources, hardware resources, and virtual machine identifiers to VMware ESXi 321 on physical host 3.
[0067] Step S304: VMware ESXi 321 allocates the corresponding network resources, storage resources and hardware resources from physical host 3 to create virtual machine 31.
[0068] In this embodiment of the invention, since the OpenStack platform needs to manage the virtual machine 31 created by VMware vCenter 20, the virtual machine 31 will be referred to as the existing virtual machine in the following text, and the network resource identifier, storage resource identifier and virtual machine identifier of the existing virtual machine 31 will be referred to as the existing network resource identifier, the existing storage resource identifier and the existing virtual machine identifier, respectively.
[0069] Furthermore, VMware vCenter 20 is equipped with interface 201 and database 202, which records table entries generated during the creation of existing virtual machines. In this embodiment of the invention, interface 201 discloses information such as the network configuration and identifier of existing network resources, the storage configuration and identifier of existing storage resources, and the hardware configuration and identifier of existing virtual machines to the outside world.
[0070] Furthermore, the existing virtual machine identifier, existing network resource identifier, and existing storage resource identifier of the existing virtual machine 31 can be modified through interface 201.
[0071] Furthermore, the OpenStack platform 10 includes a compute module 101, a storage module 102, and a network module 103. The storage module 102 is used to create storage resources and generate storage resource identifiers, the network module 103 is used to create network resources and generate network resource identifiers, and the compute module 101 is used to create virtual machines and generate virtual machine identifiers. It is worth noting that the compute module 101, storage module 102, and network module 103 are not limited to... Figure 1 As shown, the computing module 101, storage module 102, and network module 103 are all located on the same physical host 1. In an optional embodiment of the present invention, the computing module 101, storage module 102, and network module 103 may be located on different physical hosts.
[0072] Specifically, storage module 102 creates storage resources by generating tables related to storage resources in its database (described in detail below); network module 103 creates network resources by generating tables related to network resources in its database (described in detail below); and Nova module 103 creates virtual machines by generating tables related to virtual machines in its database (described in detail below).
[0073] This embodiment of the invention incorporates the virtual machine 31 managed by VMware vCenter 20 into the OpenStack platform 10, allowing the OpenStack platform 10 to manage the virtual machine 31 across platforms. For details of its implementation, please refer to [link to relevant documentation]. Figure 3 ,in Figure 3 This is a data interaction diagram of the takeover method according to an embodiment of the present invention.
[0074] like Figure 3 As shown, the takeover method according to an embodiment of the present invention includes:
[0075] Step 401: The virtual machine association module 11 receives a takeover request, which includes the network address of the VMware vCenter20 and the network address of the OpenStack platform 10.
[0076] For example, the network address of VMware vCenter 20 can be the IP address of physical host 2 and the port of VMware vCenter 20 on the operating system 21 of physical host 2. The network address of OpenStack platform 10 can be the IP address of physical host 1 and the port of OpenStack platform 10 on the operating system 12. The virtual machine association module 11 can publish a human-computer interaction page on physical host 1 via a web page. The user enters the above network address in the input box of the human-computer interaction page and clicks the "Start Takeover" button, thereby causing the virtual machine association module 11 to receive the takeover request.
[0077] Step 402: The virtual machine association module 11 sends a first notification message to the OpenStack platform 10. The first notification message is used to notify the storage module 102 of the OpenStack platform 10 to switch from the normal working mode to the takeover mode.
[0078] Step 403: OpenStack Platform 10 switches from normal working mode to takeover mode.
[0079] Specifically, the storage module 102 receives a first notification message and switches from the normal working mode to the takeover mode according to the first notification message.
[0080] For example, see Figure 4 , Figure 4 This is a schematic diagram of the device structure of a storage node according to an embodiment of the present invention. For example, the storage module 102 may be a Cinder module. The Cinder module includes a Cinder API interface 1021, a Queue 1022, a Cinder volume service 1023, a volumeDriver 1024, a database 1025, a Virt driver 1024, and a first mode switching unit 1026.
[0081] The first mode switching unit 1026 is used to receive the first notification message and modify the configuration file according to the first notification, so that the Cinder volume service 1023 loads the simulated creation driver file 2, thereby switching to the takeover mode.
[0082] Cinder API interface 1021 is used to receive external commands and read or write to database 1025. Cinder API interface 1021 communicates with Cinder volume service 1023 through Queue 1022. Cinder volume service 1023 can load regular driver file 1 or simulated driver file 2, where simulated driver file 2 is a subclass of regular driver file 1.
[0083] Virt driver 1024 records the network address of VMware vCenter 20 and can access VMware vCenter 20's interface 201.
[0084] When Cinder volume service 1023 loads regular driver file 1, Cinder volume service 1023 executes regular logic: creating storage resources and generating storage resource identifiers based on the storage configuration received from Cinder API interface 1021. Specifically, creating storage resources involves generating table entries that record storage resources; storing the table entries in database 1025; and sending the table entries and storage resource identifiers to Nova-compute (described in detail below), so that Nova-compute can allocate the corresponding storage resources on the hardware resource pool.
[0085] When Cinder volume service 1023 loads the simulated creation driver file 2, Cinder volume service 1023 executes the takeover logic: after loading the simulated creation driver file 2 and restarting the service, it sends a first confirmation message to virtual machine association module 11 (the first confirmation message will be described in detail below); it creates a takeover storage resource and generates a proxy storage resource identifier code according to the storage configuration received by Cinder API interface 1021, wherein creating the takeover storage resource specifically involves generating a table entry to record the takeover storage resource; it stores the table entry in database 1025; it records the existing storage resource identifier code received by Cinder API interface 1021 and the generated proxy storage resource identifier code in database 1025; it sends the proxy storage resource identifier code and the existing storage resource identifier code to VMware vCenter 20; after Virt driver 1024 receives the second confirmation message, it sends a third confirmation message to virtual machine association module 11 (the second and third confirmation messages will be described in detail below).
[0086] In this step, after receiving the first notification message, the first mode switching unit 1026 modifies the configuration file of the Cindervolume service and controls the Cinder volume service 1023 to restart, so that the Cinder volume service 1023 loads the simulated creation driver file, thereby controlling the Cinder module 102 to switch from the normal working mode to the takeover working mode.
[0087] Step 404: OpenStack platform 10 sends a first confirmation message to virtual machine association module 11. The first confirmation message is used to notify virtual machine association module 11 that storage module 102 has switched to takeover mode.
[0088] Specifically, after the storage module 102 switches from the normal working mode to the takeover working mode, it sends the first confirmation information to the virtual machine association module 11.
[0089] Step 405: The virtual machine association module 11 sends a storage configuration query request to VMware vCenter 20. The storage configuration query request is used to query the storage configuration and existing storage resource identification code of the existing storage resources of the existing virtual machine 31 on VMware vCenter 20 through the interface 201 of VMware vCenter 20 in the database 202.
[0090] The storage configuration includes the volume UUID (Universally Unique Identifier), volume name, and volume size.
[0091] Step 406: VMware vCenter 20 sends the storage configuration and existing storage resource identifier of the existing virtual machine to the virtual machine association module 11.
[0092] In this step, VMware vCenter 20 queries the database 202 for the storage configuration and storage resource identifier of the existing storage resources of the existing virtual machine 31 based on the storage configuration query request, and sends the query results to the virtual machine association module 11.
[0093] Step 407: The virtual machine association module 11 sends the storage configuration and the existing storage resource identification code of the existing virtual machine to the OpenStack platform 10.
[0094] In this step, the storage module 102 receives the storage configuration and the existing storage resource identifier of the existing virtual machine 31 through the Cinder API interface.
[0095] Step 408: OpenStack Platform 10 creates takeover storage resources and generates takeover storage identifiers based on the storage configuration.
[0096] In this step, after the Cinder API interface receives the storage configuration and the existing storage resource identifier of the existing virtual machine 31, it stores the existing storage resource identifier in the database 1025 and sends the storage configuration to the Queue 1022. The Cinder volume service 1023 obtains the storage configuration from the Queue 1022 and creates a takeover storage resource and generates a proxy storage resource identifier based on the storage configuration. Specifically, creating the takeover storage resource involves generating a table entry that records the takeover storage resource and storing the table entry that records the takeover storage resource and the table entry that records the proxy storage resource identifier in the database 1025.
[0097] Step 409: OpenStack platform 10 sends the existing storage resource identifier and the proxy storage resource identifier to VMware vCenter 20.
[0098] For example, Cinder volume service 1023 accesses VMware vCenter 20 interface 201 through Virt driver 1024. Virt driver 1024 enters a command to update the existing storage resource identifier with the proxy storage resource identifier in interface 201 by calling the VMware vCenter 20 API.
[0099] Step 410: VMware vCenter 20 updates its own recorded existing storage resource identifiers to the proxy storage resource identifiers.
[0100] For example, after VMware vCenter 20 receives the existing storage resource identifier and the proxy storage resource identifier sent by Virt driver 1024 at interface 201, it looks up the existing storage resource identifier in its own database 202 and updates the existing storage resource identifier with the proxy storage resource identifier.
[0101] Step 411: VMware vCenter 20 sends a second confirmation message to OpenStack platform 10, wherein the second confirmation message is used to notify OpenStack platform 10 that the existing storage resource identifier has been updated.
[0102] For example, VMware vCenter 20 sends a second confirmation message to Virt driver 1024, and Virt driver 1024 notifies Cinder volume service 1023 that VMware vCenter 20 has completed updating the existing storage resource identifier based on the second confirmation message.
[0103] Step 412: OpenStack platform 10 sends a third confirmation message to virtual machine association module 11, wherein the third confirmation message notifies virtual machine association module 11 that storage module 102 has completed the takeover function.
[0104] For example, Cinder volume service 1023 sends a third confirmation message to virtual machine association module 11 to notify virtual machine association module 11 that storage module 102 has completed network resource takeover.
[0105] Step 413: The virtual machine association module 11 sends a second notification message to the OpenStack platform 10. The second notification message is used to notify the network module 103 of the OpenStack platform 10 to switch from the normal working mode to the takeover mode.
[0106] For example, the virtual machine association module 11 can send a second notification message to the network module 103 of the OpenStack platform 10.
[0107] Step 414: Network module 103 switches from normal operating mode to takeover mode.
[0108] Specifically, see Figure 5 , Figure 5 This is a schematic diagram of the device structure of a network node according to an embodiment of the present invention. For example, the network module 103 may be a Neutron module. The Neutron module includes a neuton-server interface 1031, a queue 1032, a vc-12-agent service 1033, a second mode switching unit 1035, and a database 1034.
[0109] The neuton-server interface 1031 can receive external commands and read or write to the database 1034. The neuton-server interface 1031 communicates with the vc-12-agent service 1033 through the Queue 1032. The vc-12-agent service 1033 can load the regular driver file 3 or simulate the creation of the driver file 4, where the simulated creation of the driver file 4 is a subclass of the regular driver file 3.
[0110] The vc-12-agent service 1033 records the network address of VMware vCenter 20 and can access VMware vCenter 20's interface 201.
[0111] When the vc-12-agent service 1033 loads the regular driver file 3, the vc-12-agent service 1033 executes the logic of the regular Neuton service: it creates network resources and generates network resource identifiers based on the network configuration received from the neuton-server interface 1031. Specifically, creating network resources involves generating table entries that record network resources and recording these entries in the database 1025. The network resource identifier and the table entries containing the network resources are then sent to Nova-compute.
[0112] When the vc-12-agent service 1033 loads the simulated creation driver file 4, the vc-12-agent service 1033 executes the takeover logic: after loading the simulated creation driver file 4, it sends a fourth confirmation message to the virtual machine association module 11 (the fourth confirmation message is described in detail below); it creates takeover network resources and generates proxy network resource identifiers according to the network configuration received by the neuton-server interface 1031. Specifically, creating takeover network resources involves generating table entries to record takeover network resources and recording the table entries in the database 1034; it records the generated proxy network resource identifier and the existing network resource identifier received by the neuton-server interface 1031 in the database 1034; it sends the proxy network resource identifier and the existing network resource identifier to VMware vCenter 20; and after receiving the fifth confirmation message, it sends a sixth confirmation message to the virtual machine association module 11 (the fifth and sixth confirmation messages are described in detail below).
[0113] The second mode switching unit 1035 is used to receive the second notification message. After receiving the second notification message, the second mode switching unit 1035 modifies the configuration file of the vc-12-agent service 1033, so that the vc-12-agent service 1033 loads the simulation creation driver file 4 for takeover, thereby switching the network module 103 from the normal working mode to the takeover working mode.
[0114] Step 415: OpenStack platform 10 sends a fourth confirmation message to virtual machine association module 11. The fourth confirmation message is used to notify virtual machine association module 11 that network module 103 has switched to takeover mode.
[0115] For example, after loading the simulated creation driver file 4, the vc-12-agent service 1033 of the network module 103 sends a fourth confirmation message to the virtual machine association module 11.
[0116] Step 416: The virtual machine association module 11 sends a network configuration query request to VMware vCenter 20. The network configuration query request is used to query the network configuration and existing network resource identifier of the existing network resources of the existing virtual machine 31 on VMware vCenter 20 through the interface 201 of VMware vCenter 20 in the database 202.
[0117] The network configuration includes port group ID, virtual LAN ID, port ID, IP address, MAC address, subnet ID, and CIDR (Classless Inter-Domain Routing) network segment.
[0118] Step 417: VMware vCenter 20 sends the network configuration and existing network resource identifier of the existing virtual machine's existing network resources to the virtual machine association module 11.
[0119] In this step, VMware vCenter 20 queries the database 202 for the network configuration and network resource identifier of the existing network resources of the existing virtual machine 31 based on the network configuration query request, and sends the query results to the virtual machine association module 11.
[0120] Step 418: The virtual machine association module 11 sends the network configuration and network resource identification code of the existing virtual machine's existing network resources to the OpenStack platform 10.
[0121] In this step, the virtual machine association module 11 sends the network configuration and existing network resource identification code of the existing virtual machine to the neuton-server interface 1031 of the network module 103.
[0122] Step 419: OpenStack Platform 10 creates takeover network resources and generates a takeover network identifier code based on the network configuration.
[0123] In this step, after receiving the network configuration and network resource identifier of the existing network resources of the existing virtual machine from the neuton-server interface 1031, the existing network resource identifier is stored in the database 1034, and the network configuration is sent to the queue 1032. The vc-12-agent service 1033 obtains the network configuration from the queue 1032 and creates takeover network resources and generates proxy network resource identifiers according to the network configuration. Specifically, creating takeover network resources involves generating table entries that record takeover network resources and storing the table entries that record takeover network resources and the table entries that record proxy network resource identifiers in the database 1025.
[0124] Step 420: OpenStack platform 10 sends the existing network resource identifier and the proxy network resource identifier to VMware vCenter 20.
[0125] For example, vc-12-agent service 1033 accesses VMware vCenter 20 interface 201 and enters a command to update the existing network resource identifier with the agent network resource identifier in interface 201 by calling the VMware vCenter 20 API.
[0126] Step 421: VMware vCenter 20 updates its own existing network resource identifiers to the proxy network resource identifiers.
[0127] For example, after VMware vCenter 20 receives the existing network resource identifier and the proxy network resource identifier sent by the vc-12-agent service 1033 at interface 201, it looks up the existing network resource identifier in its own database 202 and updates the existing network resource identifier with the proxy network resource identifier.
[0128] Step 422: VMware vCenter 20 sends a fifth confirmation message to OpenStack platform 10, which is used to notify OpenStack platform 10 that the existing network resource identifiers have been updated.
[0129] For example, VMware vCenter 20 sends a fifth confirmation message to the vc-12-agent service 1033, and the vc-12-agent service 1033 learns from the fifth confirmation message that the existing network resource identifier of VMware vCenter 20 has been updated.
[0130] Step 423: OpenStack platform 10 sends a sixth confirmation message to virtual machine association module 11, in which the sixth confirmation message notifies virtual machine association module 11 that network module 103 has completed the takeover function.
[0131] For example, vc-12-agent service 1033 sends a sixth confirmation message to virtual machine association module 11 to notify virtual machine association module 11 that network module 103 has completed the takeover function.
[0132] Please see below Figure 6 , Figure 6 Accept Figure 3 This is another data interaction diagram of the takeover method according to an embodiment of the present invention.
[0133] like Figure 6 As shown, the takeover method according to an embodiment of the present invention further includes the following steps:
[0134] Step 424: The virtual machine association module 11 sends a third notification message to the OpenStack platform 10. The third notification message is used to notify the computing module 101 of the OpenStack platform 10 to switch from the normal working mode to the takeover mode.
[0135] For example, the virtual machine association module 11 can send a third notification message to the computing module 101 of the OpenStack platform 10.
[0136] Step 425: The calculation module 101 switches from the normal working mode to the takeover mode.
[0137] Specifically, see Figure 7 , Figure 7 This is a schematic diagram of the device structure of a computing node according to an embodiment of the present invention. For example, the network module 103 may be a Neutron module. The Neutron module includes a Nova API interface 1011, a Queue 1013, a Nova-compute service 1015, a Scheduler service 1014, a Conductor service 1012, a database 1017, a Virdriver driver 1016, and a third mode switching unit 1017.
[0138] The Nova API interface 1011 can receive external commands and convert them into internal commands to be sent to the Queue 1013. The Conductor service 1012, Nova-compute service 1015, and Scheduler service 1014 communicate through the Queue 1013.
[0139] Conductor service 1012 reads from or writes to database 1034.
[0140] Database 1017 records information about a hardware resource pool, which specifically includes multiple physical hosts with virtual machine managers configured. The information about the hardware resource pool includes the network addresses, hardware configurations, network configurations, and storage configurations of the multiple physical hosts.
[0141] Scheduler service 1014 selects a suitable network address for the physical host to create a virtual machine based on the hardware resource pool data recorded in database 1017.
[0142] Nova-compute service 1015 is used to create and manage virtual machines.
[0143] Virt driver 1024 records the network address of VMware vCenter 20. Nova-compute service 1015 can access VMware vCenter 20 interface 201 through Virt driver 1024.
[0144] Nova-compute service 1015 can load regular driver files 5 or simulated driver files 6, where simulated driver files are a subclass of regular driver files.
[0145] When the Nova-compute service 1015 loads the regular driver file 5, it executes the logic of the regular Nova service: it obtains the hardware configuration received from the Nova API interface 1011 from the Queue 1013, obtains the network resource identifier from the Neuron module 103, obtains the storage resource identifier from the storage module 102, creates a virtual machine and generates a virtual machine resource identifier based on the hardware configuration, the network resource identifier corresponding to the network resource identifier, and the storage resource identifier corresponding to the storage resource. Specifically, creating a virtual machine involves generating a table entry that records the virtual machine and recording the table entry in the database 1014. The virtual machine identifier and the table entries containing the virtual machine, the network resource, and the storage resource are distributed to the virtual machine monitor, so that the virtual machine monitor allocates corresponding resources in the local resource pool to create the virtual machine based on the virtual machine identifier, network resource, storage resource, and hardware configuration. The created virtual machine is identified in the OpenStack platform 10 by the virtual machine identifier.
[0146] When Nova-compute service 1015 loads the simulated creation driver file 6, Nova-compute service 1015 executes the takeover logic: after loading the simulated creation driver file 6, it sends a seventh confirmation message to the virtual machine association module 11 (the seventh confirmation message is described in detail below); it obtains the hardware configuration and existing virtual machine identifier from Nova API interface 1011 from Queue 1013, obtains the proxy network resource identifier from Neuron module 103, and obtains the proxy storage resource identifier from storage module 102; based on the hardware configuration, proxy network resource identifier, and proxy storage resource identifier, it creates a virtual machine with takeover network resources, takeover storage resources, and hardware configuration and generates a proxy virtual machine identifier, wherein creating a virtual machine specifically involves generating a table entry for recording virtual machines; recording the table entry in database 1014; recording the generated proxy virtual machine identifier and the existing virtual machine identifier received by Nova API interface 1011 in database 1014; and sending the proxy virtual machine identifier and the existing virtual machine identifier to VMware vCenter. 20; After receiving the eighth confirmation message, send the ninth confirmation message to the virtual machine association module 11 (the eighth and ninth confirmation messages will be described in detail below).
[0147] In this step, the third mode switching unit 1017 is used to receive the third notification message. When the third notification message is received, the configuration file of the Nova-compute service 1015 is modified so that the Nova-compute service 1015 loads the simulation creation driver file 6 for takeover, thereby switching the computing module 101 from the normal working mode to the takeover working mode.
[0148] Step 426: OpenStack platform 10 sends a seventh confirmation message to virtual machine association module 11. The seventh confirmation message is used to notify virtual machine association module 11 that computing module 101 has switched to takeover mode.
[0149] For example, after loading the simulation creation driver file, the computing module 101 sends a seventh confirmation message to the virtual machine association module 11.
[0150] Step 427: The virtual machine association module 11 sends a virtual machine query request to VMware vCenter 20, wherein the virtual machine query request is used to query the hardware configuration and virtual machine identifier of the existing virtual machine 31 on VMware vCenter 20 through the interface 201 of VMware vCenter 20 on the database 202.
[0151] The network configuration includes port group ID, virtual LAN ID, port ID, IP address, MAC address, subnet ID, and CIDR (Classless Inter-Domain Routing) network segment.
[0152] Step 428: VMware vCenter 20 sends the hardware configuration and virtual machine identifier of the existing virtual machine to the virtual machine association module 11.
[0153] In this step, VMware vCenter 20 queries the database 202 for the hardware configuration and virtual machine identifier of the existing virtual machine 31 based on the virtual machine query request, and sends the query results to the virtual machine association module 11.
[0154] Step 429: The virtual machine association module 11 sends the hardware configuration and virtual machine identification code of the existing virtual machine to the OpenStack platform 10.
[0155] In this step, the virtual machine association module 11 sends the hardware configuration and virtual machine identifier of the existing virtual machine to the Nova API interface 1011 of the computing module 101.
[0156] Step 430: OpenStack Platform 10 creates a virtual machine with takeover network resources, takeover storage resources and hardware configuration based on hardware configuration, proxy network resource identifier and proxy storage resource identifier, and generates a proxy virtual machine identifier.
[0157] In this step, after receiving the hardware configuration and virtual machine identifier of the existing virtual machine, the Nova API interface 1011 stores the virtual machine identifier in the database 1017 and sends the hardware configuration to the Queue 1013. The Nova-compute service 1015 obtains the network configuration from the Queue 1032, the proxy storage resource identifier from the storage module 102, and the proxy network resource identifier from the network module 103. Based on the hardware configuration, the proxy network resource identifier, and the proxy storage resource identifier, it creates a virtual machine that is configured to take over network resources, take over storage resources, and has a hardware configuration, and generates a proxy virtual machine identifier. Specifically, creating a virtual machine involves generating a table entry that records the virtual machine, and recording the table entry containing the virtual machine and the table entry containing the proxy virtual machine identifier in the database 1017.
[0158] Step 431: OpenStack Platform 10 sends the existing virtual machine identifier and the agent virtual machine identifier to VMware vCenter 20.
[0159] Specifically, the Nova-compute service 1015 accesses the VMware vCenter 20 interface 201 through the Vir driver 1016, and enters a command to update the existing virtual machine identifier with the agent virtual machine identifier in the interface 201 by calling the VMware vCenter 20 API.
[0160] Step 432: VMware vCenter 20 updates its own existing virtual machine identifiers to the agent virtual machine identifiers.
[0161] For example, after VMware vCenter 20 receives the existing virtual machine identifier and the proxy virtual machine identifier sent by Vir driver 1016 at interface 201, it looks up the existing virtual machine identifier in its own database 202 and updates the existing virtual machine identifier with the proxy virtual machine identifier.
[0162] Step 433: VMware vCenter 20 sends the eighth confirmation message to OpenStack platform 10, whereby the eighth confirmation message is used to notify OpenStack platform 10 that the existing virtual machine identifiers have been updated.
[0163] Specifically, VMware vCenter 20 sends the eighth confirmation message to Vir driver 1016, and Vir driver 1016 notifies Nova-compute service 1015 that the existing network resource identifier of VMware vCenter 20 has been updated based on the eighth confirmation message.
[0164] Step 434: OpenStack platform 10 sends a ninth confirmation message to virtual machine association module 11, in which the ninth confirmation message notifies virtual machine association module 11 that computing module 101 has completed the takeover function.
[0165] Specifically, Nova-compute sends a ninth confirmation message to the virtual machine association module 11 to notify the virtual machine association module 11 that the computing module 101 has completed the takeover function.
[0166] Step 435: After receiving the ninth confirmation message, the virtual machine association module 11 sends the fourth notification message to the OpenStack platform 10. The fourth notification message is used to notify the storage module 102 of the OpenStack platform 10 to switch to the normal working mode.
[0167] For example, the virtual machine association module 11 sends a fourth notification message to the first mode switching unit 1026 of the storage module 102.
[0168] Step 436: OpenStack Platform 10 switches from takeover mode to normal working mode.
[0169] Specifically, the first mode switching unit 1026 is used to receive the fourth notification message and modify the configuration file of the Cinder volume service 1023 according to the fourth notification, so that the Cinder volume service 1023 loads the regular driver file 1 and controls the Cinder volume service 1023 to restart, thereby enabling the Cinder volume service 1023 to run the logic of the regular driver file 1 and switch from the takeover mode to the regular working mode.
[0170] Step 437: OpenStack platform 10 sends the tenth confirmation message to virtual machine association module 11. The tenth confirmation message is used to notify virtual machine association module 11 that storage module 102 has switched to normal working mode.
[0171] Specifically, the Cinder volume service 1023 sends the tenth confirmation message to the virtual machine association module 11.
[0172] Step 438: The virtual machine association module 11 sends the fifth notification message to the OpenStack platform 10. The fifth notification message is used to notify the network module 103 of the OpenStack platform 10 to switch to the normal working mode.
[0173] Specifically, the virtual machine association module 11 sends the fifth notification information to the second mode switching unit 1035 of the network module 103.
[0174] Step 439: OpenStack Platform 10 switches from takeover mode to normal working mode.
[0175] Specifically, the second mode switching unit 1035 is used to receive the fifth notification message and modify the configuration file of the vc-12-agent service 1033 according to the fifth notification, so that the vc-12-agent service 1033 loads the regular driver file and controls the vc-12-agent service 1033 to restart, thereby enabling the vc-12-agent service 1033 to run the logic of the regular driver file 3 and switch from the takeover mode to the regular working mode.
[0176] Step 440: OpenStack platform 10 sends an eleventh confirmation message to virtual machine association module 11. The eleventh confirmation message is used to notify virtual machine association module 11 that network module 103 has switched to normal working mode.
[0177] Specifically, the vc-12-agent service 1033 sends the eleventh confirmation message to the virtual machine association module 11.
[0178] Step 441: The virtual machine association module 11 sends a sixth notification message to the OpenStack platform 10. The sixth notification message is used to notify the computing module 101 of the OpenStack platform 10 to switch to the normal working mode.
[0179] For example, the virtual machine association module 11 sends a sixth notification message to the third mode switching unit 1017 of the computing module 101.
[0180] Step 442: OpenStack Platform 10 switches from takeover mode to normal working mode.
[0181] Specifically, the third mode switching unit 1017 is used to receive the sixth notification message and modify the configuration file of the Nova-compute service 1015 according to the sixth notification, so that the Nova-compute service 1015 loads the regular driver file 5 and controls the Nova-compute service 1015 to restart, thereby enabling the Nova-compute service 1015 to run the logic of the regular driver file 5 and switch from the takeover mode to the regular working mode.
[0182] Step 443: OpenStack platform 10 sends a twelfth confirmation message to virtual machine association module 11. The twelfth confirmation message is used to notify virtual machine association module 11 that computing module 101 has switched to normal working mode.
[0183] Specifically, the Nova-compute service 1015 sends the twelfth confirmation message to the virtual machine association module 11.
[0184] Step 444: Virtual machine association module 11 displays that the takeover is complete.
[0185] In this step, the virtual machine association module 11 confirms, based on the tenth, eleventh, and twelfth confirmation information, that the computing module 101, storage module 102, and network module 103 have all switched to normal working mode, thus completing the takeover process. A display page can be set to inform the user that the takeover is complete.
[0186] In summary, in this embodiment of the invention, since the first cloud management platform creates a proxy virtual machine and a proxy virtual machine identifier based on the configuration information obtained from the second cloud management platform, and sends the proxy virtual machine identifier to the second cloud management platform, the second cloud management platform updates the existing virtual machine identifier to the proxy virtual machine identifier. During later maintenance, it is only necessary to input the proxy virtual machine identifier code and the corresponding management command on the first cloud management platform, and the first cloud management platform will send the proxy virtual machine identifier code and the corresponding management command to the second cloud management platform. This enables the management of the existing virtual machines managed by the second cloud management platform through the first cloud management platform, thus achieving cross-platform automated management of virtual machines.
[0187] Furthermore, since VMware vCenter 20 updates and records the agent virtual machine identifier, OpenStack platform 10 can manage the existing virtual machines 31 of VMware vCenter 20 by managing the virtual machine identifier.
[0188] For easier understanding, please refer to Figure 8 , Figure 8 This diagram illustrates a flowchart of OpenStack platform management of existing virtual machines according to an embodiment of the present invention. The method by which OpenStack platform 10 manages existing virtual machines 31 is as follows:
[0189] Step S501: OpenStack platform 10 provides a user interface and receives virtual machine management commands for managing virtual machine identifiers from the user interface;
[0190] For example, OpenStack platform 10 provides CLI (command-line interface). Users execute the nova delete command in the CLI of OpenStack platform 10. In the nova delete command, the agent virtual machine identifier of OpenStack platform 10 is used as the input parameter. Nova-compute service 1015 sends the nova delete command to Virt driver 1016.
[0191] Step S502: When OpenStack platform 10 determines that the virtual machine identifier is the proxy virtual machine identifier, it sends a virtual machine management command to VMware vCenter 20, and the virtual machine management command carries the proxy virtual machine identifier.
[0192] Step S503: VMware vCenter 20 receives virtual machine management commands and manages the existing virtual machines corresponding to the agent virtual machine identifier.
[0193] For example, Virt driver 1016 calls the VMware vCenter 20 API for deleting virtual machines and sends a deletion request with the agent virtual machine identifier as a parameter to VMware vCenter 20 interface 201. Upon receiving the deletion request, VMware vCenter 20 sends an internal command to VMware ESXi 321, notifying VMware ESXi 321 to delete the existing virtual machine 31.
[0194] Based on the above methods, existing virtual machines 31 can also be created, powered on, powered off, hibernated, woken up, suspended, restarted, and migrated using the above methods, which will not be elaborated here.
[0195] After updating the existing virtual machine identifiers recorded in VMware vCenter 20 to the agent virtual machine identifiers, since VMware vCenter 20 can recognize the agent virtual machine identifiers, during later maintenance, it is only necessary to enter the command to manage the agent virtual machine identifiers on the OpenStack platform. The OpenStack platform forwards the command to VMware vCenter 20, which enables full lifecycle management of the existing virtual machines managed by VMware vCenter 20 through the OpenStack platform. Therefore, this embodiment of the invention can realize cross-platform automated management of virtual machines and facilitates later maintenance.
[0196] It is worth noting that the virtual machine association module 11 described above can be used as a component of the OpenStack platform 10 or as third-party software independent of the OpenStack platform 10. This embodiment of the invention does not limit this.
[0197] This invention further discloses a host computer, which can be found in the following embodiments: Figure 9 , Figure 9 This is a schematic diagram of the device structure of a host according to an embodiment of the present invention, such as... Figure 9The host 1 shown includes a processor 601, a memory 602, and a bus 603. The processor 601 and the memory 602 are respectively connected to the bus 603. The memory 602 stores program instructions. The processor 601 executes the program instructions to run the method performed by the first cloud management platform described above.
[0198] Please see Figure 10 , Figure 10 This is another data interaction diagram of the takeover method according to an embodiment of the present invention. Figure 10 The following supplementary explanations are provided regarding steps 424 to 444 described above. Optionally, in step 410 above, VMware vCenter 20 can directly record the correspondence between existing storage resource identifiers and proxy storage resource identifiers. In step 421 above, VMware vCenter 20 can directly record the correspondence between existing network resource identifiers and proxy network resource identifiers. In step 432 above, VMware vCenter 20 can directly record the correspondence between existing virtual machine identifiers and proxy virtual machine identifiers. Because VMware vCenter 20 records the correspondence between existing virtual machine identifiers and proxy virtual machine identifiers (rather than as... Figure 3 and Figure 6 As described in the embodiment, the existing virtual machine identifier is directly updated to the agent virtual machine identifier. After receiving the agent virtual machine identifier, VMware vCenter 20 obtains the existing virtual machine identifier corresponding to the agent virtual machine identifier by querying the correspondence between the existing virtual machine identifier and the agent virtual machine identifier, and determines the virtual machine to be managed through the existing virtual machine identifier, thereby managing the virtual machine.
[0199] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any other combination thereof. When implemented using software, it can be implemented entirely or partially as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can reside in a computer-readable storage medium or be transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. The semiconductor medium can be a solid-state disk (SSD).
[0200] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application.
[0201] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0202] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0203] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0204] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions can be conceived by those skilled in the art based on the embodiments provided in this application.
Claims
1. A virtual machine management method, characterized in that, include: The first cloud management platform obtains the configuration information of existing virtual machines from the second cloud management platform, wherein the first cloud management platform and the second cloud management platform are cloud management platforms of different types; The first cloud management platform generates a table entry containing the agent virtual machine identifier code locally based on the configuration information of the existing virtual machines, wherein the table entry generated by the first cloud management platform is different from the table entry of the existing virtual machines generated by the second cloud management platform. The first cloud management platform sends the agent virtual machine identifier code to the second cloud management platform; The second cloud management platform updates its own recorded existing virtual machine identifiers to the agent virtual machine identifiers; The first cloud management platform provides a user interaction interface and receives virtual machine management commands for managing virtual machine identifiers from the user interaction interface; When the first cloud management platform determines that the virtual machine identifier is the proxy virtual machine identifier, it sends the virtual machine management command to the second cloud management platform, and the virtual machine management command carries the proxy virtual machine identifier. The second cloud management platform receives the virtual machine management command and manages the existing virtual machines corresponding to the agent virtual machine identifier. The configuration information includes the hardware configuration and the identifier of the existing virtual machine. The method further includes: The first cloud management platform generates entries locally that record proxy network resource identifiers used to identify proxy network resources on the first cloud management platform; The first cloud management platform generates entries locally that record proxy storage resource identifier codes used to identify proxy storage resources on the first cloud management platform; The virtual machine association module queries the hardware configuration and virtual machine identification code of the existing virtual machine recorded on the second cloud management platform. The virtual machine identification code is used to identify the existing virtual machine on the second cloud management platform. The virtual machine association module sends the hardware configuration and the existing virtual machine identification code to the first cloud management platform; The first cloud management platform creates the proxy virtual machine and generates a proxy virtual machine identifier code based on the hardware configuration, the proxy network resource identifier code, and the proxy storage resource identifier code.
2. The method according to claim 1, characterized in that, The first cloud management platform sending the agent virtual machine identifier code to the second cloud management platform specifically includes: The first cloud management platform sends the agent virtual machine identifier and the existing virtual machine identifier to the second cloud management platform.
3. The method according to claim 1 or 2, characterized in that, The configuration information also includes the network configuration and network resource identifier of the existing network resources of the existing virtual machines. Specifically, the creation of proxy network resources and the generation of proxy network resource identifiers by the first cloud management platform for identifying the proxy network resources on the first cloud management platform include: The virtual machine association module queries the network configuration and existing network resource identification code of the existing virtual machine recorded on the second cloud management platform. The existing network resource identification code is used to identify the existing network resources of the existing virtual machine on the second cloud management platform. The virtual machine association module sends the network configuration and the existing network resource identification code to the first cloud management platform; The first cloud management platform creates the proxy network resource and generates the proxy network resource identifier code according to the network configuration; The first cloud management platform sends the proxy network resource identifier and the existing network resource identifier to the second cloud management platform; The second cloud management platform updates the existing network resource identifier code it records to the proxy network resource identifier code.
4. The method according to claim 1 or 2, characterized in that, The configuration information also includes the storage configuration and storage resource identification code of the existing storage resources of the existing virtual machines. Specifically, the first cloud management platform creates proxy storage resources and generates a proxy storage resource identification code to identify the proxy storage resources, including: The virtual machine association module queries the storage configuration and existing storage resource identification code of the existing virtual machine recorded on the second cloud management platform. The existing storage resource identification code is used to identify the existing storage resources of the existing virtual machine on the second cloud management platform. The virtual machine association module sends the storage configuration and the existing storage resource identification code to the first cloud management platform; The first cloud management platform creates the proxy storage resource and generates the proxy storage resource identifier code according to the storage configuration; The first cloud management platform sends the proxy storage resource identifier code and the existing storage resource identifier code to the second cloud management platform; The second cloud management platform updates the existing storage resource identifier code it records to the proxy storage resource identifier code.
5. The method according to claim 1 or 2, characterized in that, The hardware configuration includes processor clock speed, number of processors, and memory capacity; the storage configuration includes a universally unique identifier (UUID) for the volume, volume name, and volume size; and the network configuration includes port group ID, virtual LAN ID, port ID, IP address, MAC address, subnet ID, and classless inter-domain routing (CIDR) network segment.
6. A virtual machine management system, characterized in that, Including the first cloud management platform and the second cloud management platform, The first cloud management platform is used to obtain configuration information of existing virtual machines from the second cloud management platform, wherein the first cloud management platform and the second cloud management platform are cloud management platforms of different types; The first cloud management platform is also used to generate a table entry that records the agent virtual machine identifier code locally based on the configuration information of the existing virtual machines, wherein the table entry generated by the first cloud management platform is different from the table entry of the existing virtual machines generated by the second cloud management platform. The first cloud management platform is also used to send the agent virtual machine identifier code to the second cloud management platform; The second cloud management platform is used to update the existing virtual machine identifiers it records to the agent virtual machine identifiers; The first cloud management platform is also used to provide a user interaction interface and receive virtual machine management commands for managing virtual machine identifiers from the user interaction interface; The first cloud management platform is further configured to send the virtual machine management command to the second cloud management platform when it determines that the virtual machine identifier is the proxy virtual machine identifier, wherein the virtual machine management command carries the proxy virtual machine identifier; The second cloud management platform is also used to receive the virtual machine management command and manage the existing virtual machines corresponding to the agent virtual machine identifier code; The configuration information includes the hardware configuration and virtual machine identifier of the existing virtual machines. The system also includes a virtual machine association module. The first cloud management platform is used to generate entries locally that record proxy network resource identifiers used to identify proxy network resources on the first cloud management platform; The first cloud management platform is also used to generate entries locally that record proxy storage resource identifier codes used to identify proxy storage resources on the first cloud management platform; The virtual machine association module is used to query the hardware configuration and virtual machine identification code of the existing virtual machine recorded on the second cloud management platform. The virtual machine identification code is used to identify the existing virtual machine on the second cloud management platform. The virtual machine association module is used to send the hardware configuration and the existing virtual machine identification code to the first cloud management platform; The first cloud management platform is used to create the proxy virtual machine and generate the proxy virtual machine identifier code based on the hardware configuration, the proxy network resource identifier code, and the proxy storage resource identifier code.
7. The system according to claim 6, characterized in that, The first cloud management platform is specifically used to send the agent virtual machine identifier code and the existing virtual machine identifier code to the second cloud management platform.
8. The system according to claim 6 or 7, characterized in that, The configuration information also includes the network configuration and network resource identifier of the existing network resources of the existing virtual machines. The virtual machine association module is also used to query the network configuration and existing network resource identification code of the existing virtual machine recorded on the second cloud management platform. The existing network resource identification code is used to identify the existing network resources of the existing virtual machine on the second cloud management platform. The virtual machine association module is also used to send the network configuration and the existing network resource identification code to the first cloud management platform; The first cloud management platform is also used to create the proxy network resource according to the network configuration and generate the proxy network resource identifier code; The first cloud management platform is also used to send the proxy network resource identifier code and the existing network resource identifier code to the second cloud management platform; The second cloud management platform is also used to update the existing network resource identifier code recorded by itself to the proxy network resource identifier code.
9. The system according to claim 6 or 7, characterized in that, The configuration information also includes the storage configuration and storage resource identifier of the existing virtual machine's existing storage resources. The virtual machine association module is also used to query the storage configuration and storage resource identification code of the existing storage resources of the existing virtual machine recorded on the second cloud management platform. The storage resource identification code is used to identify the existing storage resources of the existing virtual machine on the second cloud management platform. The virtual machine association module is also used to send the storage configuration and the existing storage resource identification code to the first cloud management platform; The first cloud management platform is also used to create the proxy storage resource according to the storage configuration and generate the proxy storage resource identification code; The first cloud management platform is also used to send the proxy storage resource identifier code and the existing storage resource identifier code to the second cloud management platform; The second cloud management platform is also used to update the existing storage resource identifier code recorded by itself to the agent storage resource identifier code.
10. A virtual machine management method, characterized in that, include: The first cloud management platform obtains the configuration information of existing virtual machines from the second cloud management platform, wherein the first cloud management platform and the second cloud management platform are cloud management platforms of different types; The first cloud management platform generates a table entry containing the agent virtual machine identifier code locally based on the configuration information of the existing virtual machines, wherein the table entry generated by the first cloud management platform is different from the table entry of the existing virtual machines generated by the second cloud management platform. The first cloud management platform sends the agent virtual machine identifier code to the second cloud management platform; The first cloud management platform provides a user interaction interface and receives virtual machine management commands for managing virtual machine identifiers from the user interaction interface; When the first cloud management platform determines that the virtual machine identifier is the proxy virtual machine identifier, it sends the virtual machine management command to the second cloud management platform, and the virtual machine management command carries the proxy virtual machine identifier. The configuration information includes the hardware configuration and the identifier of the existing virtual machine. The first cloud management platform generates entries locally that record agent virtual machine identifiers, and the entries for the existing virtual machines are different, specifically including: The first cloud management platform generates entries locally that record proxy network resource identifiers used to identify proxy network resources on the first cloud management platform; The first cloud management platform generates entries locally that record proxy storage resource identifier codes used to identify proxy storage resources on the first cloud management platform; The first cloud management platform receives the hardware configuration and the identification code of the existing virtual machine sent by the virtual machine association module. The hardware configuration and the identification code of the existing virtual machine are obtained by the virtual machine association module from the second cloud management platform. The identification code of the existing virtual machine is used to identify the existing virtual machine on the second cloud management platform. The first cloud management platform creates the proxy virtual machine and generates a proxy virtual machine identifier code based on the hardware configuration, the proxy network resource identifier code, and the proxy storage resource identifier code.
11. The method according to claim 10, characterized in that, The first cloud management platform sending the agent virtual machine identifier code to the second cloud management platform specifically includes: The first cloud management platform sends the agent virtual machine identifier and the existing virtual machine identifier to the second cloud management platform.
12. The method according to claim 10 or 11, characterized in that, The configuration information also includes the network configuration and network resource identifier of the existing network resources of the existing virtual machines. Specifically, the creation of proxy network resources and the generation of proxy network resource identifiers by the first cloud management platform for identifying the proxy network resources on the first cloud management platform include: The first cloud management platform receives the network configuration and the existing network resource identification code of the existing network resources sent by the virtual machine association module. The network configuration and the existing network resource identification code of the existing virtual machine are obtained by the virtual machine association module by querying the second cloud management platform. The existing network resource identification code recorded in the second cloud management platform is used to identify the existing network resources of the existing virtual machine in the second cloud management platform. The first cloud management platform creates the proxy network resource and generates the proxy network resource identifier code according to the network configuration; The first cloud management platform sends the proxy network resource identifier code and the existing network resource identifier code to the second cloud management platform.
13. The method according to claim 10 or 11, characterized in that, The configuration information also includes the storage configuration and storage resource identification code of the existing storage resources of the existing virtual machines. Specifically, the first cloud management platform creates proxy storage resources and generates a proxy storage resource identification code to identify the proxy storage resources, including: The first cloud management platform receives the storage configuration and existing storage resource identification code of the existing virtual machine sent by the virtual machine association module. The hardware configuration and the existing virtual machine identification code are obtained by the virtual machine association module from the second cloud management platform. The first cloud management platform creates the proxy storage resource and generates the proxy storage resource identifier code according to the storage configuration; The first cloud management platform sends the proxy storage resource identifier code and the existing storage resource identifier code to the second cloud management platform.
14. A cloud management platform, characterized in that, include: The virtual machine association module is used to obtain the configuration information of existing virtual machines from another cloud management platform, wherein the cloud management platform and the other cloud management platform are cloud management platforms of different types; The computing module is used to generate a table entry that records the agent virtual machine identifier code locally, and send the agent virtual machine identifier code to the other cloud management platform, wherein the table entry generated by the first cloud management platform is different from the table entry of the existing virtual machine generated by the second cloud management platform. The computing module is used to provide a user interaction interface and receive virtual machine management commands for managing virtual machine identifiers from the user interaction interface. The computing module is used to send the virtual machine management command to the other cloud management platform when it determines that the virtual machine identifier is the proxy virtual machine identifier, and the virtual machine management command carries the proxy virtual machine identifier. The configuration information includes the hardware configuration and virtual machine identifier of the existing virtual machine. The virtual machine identifier is used to identify the existing virtual machine on the other cloud management platform. The cloud management platform also includes a network module and a storage module. The network module is used to generate entries locally that record proxy network resource identifiers used to identify proxy network resources on the first cloud management platform. The storage module is used to generate entries locally that record proxy storage resource identifier codes used to identify proxy storage resources on the first cloud management platform; The computing module is used to create the proxy virtual machine and generate the proxy virtual machine identifier code based on the hardware configuration, the proxy network resource identifier code, and the proxy storage resource identifier code.
15. The platform according to claim 14, characterized in that, The computing module is specifically used to send the agent virtual machine identifier and the existing virtual machine identifier to the other cloud management platform.
16. The platform according to claim 14 or 15, characterized in that, The configuration information also includes the network configuration and network resource identifier of the existing network resources of the existing virtual machines. The network module is used to create the proxy network resource according to the network configuration and generate the proxy network resource identifier code; The network module is used to send the proxy network resource identifier code and the existing network resource identifier code to the other cloud management platform.
17. The platform according to claim 14 or 15, characterized in that, The configuration information also includes the storage configuration and existing storage resource identifier of the existing virtual machine's existing storage resources. The existing storage resource identifier is used to identify the existing storage resources of the existing virtual machine on the other cloud management platform. The storage module is used to create the proxy storage resource according to the storage configuration and generate the proxy storage resource identifier code; The storage module is also used to send the proxy storage resource identifier code and the existing storage resource identifier code to the other cloud management platform.
18. A host computer, characterized in that, The device includes a processor, a memory, and a bus, wherein the processor and the memory are respectively connected to the bus, the memory stores program instructions, and the processor executes the program instructions to run the method described in claims 1-5.
19. A virtual machine management method, characterized in that, include: The first cloud management platform obtains the configuration information of existing virtual machines from the second cloud management platform, wherein the first cloud management platform and the second cloud management platform are cloud management platforms of different types; The first cloud management platform creates a proxy virtual machine locally and generates a proxy virtual machine identification code based on the configuration information of the existing virtual machines. The proxy virtual machine identification code is used to identify the created proxy virtual machine on the first cloud management platform. The first cloud management platform sends the agent virtual machine identifier code to the second cloud management platform; The second cloud management platform records the correspondence between its own existing virtual machine identifier codes and the agent virtual machine identifier codes; The first cloud management platform provides a user interaction interface and receives virtual machine management commands for managing virtual machine identifiers from the user interaction interface; When the first cloud management platform determines that the virtual machine identifier is the proxy virtual machine identifier, it sends the virtual machine management command to the second cloud management platform, and the virtual machine management command carries the proxy virtual machine identifier. The second cloud management platform receives the virtual machine management command and manages the existing virtual machines corresponding to the agent virtual machine identifier. The configuration information includes the hardware configuration of the existing virtual machine and the identification code of the existing virtual machine. The first cloud management platform creates a proxy virtual machine locally and generates a proxy virtual machine identifier code based on the configuration information of the existing virtual machines, specifically including: The first cloud management platform creates proxy network resources and generates a proxy network resource identifier code for identifying the proxy network resources on the first cloud management platform; The first cloud management platform creates proxy storage resources and generates a proxy storage resource identifier code for identifying the proxy storage resources on the first cloud management platform; The virtual machine association module queries the hardware configuration and virtual machine identification code of the existing virtual machine recorded on the second cloud management platform. The virtual machine identification code is used to identify the existing virtual machine on the second cloud management platform. The virtual machine association module sends the hardware configuration and the existing virtual machine identification code to the first cloud management platform; The first cloud management platform creates the proxy virtual machine and generates a proxy virtual machine identifier code based on the hardware configuration, the proxy network resource identifier code, and the proxy storage resource identifier code.
20. The method according to claim 19, characterized in that, The first cloud management platform sending the agent virtual machine identifier code to the second cloud management platform specifically includes: The first cloud management platform sends the agent virtual machine identifier and the existing virtual machine identifier to the second cloud management platform.
21. The method according to claim 19 or 20, characterized in that, The configuration information also includes the network configuration and network resource identifier of the existing network resources of the existing virtual machines. Specifically, the creation of proxy network resources and the generation of proxy network resource identifiers by the first cloud management platform for identifying the proxy network resources on the first cloud management platform include: The virtual machine association module queries the network configuration and existing network resource identification code of the existing virtual machine recorded on the second cloud management platform. The existing network resource identification code is used to identify the existing network resources of the existing virtual machine on the second cloud management platform. The virtual machine association module sends the network configuration and the existing network resource identification code to the first cloud management platform; The first cloud management platform creates the proxy network resource and generates the proxy network resource identifier code according to the network configuration; The first cloud management platform sends the proxy network resource identifier and the existing network resource identifier to the second cloud management platform; The second cloud management platform records the correspondence between the existing network resource identifier and the proxy network resource identifier.
22. The method according to claim 19 or 20, characterized in that, The configuration information also includes the storage configuration and storage resource identification code of the existing storage resources of the existing virtual machines. Specifically, the first cloud management platform creates proxy storage resources and generates a proxy storage resource identification code to identify the proxy storage resources, including: The virtual machine association module queries the storage configuration and existing storage resource identification code of the existing virtual machine recorded on the second cloud management platform. The existing storage resource identification code is used to identify the existing storage resources of the existing virtual machine on the second cloud management platform. The virtual machine association module sends the storage configuration and the existing storage resource identification code to the first cloud management platform; The first cloud management platform creates the proxy storage resource and generates the proxy storage resource identifier code according to the storage configuration; The first cloud management platform sends the proxy storage resource identifier code and the existing storage resource identifier code to the second cloud management platform; The second cloud management platform records the correspondence between the existing storage resource identifier and the proxy storage resource identifier.
23. A virtual machine management system, characterized in that, Including the first cloud management platform and the second cloud management platform, The first cloud management platform is used to obtain configuration information of existing virtual machines from the second cloud management platform, wherein the first cloud management platform and the second cloud management platform are cloud management platforms of different types; The first cloud management platform is also used to create a proxy virtual machine locally and generate a proxy virtual machine identification code based on the configuration information of the existing virtual machines, wherein the proxy virtual machine identification code is used to identify the created proxy virtual machine on the first cloud management platform; The first cloud management platform is also used to send the agent virtual machine identifier code to the second cloud management platform; The second cloud management platform is used to record the correspondence between the existing virtual machine identifiers it records and the agent virtual machine identifiers; The first cloud management platform is also used to provide a user interaction interface and receive virtual machine management commands for managing virtual machine identifiers from the user interaction interface; The first cloud management platform is further configured to send the virtual machine management command to the second cloud management platform when it determines that the virtual machine identifier is the proxy virtual machine identifier, wherein the virtual machine management command carries the proxy virtual machine identifier; The second cloud management platform is also used to receive the virtual machine management command and manage the existing virtual machines corresponding to the agent virtual machine identifier code; The configuration information includes the hardware configuration and virtual machine identifier of the existing virtual machines. The system also includes a virtual machine association module. The first cloud management platform is used to create proxy network resources and generate a proxy network resource identifier code for identifying the proxy network resources on the first cloud management platform; The first cloud management platform is also used to create proxy storage resources and generate a proxy storage resource identifier code for identifying the proxy storage resources on the first cloud management platform; The virtual machine association module is used to query the hardware configuration and virtual machine identification code of the existing virtual machine recorded on the second cloud management platform. The virtual machine identification code is used to identify the existing virtual machine on the second cloud management platform. The virtual machine association module is used to send the hardware configuration and the existing virtual machine identification code to the first cloud management platform; The first cloud management platform is used to create the proxy virtual machine and generate the proxy virtual machine identifier code based on the hardware configuration, the proxy network resource identifier code, and the proxy storage resource identifier code.
24. The system according to claim 23, characterized in that, The first cloud management platform is specifically used to send the agent virtual machine identifier code and the existing virtual machine identifier code to the second cloud management platform.
25. The system according to claim 23 or 24, characterized in that, The configuration information also includes the network configuration and network resource identifier of the existing network resources of the existing virtual machines. The virtual machine association module is also used to query the network configuration and existing network resource identification code of the existing virtual machine recorded on the second cloud management platform. The existing network resource identification code is used to identify the existing network resources of the existing virtual machine on the second cloud management platform. The virtual machine association module is also used to send the network configuration and the existing network resource identification code to the first cloud management platform; The first cloud management platform is also used to create the proxy network resource according to the network configuration and generate the proxy network resource identifier code; The first cloud management platform is also used to send the proxy network resource identifier code and the existing network resource identifier code to the second cloud management platform; The second cloud management platform is also used to record the correspondence between the existing network resource identifier and the proxy network resource identifier.
26. The system according to claim 23 or 24, characterized in that, The configuration information also includes the storage configuration and storage resource identifier of the existing virtual machine's existing storage resources. The virtual machine association module is also used to query the storage configuration and storage resource identification code of the existing storage resources of the existing virtual machine recorded on the second cloud management platform. The storage resource identification code is used to identify the existing storage resources of the existing virtual machine on the second cloud management platform. The virtual machine association module is also used to send the storage configuration and the existing storage resource identification code to the first cloud management platform; The first cloud management platform is also used to create the proxy storage resource according to the storage configuration and generate the proxy storage resource identification code; The first cloud management platform is also used to send the proxy storage resource identifier code and the existing storage resource identifier code to the second cloud management platform; The second cloud management platform is also used to record the correspondence between the existing storage resource identifier code and the proxy storage resource identifier code.
Citation Information
Patent Citations
Hybrid virtualization cloud computing resource optimal control method and system
CN103034527A
Method and device for achieving seamless transference of across heterogeneous virtual switch
CN103516802A
Method and system for managing virtual machines in different virtual platforms
CN104111863A
Method for taking over existing vCenter cluster by CloudStack
CN104484221A
Virtual machine migration within a hybrid cloud system
US20170060628A1