×

Gang migration of virtual machines using cluster-wide deduplication

  • US 9,372,726 B2
  • Filed: 12/20/2013
  • Issued: 06/21/2016
  • Est. Priority Date: 01/09/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method for gang migration with global deduplication, comprising:

  • providing a datacenter comprising;

    a first plurality of virtual machines in a first cluster having a first controller, defined by a first set of information residing in a first storage medium,a second cluster having a second controller, defined by a second set of information residing in a second storage medium,the first cluster and the second cluster each communicating with each other through respective communication ports to at least one data communication network;

    maintaining a first hash table of the memory pages of the first storage medium and a second hash table of the memory pages of the second storage medium;

    performing a first cluster-wide deduplication of the first plurality of virtual machines, to identify first redundant memory pages of the first storage medium representing the respective virtual machines of the first cluster that have corresponding memory page content to each other based on at least the hashing of the memory pages;

    tracking memory pages in the first storage medium that have changed content after hashing;

    periodically exchanging the first and second hash tables between the first cluster and the second cluster through the at least one communication network;

    initiating a simultaneous live migration of the first plurality of virtual machines, by communicating information to reconstitute the first plurality of virtual machines as a second plurality of virtual machines in the second cluster defined by a second set of information residing in a second storage niedium, through the at least one data communication network, after at least one exchange of the first and second hash tables;

    receiving at least one memory page by the second cluster from a third cluster distinct from the first and second clusters, and updating the periodically exchanged second hash table to reflect the received at least one memory page from the third cluster;

    based on the identification of the first redundant memory pages, the periodically exchanged first and second hash tables, and tracked memory pages that have changed content after hashing, selectively communicating information representing the unique memory pages of the first storage medium that are not already present in the second storage medium through the at least one communication network to the second storage medium without communicating more than one copy of unchanged redundant memory pages of the first storage medium or any copy of a memory page already in the second storage medium, and updating the periodically exchanged second hash table to reflect the communicated unique memory pages from the first cluster; and

    subsequent to communication of the information representing the unique memory pages of the first storage medium through the at least one communication network, duplicating within the second cluster by the second controller, the redundant memory pages of the first storage medium and memory pages already in the second storage medium required for the second plurality of virtual machines, to reconstitute the second plurality of virtual machines within the second cluster.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×