Live migration for dedicated hosts

The live migration of dedicated hosts and their VMs by cloning and migrating to a second server addresses downtime issues, ensuring uninterrupted user operations and efficient maintenance.

JP2026522158APending Publication Date: 2026-07-07INTERNATIONAL BUSINESS MACHINE CORPORATION

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2024-04-24
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing systems face challenges in migrating dedicated hosts and their associated virtual machines without causing downtime or interruptions during hardware maintenance, such as hardware replacement or software updates.

Method used

A method for live migration of logical dedicated hosts and their VMs involves creating a clone of the host on a second physical server, migrating VMs to this clone, and then deprovisioning the original host, ensuring operations remain uninterrupted and transparent to the user.

Benefits of technology

The method allows seamless migration of dedicated hosts and their VMs without downtime, maintaining uninterrupted user operations and preserving single tenancy, thus enhancing maintenance efficiency and reducing disruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026522158000001_ABST
    Figure 2026522158000001_ABST
Patent Text Reader

Abstract

A computer implementation method for live migration of a logical dedicated host and associated virtual machines (VMs) from a first physical server to a second physical server, according to one aspect of the present invention, comprises the steps of creating a clone of the logical dedicated host in response to receiving a request to migrate the logical dedicated host from the first physical server, thereby creating a clone dedicated host. The clone dedicated host is provisioned on the second physical server. The VMs are migrated from the logical dedicated host to the clone dedicated host. The migration is transparent, so that user operations performed on the VMs continue uninterrupted during the migration. In response to the completion of the migration of the VMs to the clone dedicated host, the logical dedicated host is deprovisioned from the first physical server.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The present invention relates to infrastructure as a service, and more particularly, to the migration of dedicated hosts and their associated virtual machines.

[0002] Infrastructure as a Service (IaaS) is a cloud computing model in which a Cloud Service Provider (CSP) provides on-demand virtualized computing, network, and storage resources within a data center managed by the provider. The virtualized computing resources are typically provided in the form of virtual machines (VMs), dedicated hosts (DHs), and bare metal (BM) servers.

[0003] A physical computing server, also referred to herein as a physical server, is composed of a set of server hardware (CPU, memory, network interface, etc.), an operating system, and a hypervisor virtualization software stack. The CSP data center infrastructure may include a plurality of physical computing servers.

[0004] A dedicated host, also referred to herein as a logical dedicated host, is a logical representation of a physical compute server within a CSP infrastructure that has a unique policy to ensure single-account tenancy of the associated resources. Figure 6 shows a logical dedicated host entity 600. As shown, the logical dedicated host 602 may generally have defined logical attributes that represent the actual attributes of the physical computer, and features such as identity information access management, workload status and metrics. The physical compute server 604 runs VM 606. User 608 interfaces with the logical dedicated host 602 via an interface for user access and management. Operator 610, responsible for maintaining the physical compute server 604, may interact with the logical dedicated host via an operator interface for CSP maintenance.

[0005] Dedicated hosts allow users to have sole tenancy over a cloud server. This ensures that the user is the only user with VMs on that server, thereby eliminating certain noisy neighbor scenarios and intrusion vectors that could impact the user's workload.

[0006] As shown in Figure 7, multiple logical dedicated hosts can interact with each other to form a single logical dedicated host group 700.

[0007] One problem associated with systems like those shown in Figures 6 and 7 is that the physical computing servers underlying the logically dedicated host hardware require periodic maintenance, such as hardware replacement, hardware upgrades, and software updates. In some cases, this maintenance disrupts VMs hosted on the servers. Maintenance that disrupts the servers typically requires shutting down the hardware, which in turn means that user workloads are terminated while the maintenance is being performed.

[0008] A method is needed to migrate a logically dedicated host and its VMs to another server without interrupting or causing downtime to user workloads being processed by the logically dedicated host. [Overview of the project]

[0009] A computer implementation method for live migration of a logical dedicated host and associated VMs (e.g., VMs running on the logical dedicated host) from a first physical server to a second physical server, according to one aspect of the present invention, comprises the steps of creating a clone of the logical dedicated host in response to receiving a request to migrate the logical dedicated host from the first physical server, thereby creating a clone dedicated host. The clone dedicated host is provisioned on the second physical server. The VMs are migrated from the logical dedicated host to the clone dedicated host. The migration is transparent, so that user operations performed on the VMs continue uninterrupted during the migration. In response to the completion of the migration of the VMs to the clone dedicated host, the logical dedicated host is deprovisioned from the first physical server.

[0010] A computer program product for the live migration of a logical dedicated host and virtual machines running thereon from a first physical server to a second physical server, according to one embodiment, includes one or more computer-readable storage media and program instructions collectively stored in one or more computer-readable storage media. The program instructions include program instructions for performing the method described above.

[0011] A system according to one embodiment includes a processor and logic that is integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform the method described above.

[0012] Other aspects of the present invention will become apparent from the following detailed description, which illustrates the principles of the present invention when read in conjunction with the drawings. [Brief explanation of the drawing]

[0013] [Figure 1] This is a diagram of a computing environment according to one aspect of the present invention.

[0014] [Figure 2] This is a flowchart of a method according to one aspect of the present invention.

[0015] [Figure 3] Figure 2 is a graphical representation of an example of a migration process performed using the method shown in Figure 2.

[0016] [Figure 4] This is a flowchart of a method according to one aspect of the present invention.

[0017] [Figure 5] This is a diagram illustrating an exemplary logical-dedicated host migration process according to one aspect of the present invention.

[0018] [Figure 6] This is a diagram of entities for a logically dedicated host.

[0019] [Figure 7] This is a diagram of entities in a logically dedicated host group. [Modes for carrying out the invention]

[0020] The following description is provided for illustrative purposes only to illustrate the general principles of the present invention and is not intended to limit the concepts of the invention claimed herein. Furthermore, certain features described herein can be used in combination with other described features in each of the various possible combinations and substitutions.

[0021] Unless specifically defined otherwise in this specification, all terms shall be given their broadest possible interpretation, including the meaning suggested by the specification, the meaning understood by those skilled in the art, and / or the meaning defined in dictionaries, treatises, etc.

[0022] As used in this specification and the appended claims, it should also be noted that the singular forms "a", "an", and "the" include plural referents unless otherwise specified. The terms "comprises" and / or "comprising", as used in this specification, specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0023] The following description discloses some preferred approaches for a system, method, and computer program product to migrate a proprietary host and its associated VMs from one physical server to another while keeping the operation transparent to the end user in a manner that does not prevent their ability to perform any operation on either the proprietary host or its VMs. The user can continue to use and operate the proprietary host without any downtime of the workload executed by the VMs on the proprietary host.

[0024] In one overall aspect of the present invention, a computer-implemented method for live migration of a logical dedicated host and related VMs (e.g., VMs running on the logical dedicated host) from a first physical server to a second physical server is provided. The method includes creating a clone of the logical dedicated host in response to receiving a request to migrate the logical dedicated host from the first physical server, thereby creating a clone dedicated host. The clone dedicated host is provisioned on the second physical server. The VMs are migrated from the logical dedicated host to the clone dedicated host. The migration is transparent, whereby user operations running on the VMs during the migration continue without interruption. In response to completion of the migration of the VMs to the clone dedicated host, the logical dedicated host is de-provisioned from the first physical server.

[0025] This method of live migration of a logical dedicated host is transparent to the customer and requires no customer intervention. A user, such as a customer of a cloud service, can still use their logical dedicated host while the logical dedicated host is being live migrated. For example, the user can perform all actions, such as provisioning a new VM, deleting an existing VM, etc., clearly on their logical dedicated host.

[0026] This method for live migration causes no interruption to the customer and no downtime to their resources.

[0027] Also, this method helps ensure that the logical dedicated host on which the user workload is running is properly maintained, upgraded, and healthy while reducing any interruptions due to maintenance of the hardware running the logical dedicated host.

[0028] In one approach, the resource configuration of the second physical server is substantially identical to that of the first physical server. Thus, the clone-dedicated host may be configured to have the same logical resource configuration as the logical-dedicated host. For example, the same types and amounts of resources allocated to the logical-dedicated host on the first physical server may be allocated to the clone-dedicated host on the second physical server. By selecting a second physical server with substantially the same resource configuration as the first physical server, the clone-dedicated host can function essentially identically to the logical-dedicated host. Similarly, because the clone-dedicated host has the same logical resource configuration as the logical-dedicated host, strategic placement of VMs specifically selected by the user for benefits such as cost optimization, high availability, and performance is efficiently maintained after migration.

[0029] In one approach, VMs running on a clone-dedicated host are presented to the user as running on a logical-dedicated host during and after the VM migration. Similarly, a clone-dedicated host is presented to the user as a logical-dedicated host after the migration of the logical-dedicated host and its VMs. In this way, the dedicated host seen by the user before, during, and after the migration remains unchanged, and all VMs continue to run on what the user sees as the original logical-dedicated host.

[0030] In one approach, the method includes the step of creating a migration object used to track the migration of a logical exclusive host in response to receiving a request. The migration object is then acted upon to create a clone exclusive host. A second physical server is identified, and the clone exclusive host is provisioned on the second physical server. The migration object is updated in response to the provisioning of the clone exclusive host on the second physical server. The VM migration is initiated. This procedure enables the live migration of a logical exclusive host to a second physical server without affecting the operation or usability of the logical exclusive host and the VMs running on it.

[0031] One approach to deprovisioning a logically dedicated host involves deleting the dedicated host object, thereby prompting the scheduler microservice to deprovision the logically dedicated host. The migration object is updated to a completed state. The physical server is then released and made available for maintenance, use for other tasks, etc.

[0032] In one approach, a request to provision a new VM is received from the user during the VM migration. In response to the request to provision a new VM, the new VM is provisioned on the clone-dedicated host during the VM migration. In this way, the functionality provided by the logical-dedicated host remains transparent to the user during the migration to the clone-dedicated host. Also, by creating the new VM on the clone-dedicated host, the new VM does not need to be migrated, thereby reducing computing resources and improving the overall performance of the computer performing the migration.

[0033] In one approach, provisioning a new VM on a clone-dedicated host involves determining the total amount of available resources on both the logical-dedicated host and the clone-dedicated host. This determination is made by comparing the amount of resources required by the new VM with the total amount of available resources to determine if the total amount of available resources is sufficient to meet the request for provisioning the new VM. In response to determining that the total amount of available resources is sufficient to meet the request for provisioning the new VM, provisioning of the new VM on the clone-dedicated host is scheduled. This subprocess may further include adding the new VM to the list of VMs running on the clone-dedicated host and updating the amount of available resources on the clone-dedicated host. This process has the technical effect of ensuring that there are sufficient resources available to properly run the new VM.

[0034] In one approach, a user requests the deletion of one of the VMs during the VM migration, and in response to this request, one of the VMs is deleted during the migration. In this way, the functionality provided by the logical dedicated host remains transparent to the user during the migration to the clone dedicated host. Furthermore, by enabling the deletion of VMs during migration, deleted VMs do not need to be migrated, or if the VM has already been migrated, enabling its deletion during the VM migration frees up resources on the clone dedicated host, which in turn allows new VMs to be provisioned on the clone dedicated host.

[0035] A computer program product for the live migration of a logical dedicated host and virtual machines running thereon from a first physical server to a second physical server, according to one embodiment, includes one or more computer-readable storage media and program instructions collectively stored in one or more computer-readable storage media. The program instructions include program instructions for performing any combination of the methods described above.

[0036] A system according to one embodiment includes a processor and logic that is integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform any combination of the methods described above.

[0037] Various aspects of this disclosure are described by computer system descriptions, flowcharts, block diagrams, and / or block diagrams of machine logic included in computer program products (CPPs). With respect to any flowchart, depending on the technology involved, operations may be performed in a different order than those shown in a given flowchart. For example, also depending on the technology involved, two operations shown in consecutive blocks of a flowchart may be performed in reverse order, as a single integrated step, simultaneously, or with at least partial time overlap.

[0038] The term "aspect of a computer program product" ("CPP aspect" or "CPP") is used in this disclosure to describe any set of one or more storage media (also called "media") that collectively comprises one or more sets of storage devices containing machine-readable code corresponding to instructions and / or data for performing computer operations expressly expressed in a given CPP claim. "Storage device" is any tangible device capable of holding and storing instructions for use by a computer processor. Computer-readable storage media may, but are not limited to, electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, machine storage media, or any preferred combination thereof. Some known types of storage devices, including these media, include diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disk read-only memory (CD-ROM), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices (such as pits / lands formed on the main surface of punch cards or disks), or any suitable combination of those described above. When the term "computer-readable storage medium" is used in this disclosure, it shall not be construed as storage in the form of transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, optical pulses passing through optical fiber cables, electrical signals communicated through wires, and / or other transmission media. As those skilled in the art will understand, data is moved at several intermittent points during the normal operation of the storage device, such as during access, defragmentation, or garbage collection; however, data is not transient while it is stored, so the foregoing does not make the storage device transient.

[0039] The computing environment 100 includes an example of an environment for executing at least some of the computer code involved in performing the method of the present invention, such as the code for the dedicated host live migration of block 150 described. In addition to block 150, the computing environment 100 includes, for example, a computer 101, a wide area network (WAN) 102, an end-user device (EUD) 103, a remote server 104, a public cloud 105, and a private cloud 106. In this approach, the computer 101 includes a processor set 110 (including processing circuits 120 and a cache 121), a communication fabric 111, volatile memory 112, persistent storage 113 (including an operating system 122 and block 150 identified above), a peripheral device set 114 (including a user interface (UI) device set 123, storage 124, and an Internet of Things (IoT) sensor set 125), and a network module 115. The remote server 104 includes a remote database 130. The public cloud 105 includes a gateway 140, a cloud orchestration module 141, a host physical machine set 142, a virtual machine set 143, and a container set 144.

[0040] Computer 101 may take the form of a desktop computer, laptop computer, tablet computer, smartphone, smartwatch or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device that is currently known or may be developed in the future, capable of running programs, accessing networks, or querying databases such as remote database 130. As is well understood in the field of computer technology, and depending on the technology, the execution of a computer implementation may be distributed among multiple computers and / or multiple locations. On the other hand, in this description of the computing environment 100, in order to make the explanation as concise as possible, the detailed discussion will focus on a single computer, specifically computer 101. Although computer 101 is not shown in the cloud in Figure 1, it may be located in the cloud. On the other hand, computer 101 does not need to be located in the cloud, except to any extent that may be definitively shown.

[0041] The processor set 110 includes one or more computer processors of any kind currently known or to be developed in the future. The processing circuitry 120 may be distributed across multiple packages, for example, multiple interconnected integrated circuit chips. The processing circuitry 120 may implement multiple processor threads and / or multiple processor cores. The cache 121 is memory located within the processor chip package and is typically used for data or code that should be available for high-speed access by threads or cores running on the processor set 110. The cache memory is typically organized into multiple levels depending on its relative proximity to the processing circuitry. Alternatively, some or all of the cache for the processor set may be located "off-chip". In some computing environments, the processor set 110 may operate using qubits and be designed to perform quantum computing.

[0042] Computer-readable program instructions are typically loaded onto computer 101 and cause the processor set 110 of computer 101 to execute a series of operational steps, thereby realizing the computer implementation method. As a result, the instructions thus executed instantiate the methods specified in the flowcharts and / or descriptions of the computer implementation methods contained herein (collectively referred to as the "Methods of the Invention"). These computer-readable program instructions are stored in various types of computer-readable storage media, such as cache 121 and other storage media considered below. The program instructions and associated data are accessed by the processor set 110 to control and direct the execution of the Methods of the Invention. In computing environment 100, at least some of the instructions for executing the Methods of the Invention may be stored in block 150 within persistent storage 113.

[0043] The communication fabric 111 is a signal conduction path that enables various components of the computer 101 to communicate with one another. Typically, this fabric is made up of switches and conductive paths, such as buses, bridges, physical input / output ports, and similar components. Other types of signal communication paths may be used, such as fiber optic communication paths and / or wireless communication paths.

[0044] The volatile memory 112 is any type of volatile memory currently known or to be developed in the future. Examples include dynamic random-access memory (RAM) or static RAM. Typically, volatile memory 112 is characterized by random access, but this is not required unless explicitly stated. In computer 101, the volatile memory 112 is located in a single package and resides inside computer 101, but alternatively or additionally, the volatile memory may be distributed across multiple packages and / or located externally to computer 101.

[0045] The persistent storage 113 is any form of non-volatile storage for a computer, currently known or to be developed in the future. The non-volatility of this storage means that the stored data is maintained regardless of whether power is supplied to the computer 101 and / or directly to the persistent storage 113. The persistent storage 113 may be read-only memory (ROM), but typically at least a portion of the persistent storage allows for writing, deleting, and rewriting of data. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. The operating system 122 may take several forms, such as various known proprietary operating systems employing a kernel or open-source portable operating system interface type operating systems. The code contained in block 150 typically includes at least some computer code involved in performing the method of the present invention.

[0046] The peripheral device set 114 includes a set of peripheral devices for the computer 101. Data communication connections between the computer 101's peripheral devices and other components may be implemented in various ways, such as Bluetooth® connections, near-field communication (NFC) connections, connections made by cables (such as Universal Serial Bus (USB) type cables), insert-type connections (e.g., Secure Digital (SD) cards), connections made through local area communication networks, and even connections made through wide area networks such as the Internet. In various approaches, the UI device set 123 may include components such as display screens, speakers, microphones, wearable devices (such as goggles and smartwatches), keyboards, mice, printers, touchpads, game controllers, and haptic devices. Storage 124 is external storage such as an external hard drive, or insertable storage such as an SD card. Storage 124 may be persistent and / or volatile. In some approaches, storage 124 may take the form of a quantum computing memory device for storing data in the form of qubits. In approaches where computer 101 is required to have a large amount of storage (for example, computer 101 locally stores and manages a large database), this storage may be provided by peripheral storage devices designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor set 125 consists of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another may be a motion detector.

[0047] The network module 115 is a collection of computer software, hardware, and firmware that enables computer 101 to communicate with other computers via the WAN 102. The network module 115 may include hardware such as a modem or Wi-Fi signal transceiver, software for packetizing and / or depacketizing data for communication network transmission, and / or web browser software for transmitting data over the internet. In some approaches, the network control and network forwarding functions of the network module 115 are performed on the same physical hardware device. In other approaches (e.g., using software-defined networking (SDN)), the control and forwarding functions of the network module 115 are performed on physically separate devices, so that the control function manages several different network hardware devices. Computer-readable program instructions for performing the method of the present invention can typically be downloaded from an external computer or external storage device to computer 101 via a network adapter card or network interface included in the network module 115.

[0048] WAN102 is any wide area network (e.g., the Internet) that can transmit computer data over non-local distances using any currently known or future-developed technology for transmitting computer data. In some approaches, WAN102 may be replaced and / or complemented by a local area network (LAN), such as a Wi-Fi network, designed to transmit data between devices located in a local area. WANs and / or LANs typically include computer hardware such as copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.

[0049] The end-user device (EUD) 103 is any computer system used and controlled by an end-user (e.g., a customer of the company operating computer 101), and may take any of the forms considered above in relation to computer 101. The EUD 103 typically receives useful and valuable data from the operation of computer 101. For example, in a hypothetical case where computer 101 is designed to provide recommendations to the end-user, these recommendations would typically be transmitted from computer 101's network module 115 to the EUD 103 via the WAN 102. Thus, the EUD 103 can display or otherwise present recommendations to the end-user. In some approaches, the EUD 103 may be a client device such as a thin client, heavy client, mainframe computer, or desktop computer.

[0050] The remote server 104 is any computer system that provides at least some data and / or functionality to computer 101. The remote server 104 may be controlled and used by the same entity that operates computer 101. The remote server 104 represents a machine that collects and stores useful and beneficial data for use by other computers, such as computer 101. For example, in a hypothetical case where computer 101 is designed and programmed to provide recommendations based on historical data, this historical data may be provided to computer 101 from the remote database 130 of the remote server 104.

[0051] The public cloud 105 is any computer system available for use by multiple entities, providing on-demand availability of computer system resources and / or other computing capabilities, particularly data storage (cloud storage) and computing capabilities, without requiring direct and active management by the user. Cloud computing typically leverages resource sharing to achieve coherence and economies of scale. Direct and active management of the computing resources of the public cloud 105 is performed by the computer hardware and / or software of the cloud orchestration module 141. The computing resources provided by the public cloud 105 are typically implemented by virtual computing environments running on various computers that make up the host physical machine set 142, which is a universe of physical computers located within and / or available to the public cloud 105. The virtual computing environment (VCE) typically takes the form of virtual machines from the virtual machine set 143 and / or containers from the container set 144. These VCEs can be stored as images and transferred either as images or after instantiation of the VCEs, among and between hosts on various physical machines. The cloud orchestration module 141 manages the transfer and storage of images, deploys new instantiations of VCEs, and manages the active instantiation of VCE deployments. The gateway 140 is a collection of computer software, hardware, and firmware that enables the public cloud 105 to communicate over the WAN 102.

[0052] Here, some further explanation of virtualized computing environments (VCEs) is provided. A VCE can be stored as an "image." A new active instance of a VCE can be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature where the kernel allows for the existence of multiple isolated user-space instances called containers. These isolated user-space instances typically behave like actual computers in terms of the programs running within them. Computer programs running on a normal operating system can utilize all of that computer's resources, including connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and the devices allocated to the container; this feature is known as containerization.

[0053] A private cloud 106 is similar to a public cloud 105, except that its computing resources are available only for use by a single enterprise. While private cloud 106 is illustrated as being in communication with the WAN 102, in other ways, a private cloud may be completely disconnected from the internet and accessible only via a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), often implemented by different vendors. Each of the multiple clouds remains a separate, discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the multiple configuration clouds. In this approach, both public cloud 105 and private cloud 106 are part of the larger hybrid cloud.

[0054] In some embodiments, systems using various approaches may include a processor and logic integrated into and / or executable by the processor, the logic configured to perform one or more of the processing steps enumerated herein. The processor may be any configuration as described herein, such as a discrete processor or processing circuit, including many components such as processing hardware, memory, and I / O interfaces. Integrated means that the processor has the logic embedded in it as hardware logic, such as an application-specific integrated circuit (ASIC), FPGA, etc. Executable by the processor means that the logic is hardware logic, software logic such as firmware, parts of an operating system, parts of an application program, etc., or any combination of hardware and software logic that is accessible by the processor and configured to cause the processor to perform certain functions when executed by the processor. As known in the art, software logic may be stored in local and / or remote memory of any memory type. Software processor modules and / or any processor known in the art, such as hardware processors like ASICs, FPGAs, central processing units (CPUs), integrated circuits (ICs), and graphics processing units (GPUs), may also be used.

[0055] Naturally, this logic may be implemented through various approaches, either as a method on any device and / or system, or as a computer program product.

[0056] As mentioned above, server maintenance that causes interruptions typically requires shutting down the hardware, which in turn means that user workloads are terminated while maintenance is being performed. This is particularly problematic when users, such as companies, their employees, or customers, depend on uninterrupted access to functions and processes provided by VMs running on logically dedicated hosts, for example, in the cloud or on a service provider's network. For example, a company may depend on processes running on VMs on a logically dedicated host for its daily operations. Downtime on a logically dedicated host reduces a company's productivity by delaying or stopping operations that depend on workloads handled by VMs on the dedicated logical host. In another example, a financial institution's customers may depend on uninterrupted connectivity to the financial institution's logically dedicated host to process credit card transactions. Downtime on a logically dedicated host results in transaction failures and disruption to the customer's business.

[0057] The method presented herein for live migration of logical dedicated hosts avoids downtime for user workloads by moving the logical dedicated host and its VMs to new hardware without requiring a power outage or workload interruption. This migration is completely transparent to the user. Functionality of the logical dedicated host and its VMs remains uninterrupted during the migration to the new hardware. This means that any work being done by the VMs can continue, and the user can freely create and / or remove VMs while maintaining a single tenancy.

[0058] The benefits of this live migration method presented herein extend beyond users. Operators of services providing logical dedicated hosts and VMs can seamlessly shift workloads from one server to another without interrupting user workloads, without sending alerts or updates to users, or scheduling downtime at a time convenient for users. This reduces the amount of effort and time required to shift workloads to a new server, and allows operators to quickly address underlying hardware concerns.

[0059] In a preferred embodiment of the present invention, the method presented herein enables the migration of a logically dedicated host and its associated VMs from one physical server to another, while keeping operations transparent to the user of the logically dedicated host, in a manner that does not interfere with the user's ability to perform any operation on either the logically dedicated host or the VMs running on it. The user can continue to use and operate the logically dedicated host in the same manner without any downtime to the workloads running on the VMs on the logically dedicated host.

[0060] Referring here to Figure 2, a flowchart of Method 200 for the live migration of a logical dedicated host and its associated VMs (e.g., VMs running on the logical dedicated host) from a first physical server to a second physical server is shown in one approach. Method 200 may be implemented in any of the environments shown in other figures described herein in various approaches. Naturally, as will be understood by those skilled in the art by reading this specification, Method 200 may include more or fewer operations than those specifically described in Figure 2.

[0061] Each step of Method 200 may be performed by any suitable component of the operating environment. For example, in various approaches, Method 200 may be performed in part or in whole by a computer or any other device having one or more processors internally. A processor, such as a processing circuit, chip, and / or module, implemented in hardware and / or software and preferably having at least one hardware component, may be used in any device to perform one or more steps of Method 200. Exemplary processors include, but are not limited to, central processing units (CPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), combinations thereof, or any other suitable computing devices known in the art.

[0062] As shown in Figure 2, method 200 may begin with operation 202, in response to receiving a request to migrate the logical proprietary host from the first physical server, a clone of the logical proprietary host is created, thereby creating a clone proprietary host. An example of creating a clone by cloning a logical proprietary host object is presented below. Known cloning techniques may be adapted to create a clone proprietary host by teaching herein, in a manner that will become apparent to those skilled in the art after reading this disclosure.

[0063] In operation 204, the clone-dedicated host is provisioned on a second physical server. The second physical server is preferably in the same computing cluster as the first physical server. Preferably, the resource configuration of the second physical server substantially matches that of the first physical server. For example, the same types of resources allocated to the logical-dedicated host on the first physical server may be allocated to the clone-dedicated host on the second physical server. Examples of resources include processor bandwidth, data storage capacity, and memory allocation.

[0064] In operation 206, the VM is migrated from a logically dedicated host to a clone-dedicated host. An example of VM migration is presented in more detail below, and any part thereof may be implemented in method 200.

[0065] As explained in more detail above, VM migration is transparent, so that user operations running on the virtual machine continue uninterrupted during the migration. For example, a new VM may be provisioned during the VM migration. An example process for provisioning a new VM during migration is described below. Similarly, a VM may be deleted during the VM migration.

[0066] In one approach, virtual machines running on a clone-dedicated host are presented to the user as running on a logical-dedicated host during and after the virtual machine migration, and the clone-dedicated host is presented to the user as a logical-dedicated host after the migration of the logical-dedicated host is complete. Thus, for example, when some VMs have been migrated to the clone-dedicated host and others have not yet been migrated, the VMs are presented to the user as running on a logical-dedicated host, even though they are currently distributed across two dedicated hosts.

[0067] In one exemplary approach, a hypervisor that supports transparent live VM migration to the user is used to migrate the VM. One such hypervisor is the QEMU hypervisor. In one approach, a clone of the VM to be migrated is created on a dedicated host for the clone, and then the hypervisor copies the memory contents, state, processes, registers, etc., to the dedicated host for the clone. As the migration nears completion, the hypervisor freezes the original VM and copies the last data (e.g., the last dirty page) to the clone VM, and in response, the user is then redirected to the VM on the dedicated host for the clone, where the dedicated host has the state, memory contents, etc., of the original VM. As a result, the workload continues to be processed, and the user should not notice that the VM has been moved. Note that in some cases where computationally intensive operations are performed on a particular VM while it is being live-migrated, a slight delay of a few milliseconds may occur during the VM migration. However, given that such delays are only for a short period and that the operation continues normally, the delay is not perceptible to human users, and therefore the operation is considered uninterrupted.

[0068] Known techniques for live VM migration may be adapted for use in migrating VMs as taught herein, in a manner that would become apparent to a person skilled in the art after reading this disclosure.

[0069] In operation 208, in response to the completion of the VM migration to the cloned dedicated host, the logical dedicated host running on the first physical server is deprovisioned. In one approach, this operation involves deleting the logical dedicated host object, thereby prompting the scheduler microservice to deprovision the logical dedicated host. The migration object is updated to a completed state. The first physical server is then released and made available for maintenance, use for other tasks, etc. The cloned dedicated host handles the user's workload as if it were the original logical dedicated host.

[0070] Thus, Method 200 allows the migration of a logical exclusive host from the first server to the second server, where the clone exclusive host on the second server has the same configuration as the logical exclusive host, the same network characteristics if it is in the same cluster, appears to be a logical exclusive host, and is essentially a strict clone of the logical exclusive host, having the same number of VMs in the same arrangement with the same characteristics. Furthermore, there is no need to notify the user, and the user does nothing regarding the migration of the logical exclusive host and its VMs.

[0071] In the case of a dedicated host group, for example, if one of the logical dedicated hosts is migrated, as shown in Figure 7, the logical dedicated host may be migrated using method 200 in Figure 2. The clone dedicated host is then inserted into the dedicated host group. Similarly, if all of the logical dedicated hosts are migrated to one or more physical servers, the logical dedicated hosts may be migrated sequentially, one at a time, and each clone dedicated host is inserted into the dedicated host group when each migration is complete. Thus, rather than simply moving the VM to another logical dedicated host in the group, the preferred approach proceeds as described in this paragraph, and so that it appears to the user that nothing has changed.

[0072] Figure 3 is a graphical representation of an example of the migration process 300 performed by method 200 in Figure 2. As shown in Figure 3, the logical dedicated host 302 has three VMs, namely VM-1, VM-2, and VM-3. In response to receiving a request to migrate the logical dedicated host 302, a clone dedicated host 304 is created. See also operations 202 and 204 in Figure 2. The VMs are migrated to the clone dedicated host 304. See also operation 206 in Figure 2. After all VMs have been migrated, the migration of the logical dedicated host 302 is complete, and the underlying compute node 306 becomes available for service, repurposing, etc. See also operation 208 in Figure 2.

[0073] Referring here to Figure 4, a flowchart of an exemplary method 400 for the live migration of a logical dedicated host and its associated VMs (e.g., VMs running on the logical dedicated host) from a first physical server to a second physical server is shown in one approach. Method 400 may be implemented in any of the environments shown in Figures 1 to 3, among various approaches. Naturally, as will be understood by those skilled in the art by reading this specification, more or less operations than those specifically described in Figure 4 may be included in Method 400.

[0074] Each step of Method 400 may be performed by any suitable component of the operating environment. For example, in various approaches, Method 400 may be performed in part or in whole by a computer or any other device having one or more processors internally. A processor, such as a processing circuit, chip, and / or module, implemented in hardware and / or software and preferably having at least one hardware component, may be used in any device to perform one or more steps of Method 400. Exemplary processors include, but are not limited to, central processing units (CPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), combinations thereof, or any other suitable computing devices known in the art.

[0075] As shown in Figure 4, method 400 may be initiated in operation 402, where the controller microservice reacts to the requested migration action and creates a migration object used to track the migration.

[0076] In operation 404, the migration controller microservice acts on the migration object to create a clone of the original exclusive host object.

[0077] In operation 406, the scheduler microservice discovers a second physical server and provisions a clone-dedicated host on it. The original logical-dedicated host and the clone-dedicated host are labeled to indicate their roles, allowing the scheduler to make appropriate decisions about VM placement when VMs are migrated or new VMs are provisioned.

[0078] In operation 408, in response to the clone being scheduled, the migration controller updates the migration object and signals the controller to start the VM migration.

[0079] In operation 410, in response to the request, the virtual machine controller, together with the scheduler controller, migrates the VM from the original logical exclusive host to the clone exclusive host.

[0080] In operation 412, the completion of the exclusive host migration is initiated in response to the migration of the original logical exclusive host.

[0081] In operation 414, the migration controller deletes the original logical exclusive host object and prompts the scheduler microservice to deprovision the original logical exclusive host. The migration object is updated to a completed state.

[0082] Referring now to Figure 5, an exemplary logical-dedicated host migration process 500 is shown in one approach. Process 500 may be performed according to the present invention in any of the environments shown in Figures 1 to 4, among various approaches. Naturally, as will be understood by those skilled in the art by reading this specification, more or less operations than those specifically described in Figure 5 may be included in process 500.

[0083] Each step of process 500 may be performed by any suitable component of the operating environment. For example, in various approaches, process 500 may be performed in part or in whole by a computer or any other device having one or more processors internally. A processor, such as a processing circuit, chip, and / or module, implemented in hardware and / or software and preferably having at least one hardware component, may be used in any device to perform one or more steps of process 500. Exemplary processors include, but are not limited to, central processing units (CPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), combinations thereof, or any other suitable computing devices known in the art.

[0084] As shown in the line titled "Before Migration," the logical dedicated host projection 502 presented to the user indicates that the underlying components of the logical dedicated host have four VMs running on it, and available resources of 20 virtual CPUs (vCPUs) and 200 gigabytes of remaining memory. Turning to the underlying components, the dedicated host projection controller 504 interfaces with the dedicated node 506 and projects the relevant parameters to the projection 502. The dedicated node 506 may be or contain a physical server. Four VMs (VM-1 to VM-4) are running on the dedicated node 506. Other features, such as node profiles and labels, may be described for various components with arbitrary values ​​for demonstration purposes only.

[0085] Next, referring to the "Migrating" line, a clone 508 of dedicated node 506 has been created. Dedicated nodes 506 and 508 have the same characteristics. The two VMs are shown as having migrated to the clone dedicated node 508. Here, the two dedicated nodes 506 and 508 are serving the user, but the characteristics projected to the user remain the same, as shown in, for example, dedicated host projection 502. In this example, the parameters of dedicated node 506 continue to be projected to the user. If the user makes a change, this change is sent to dedicated node 506 and, if necessary, propagated to the clone dedicated node 508, for example, if the user makes a change to VM1 in this example.

[0086] Next, referring to the line "At the end of the migration," the VM is running on clone-dedicated node 508. The dedicated host projection controller 504 is switched to clone-dedicated node 508 and begins projecting its parameters. The connection between dedicated nodes 506 and 508 is disconnected.

[0087] Next, referring to the line "After Migration," all of the user's resources now physically reside on the new dedicated host. Projection 502 retains the identification information (DHID a123) and characteristics of the original logical dedicated host, so the user is unaware of the migration.

[0088] The following sections describe various exemplary subprocesses that can be implemented by any of the processes described herein, such as the methods shown in Figures 2 to 5, through various approaches to carrying out the method of the present invention. Each paragraph in the sections generally corresponds to a specific operation of the subprocess.

[0089] Starting the dedicated node live migration

[0090] A live migration schedule action is initiated for the exclusive node (hereinafter referred to as a logical exclusive node, exclusive node, or source exclusive node). The migration action targets the specified exclusive host ID.

[0091] The dedicated node migration controller detects the requested live migration object and searches for the target dedicated node.

[0092] The dedicated node migration controller creates a clone dedicated node for the specified dedicated node. The clone dedicated node is configured to be exactly the same as the source dedicated node. The clone and source have different dedicated node IDs, but they are linked by a common label that identifies the ID of the original resource. In addition to the ID label, a migration role label, "Source" for the original dedicated node and "Destination" for the clone dedicated node, is added to both dedicated nodes.

[0093] The creation of a clone-dedicated node is detected by the dedicated node controller, which creates a node reservation object for the clone-dedicated node. The scheduler schedules the clone-dedicated node and updates the node reservation with the new physical node. Once scheduled, the clone-dedicated node object is updated with the allocated physical node. At this point, the clone is scheduled and ready for use.

[0094] At this point, the dedicated nodes (clone and source) are in the appropriate state to begin the VM migration.

[0095] Live migration of virtual machines (VMs)

[0096] The VM live migration action is initiated for the virtual machine on the source-dedicated node.

[0097] The scheduler can identify the target location (i.e., the clone-dedicated node) for the VM being migrated by looking at the dedicated host ID label and the migration role label (value = destination).

[0098] The scheduler understands the existing VMs on the source and, accordingly, reveals the available resources on the clone-dedicated node. This ensures that the clone-dedicated node has the resources to host the existing VMs on the source.

[0099] Since the VMs are fully migrated to dedicated clone nodes, the scheduler updates the calculation of available resources for the source and the corresponding dedicated clone nodes.

[0100] The steps described above are repeated for all VMs running on the source-dedicated node.

[0101] Provisioning a new virtual machine during a dedicated node live migration

[0102] To enable a fully transparent live migration of a dedicated node, the user must still be able to perform all possible actions on the dedicated node during the migration. A crucial part of this is scheduling new VMs for the dedicated node during the live migration. This requires aggregating available resources on both the source and cloned dedicated nodes.

[0103] The scheduler preferably attempts to always schedule any new virtual machines to the clone-dedicated node. By always selecting the clone-dedicated node as the target for placement, the scheduler ensures that no further virtual machine migrations are required.

[0104] When the scheduler selects a clone-dedicated node object for a new VM, additional validations of known types may be performed to ensure that there are sufficient available resources to satisfy the request for the new VM. This involves aggregating the available resources present in both the source-dedicated node and the clone-dedicated node. Details of this aggregation are described in the following sections.

[0105] If sufficient resources are available to meet the VM requirements, the VM will be scheduled on the clone-dedicated node. If sufficient resources are not available, the new VM request will be rejected.

[0106] End of dedicated node live migration

[0107] Once the source-dedicated node no longer has any VMs running on it, it is ready to complete the dedicated node live migration.

[0108] It should be clear that the various features of the above-described system and / or method can be combined in any way, creating multiple combinations as described above.

[0109] Furthermore, it will be understood that aspects of the present invention may be provided in the form of a service deployed for the customer in order to provide a service on demand.

[0110] The various aspects of the present invention are presented for illustrative purposes only and are not intended to be exhaustive or limit the disclosed approaches. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described approaches. The terminology used herein has been selected to best describe the approach principles, practical applications, or technological improvements over technologies available on the market, or to enable other persons skilled in the art to understand the approaches disclosed herein.

Claims

1. In response to receiving a request to migrate a logically dedicated host from a first physical server, the step of creating a clone of the logically dedicated host, thereby creating a cloned dedicated host; The step of provisioning the aforementioned clone-dedicated host on a second physical server; During the stage of migrating a virtual machine from the logical exclusive host to the clone exclusive host, user operations performed on the virtual machine continue uninterrupted during the migration of the virtual machine; and A step to deprovision the logical dedicated host in response to the completion of the migration of the virtual machine. A computer implementation method comprising the following:

2. The computer implementation method according to claim 1, wherein the resource configuration of the second physical server substantially matches the resource configuration of the first physical server.

3. The computer implementation method according to any of the preceding claims, wherein the virtual machine running on the clone-dedicated host is presented to the user as running on the logical-dedicated host during and after the migration of the virtual machine, and the clone-dedicated host is presented to the user as the logical-dedicated host after the completion of the migration of the logical-dedicated host.

4. In response to receiving the aforementioned request, the step of creating a migration object used to track the migration of the logically dedicated host; A step of acting on the migration object to create the clone-dedicated host; Steps to identify the second physical server; The step of provisioning the clone-dedicated host on the second physical server; The step of updating the migration object in response to provisioning the clone-dedicated host on the second physical server; and The step of initiating the migration of the virtual machine. A computer implementation method according to any of the above claims, comprising:

5. The computer implementation method according to claim 4, wherein the step of deprovisioning the logically exclusive host comprises the steps of deleting the logically exclusive host object and thereby prompting the scheduler microservice to deprovision the logically exclusive host; and updating the migration object to a completed state.

6. A computer implementation method according to any of the preceding claims, comprising the steps of: receiving a request from a user to provision a new virtual machine during the migration of the virtual machine; and provisioning the new virtual machine on the clone-dedicated host during the migration in response to the request to provision the new virtual machine.

7. The step of provisioning the new virtual machine on the clone-dedicated host is as follows: A step of determining the total amount of available resources for the logical exclusive host and the clone exclusive host; A step of determining whether the total amount of available resources is sufficient to satisfy the request to provision the new virtual machine by comparing the amount of resources required by the new virtual machine with the total amount of available resources; and The step of scheduling the provisioning of the new virtual machine on the clone-dedicated host in response to determining that the total amount of available resources is sufficient to meet the request for provisioning the new virtual machine. A computer implementation method according to claim 6, comprising:

8. A computer implementation method according to any of the above claims, comprising the steps of: receiving a request from a user to delete one of the virtual machines during the migration of the virtual machines; and deleting one of the virtual machines during the migration of the virtual machines in response to the request to delete one of the virtual machines.

9. A computer program product for live migration of a logical dedicated host and virtual machines running thereon from a first physical server to a second physical server, wherein the computer program product is The system comprises one or more computer-readable storage media, and program instructions collectively stored on the one or more computer-readable storage media, wherein the program instructions are A program instruction for creating a clone of a logically dedicated host and thereby creating a cloned dedicated host in response to receiving a request to migrate a logically dedicated host from a first physical server; Program instructions for provisioning the aforementioned clone-dedicated host on a second physical server; Program instructions for migrating a virtual machine from the logical exclusive host to the clone exclusive host, wherein user operations performed on the virtual machine continue uninterrupted during the migration of the virtual machine; and A program instruction to deprovision the logical dedicated host in response to the completion of the migration of the virtual machine. A computer program product that has [certain characteristics].

10. The computer program product according to claim 9, wherein the resource configuration of the second physical server substantially matches the resource configuration of the first physical server.

11. The computer program product according to any one of claims 9 to 10, wherein the virtual machine running on the clone-dedicated host is presented to the user as running on the logical-dedicated host during and after the migration of the virtual machine, and the clone-dedicated host is presented to the user as the logical-dedicated host after the completion of the migration of the logical-dedicated host.

12. Program instructions for creating a migration object used to track the migration of the logically dedicated host in response to receiving the aforementioned request; Program instructions for acting on the migration object to create the clone-dedicated host; Program instructions for identifying the second physical server; Program instructions for provisioning the clone-dedicated host on the second physical server; Program instructions for updating the migration object in response to provisioning the clone-dedicated host on the second physical server; and Program instructions for initiating the migration of the virtual machine A computer program product according to any one of the above claims 9 to 11, having the above-mentioned features.

13. The computer program product according to claim 12, wherein the step of deprovisioning the logically exclusive host includes a step of deleting the logically exclusive host object and prompting a scheduler microservice to deprovision the logically exclusive host; and a program instruction for updating the migration object to a completed state.

14. A computer program product according to any one of claims 9 to 13 above, wherein during the migration of the said virtual machine, it receives a request from a user to provision a new virtual machine, and in response to the request to provision the new virtual machine, it has program instructions for provisioning the new virtual machine on the clone-dedicated host during the migration.

15. The procedure for provisioning the new virtual machine on the clone-dedicated host is as follows: A procedure for determining the total amount of available resources for the aforementioned logical exclusive host and the aforementioned clone exclusive host; A procedure for determining whether the total amount of available resources is sufficient to satisfy the request to provision the new virtual machine by comparing the amount of resources required by the new virtual machine with the total amount of available resources; and A procedure for scheduling the provisioning of the new virtual machine on the clone-dedicated host in response to determining that the total amount of available resources is sufficient to satisfy the request for provisioning the new virtual machine. A computer program product according to claim 14, including the above.

16. A computer program product according to any one of claims 9 to 15, comprising: a program instruction for receiving a request from a user to delete one of the virtual machines during the migration of the virtual machines; and a program instruction for deleting one of the virtual machines during the migration of the virtual machines in response to the request to delete one of the virtual machines.

17. Processor; and The logic is integrated into the processor, executable by the processor, or integrated into and executable by the processor. The logic comprises, In response to receiving a request to migrate a logical exclusive host from the first physical server, a clone of the logical exclusive host is created, thereby creating a clone exclusive host; The clone-dedicated host is provisioned on a second physical server; The virtual machine is migrated from the logical exclusive host to the clone exclusive host, and user operations performed on the virtual machine continue uninterrupted during the migration of the virtual machine; and In response to the completion of the migration of the virtual machine, the logical dedicated host is deprovisioned. A system that is configured in such a way.

18. The system according to claim 17, wherein the resource configuration of the second physical server substantially matches the resource configuration of the first physical server.

19. The system according to any one of claims 17 to 18, wherein the virtual machine running on the clone-dedicated host is presented to the user as running on the logical-dedicated host during and after the migration of the virtual machine, and the clone-dedicated host is presented to the user as the logical-dedicated host after the completion of the migration of the logical-dedicated host.

20. In response to receiving the aforementioned request, create a migration object used to track the migration of the logically dedicated host; To create the clone-dedicated host, the migration object is acted upon; Identify the second physical server; Provision the clone-dedicated host on the second physical server; In response to provisioning the clone-dedicated host on the second physical server, update the migration object; and Start the migration of the virtual machine. The system according to any one of the above claims 17 to 19, comprising logic configured in such a manner.