IP Library Granted Patent US 8,230,069
Granted Patent B2
US 8,230,069 · App. 12/042,233 · Granted Jul 24, 2012

Server and storage-aware method for selecting virtual machine migration targets

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,230,069
App. No.
12/042,233
Granted
Jul 24, 2012
Kind
B2
Abstract

A method and system selecting a target physical machine for a virtual machine (VM) migration is provided. Selecting a target physical machine for a VM migration involves determining storage volume connectivity and spare path capacity of one or more candidate physical machines, and preferentially selecting among the candidate physical machines a migration target with storage volume connectivity and spare path capacity to satisfy storage volume access requirements of the VM.

Claims (59)

1. A method of selecting a target physical machine for a virtual machine (VM) migration, comprising:

determining one or more candidate physical machines with sufficient spare capacity to host the VM by dynamically:

monitoring status of each VM and each physical machine at a storage subsystem level, wherein dynamically monitoring status of VMs comprises continuously measuring CPU, memory and network bandwidth resources used by each VM over time to estimate ongoing needs of each VM for CPU, memory and network bandwidth resources, and wherein dynamically monitoring status of each physical machine results in providing measurements for a send and receive packet rate for each fiber channel port on each switch in the SAN;

gathering statistics and measurements for obtaining estimates for storage data transfer bandwidth and storage command throughput between the VM and associated storage volume in a storage area network (SAN), wherein the estimates are translated to capacity requirements on paths from host to storage volumes for each VM;

preferentially selecting as VM migration targets among the candidate physical machines one or more physical machines with sufficient storage volume connectivity and spare path capacity to satisfy storage volume access requirements of the VM, to host the VM, wherein VMs and physical machines are ranked, each VM and each candidate physical machine are paired based on the ranking, and VMs are selected for migration to a new assigned physical machine based on ranking values; and

continuously migrating VMs to selected candidate physical machines until sufficient migrations are performed to offload all overloaded physical machines so that load on all overloaded physical machines are reduced below a predetermined utilization threshold, wherein migrating VMs to selected candidate physical machines includes migration away from a source physical machine to the selected candidate physical machines.

2. The method of claim 1 further comprising determining storage volume connectivity and spare path capacity to the storage volume for one or more candidate physical machines for selection as target machines.

3. The method of claim 1 further including determining server and storage access capacity requirements of the VM and selecting candidate machines based on the VM server and storage access capacity requirements.

4. The method of claim 1 , wherein preferentially selecting among the candidate physical machines to host the VM, further includes selecting a migration target having sufficient storage volume connectivity and spare path capacity, to host the storage volume access requirements of the VM.

5. The method of claim 1 further including determining proximity and access latency of each candidate machine to one or more storage volumes accessed by the VM;

continuously recommending migration of VMs to selected candidate physical machines; and

selecting migration of selected VMs until sufficient migrations are performed to offload all overloaded physical machines so that load on all overloaded physical machines are reduced below a predetermined utilization threshold.

6. The method of claim 5 , wherein preferentially selecting among the candidate physical machines to host the VM further includes selecting a migration target having certain threshold proximity and certain threshold access latency to said storage volumes accessed by the VM.

7. The method of claim 6 further including determining a single rank value for each candidate physical machine based on one or more of: spare path capacity and lower latency to the storage volumes accessed by the VM;

wherein preferentially selecting among the candidate physical machines to host the VM further includes favoring machines with higher ranking value representing higher spare path capacity and lower latency to the storage volumes accessed by the VM.

8. The method of claim 6 further including determining a single rank value for each candidate physical machine based on one or more of: spare path capacity and lower latency to the storage volumes accessed by the VM, and lower resulting processing, memory, network and storage bandwidth utilizations at the target machine;

wherein preferentially selecting among the candidate physical machines to host the VM further includes selecting a candidate with the highest rank value as the target machine.

9. A system comprising:

one or more virtual machines (VMs) hosted by one or more physical machines; and

a virtual machine (VM) migration module for selecting a target physical machine for a virtual machine (VM) migration, comprising:

a monitor configured for determining one or more candidate physical machines with sufficient spare capacity to host the VM by dynamically:

monitoring status of each VM and each physical machine at a storage subsystem level, wherein dynamically monitoring status of VMs comprises continuously measuring CPU, memory and network bandwidth resources used by each VM over time to estimate ongoing needs of each VM for CPU, memory and network bandwidth resources, and wherein dynamically monitoring status of each physical machine results in providing measurements for a send and receive packet rate for each fiber channel port on each switch in the SAN; and

gathering statistics and measurements for obtaining estimates for storage data transfer bandwidth and storage command throughput between the VM and associated storage volume in a storage area network (SAN), wherein the estimates are translated to capacity requirements on paths from host to storage volumes for each VM; and

a migration planner configured for preferentially selecting as VM migration targets among the candidate physical machines one or more physical machines with sufficient storage volume connectivity and spare path capacity to satisfy storage volume access requirements of the VM to host the VM, wherein VMs and physical machines are ranked, and each VM and each candidate physical machine are paired based on the ranking, and VMs are selected for migration to a new assigned physical machine based on ranking values, the migration planner further continuously migrates VMs to selected candidate physical machines until sufficient migrations are performed to offload all overloaded physical machines so that load on all overloaded physical machines are reduced below a predetermined utilization threshold, wherein migrating VMs to selected candidate physical machines includes migration away from a source physical machine to the selected candidate physical machines.

10. A computer-implemented method for selecting a target physical machine for a virtual machine (VM) migration, comprising:

determining one or more candidate physical machines with sufficient spare capacity to host the VM by dynamically:

monitoring status and continuously obtaining measurements for each VM and each physical machine at a storage subsystem level;

gathering statistics and measurements for obtaining estimates for storage data transfer bandwidth and storage command throughput between the VM and associated storage volume in a storage area network (SAN);

preferentially selecting as VM migration targets among the candidate physical machines one or more physical machines with sufficient storage volume connectivity and spare path capacity to satisfy storage volume access requirements of the VM, to host the VM;

performing migration of a selected VM migration target to a selected candidate physical machine; and

continuously migrating VMs to selected candidate physical machines until sufficient migrations are performed to offload all overloaded physical machines so that load on all overloaded physical machines are reduced below a predetermined utilization threshold, wherein migrating VMs to selected candidate physical machines includes migration away from a source physical machine to the selected candidate physical machines.

11. The computer-implemented method of claim 10 , wherein determining one or more candidate physical machines further includes determining the VM spare capacity requirement VMWeight as:

VMWeight(VM)=1/((1−cpu_req)*(1−mem_req)*(1−net_req)),

wherein cpu_req, mem_req, and net_req are the cpu, memory, and net requirements of the VM as fractions of the machine capacity.

12. The computer-implemented method of claim 11 , wherein determining one or more candidate physical machines further includes determining the machine spare capacity PMWeight of each physical machine PM as:

UWeight(PM)=1/((1−cpu_load)*(1−mem_load)*(1−net_load)),

wherein the cpu_load, mem_load, and net_load are the cpu, memory, and net loads on the physical machine PM.

13. A program product stored on a computer useable non-transitory storage medium for selecting a target physical machine for a virtual machine (VM) migration in a storage area network (SAN), the program product comprising program code for causing a computer system to perform the following steps:

determining one or more candidate physical machines with sufficient spare capacity to host the VM by dynamically:

monitoring status of each VM and each physical machine at a storage subsystem level, wherein dynamically monitoring status of VMs comprises continuously measuring CPU, memory and network bandwidth resources used by each VM over time to estimate ongoing needs of each VM for CPU, memory and network bandwidth resources, and wherein dynamically monitoring status of each physical machine results in providing measurements for a send and receive packet rate for each fiber channel port on each switch in the SAN; and

gathering statistics and measurements for obtaining estimates for storage data transfer bandwidth and storage command throughput between the VM and associated storage volume in the SAN, wherein the estimates are translated to capacity requirements on paths from host to storage volumes for each VM;

preferentially selecting as VM migration targets among the candidate physical machines one or more physical machines with sufficient storage volume connectivity and spare path capacity to satisfy storage volume access requirements of the VM, to host the VM, wherein VMs and physical machines are ranked, and each VM and each candidate physical machine are paired based on the ranking, and VMs are selected for migration to a new assigned physical machine based on ranking values;

determining proximity and access latency of each candidate machine to one or more storage volumes accessed by the VM;

continuously recommending migration of VMs to selected candidate physical machines; and

selecting migration of selected VMs until sufficient migrations are performed to offload all overloaded physical machines so that load on all overloaded physical machines are reduced below a predetermined utilization threshold.

14. The program product of claim 13 , wherein determining one or more candidate physical machines further includes determining the VM spare capacity requirement VMWeight as:

VMWeight(VM)=1/((1−cpu_req)*(1−mem_req)*(1−net_req)),

wherein cpu_req, mem_req, and net_req are the cpu, memory, and net requirements of the VM as fractions of the machine capacity.

15. The program product of claim 14 , wherein determining one or more candidate physical machines further includes determining the machine spare capacity PMWeight of each physical machine PM as:

UWeight(PM)=1/((1−cpu_load)*(1−mem_load)*(1−net_load)),

wherein the cpu_load, mem_load, and net_load are the cpu, memory, and net loads on the physical machine PM.

16. A method of selecting a target physical machine for a virtual machine (VM) migration, comprising:

determining one or more candidate physical machines with sufficient spare capacity to host the VM by dynamically:

monitoring status of each VM and each physical machine at a storage subsystem level, wherein dynamically monitoring status of VMs comprises continuously measuring CPU, memory and network bandwidth resources used by each VM over time to estimate ongoing needs of each VM for CPU, memory and network bandwidth resources, and wherein dynamically monitoring status of each physical machine results in providing measurements for a send and receive packet rate for each fiber channel port on each switch in the SAN;

gathering statistics and measurements for obtaining estimates for storage data transfer bandwidth and storage command throughput between the VM and associated storage volume in a storage area network (SAN), wherein the estimates are translated to capacity requirements on paths from host to storage volumes for each VM;

preferentially selecting as VM migration targets among the candidate physical machines one or more physical machines with sufficient storage volume connectivity and spare path capacity to satisfy storage volume access requirements of the VM, to host the VM, wherein VMs and physical machines are ranked, each VM and each candidate physical machine are paired based on the ranking, and VMs are selected for migration to a new assigned physical machine based on ranking values; and

determining proximity and access latency of each candidate machine to one or more storage volumes accessed by the VM;

continuously recommending migration of VMs to selected candidate physical machines; and

selecting migration of selected VMs until sufficient migrations are performed to offload all overloaded physical machines so that load on all overloaded physical machines are reduced below a predetermined utilization threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2014
From: INTERNATIONAL BUSINESS MACHINES
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 034292/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2008
From: KORUPOLU, MADHUKAR R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020598/0600 →
Continuity (1)
Related Publication 20090228589A1 · Sep 10, 2009