US2014208012A1PendingUtilityA1

Virtual disk replication using log files

48
Assignee: MICROSOFT CORPPriority: Jul 22, 2011Filed: Mar 21, 2014Published: Jul 24, 2014
Est. expiryJul 22, 2031(~5 yrs left)· nominal 20-yr term from priority
G06F 11/1004G06F 3/065G06F 11/2074G06F 3/0619G06F 2201/855G06F 2201/815G06F 3/067G06F 11/1471
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques involving replication of virtual machines at a target site are described. One representative technique includes an apparatus including a virtual machine configured to provide storage access requests targeting a virtual disk. A storage request processing module is coupled to the virtual machine to receive the storage access requests and update the virtual disk as directed by the storage access requests. A replication management module is coupled to the virtual machine to receive the storage access requests in parallel with the storage request processing module, and to store information associated with the storage access requests in a log file(s). The log file may be transferred to a destination as a recovery replica of at least a portion of the virtual disk.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . Computer-readable media having computer-executable instructions stored thereon, wherein the computer-executable instructions, in response to execution, cause a virtual machine host device to perform operations, the operations comprising:
 queuing write requests of a primary virtual machine into a first queue;   queuing the write requests issued by the primary virtual machine into a second queue;   updating a virtual disk utilized by the primary virtual machine according to the queued write requests of the first queue;   updating a log file according to the queued write requests of the second queue; and   transferring the log file to facilitate generation of a replicated virtual disk of a target virtual machine.   
     
     
         22 . The computer-readable media of  claim 21 , wherein the operations further comprise:
 requesting that the log file be transferred for use by the recovery virtual machine;   redirecting new write requests to at least one new log file;   writing write requests that were pending prior to the redirection to the at least one new log file;   providing a completion response after the write requests that were pending prior to the redirection are all written to the at least one new log file; and   in response to the completion response, transferring the at least one new log file.   
     
     
         23 . The computer-readable media of  claim 21 , wherein the operations further comprise:
 requesting an application-consistent snapshot of one or more components of the primary virtual machine; and   completing write operations to the virtual disk according to the application-consistent snapshot.   
     
     
         24 . The computer-readable media of  claim 21 , wherein the computer-executable instructions further cause the log file to be stored in memory as it is being updated. 
     
     
         25 . The computer-readable media of  claim 24 , wherein the operations further comprise:
 transferring the log file from the memory to an address associated with the recovery virtual machine.   
     
     
         26 . The computer-readable media of  claim 24 , wherein the operations further comprise:
 transferring the log file from the memory to a non-volatile storage device in response to an occurrence of a triggering event.   
     
     
         27 . The computer-readable media of  claim 26 , wherein the triggering event is associated with a threshold size for the log file. 
     
     
         28 . The computer-readable media of  claim 21 , wherein the operations further comprise:
 creating a second log file at a target server in response to a request to migrate the primary virtual machine to the target server;   updating the second log file using duplications of the write requests that are being used to update the log file; and   utilizing the second log file in connection with the target virtual machine at the target server.   
     
     
         29 . A computing device, comprising:
 a memory and a processor that respectively store and execute instructions, including instructions that implement:
 a virtual machine that generates a plurality of storage access requests targeted to a virtual disk; 
 a storage request processing module that receives the plurality of storage access requests and that updates the virtual disk according to the storage access requests; 
 a replication management module that also receives the storage access requests and that stores information associated with the storage access requests in at least one log file; and 
 a transfer module that transfers the at least one log file to a destination as a recovery log for at least a portion of the virtual disk. 
   
     
     
         30 . The computing device of  claim 29 , wherein:
 the storage request processing module comprises:
 a virtual disk request queue that queues the received storage access requests; and 
 a virtual disk request processing module that updates the virtual disk with data associated with the storage access requests queued in the virtual disk request queue; and 
   the replication management module comprises:
 a log request queue that queues the received storage access requests; and 
 a log file request processing module that updates the at least one log file based on the storage access requests queued in the log request queue. 
   
     
     
         31 . The computing device of  claim 29 , wherein the instructions also implement:
 a virtual disk parser module that includes both the virtual disk request queue and the log request queue.   
     
     
         32 . The computing device of  claim 29 , wherein the memory also stores the at least one log file. 
     
     
         33 . The computing device of  claim 32 , wherein the instructions also implement:
 a storage write control module that initiates the transfer of the at least one log file from the memory to a non-volatile storage device in response to an occurrence of a triggering event.   
     
     
         34 . The computing device of  claim 29 , wherein the at least one log file includes a data structure comprising:
 a log file header that includes an address of an end of the at least one log file and a size of metadata blocks of the at least one log file;   a plurality of metadata blocks, each including a metadata header and one or more metadata entries, wherein the metadata header includes a location of a previous metadata block, and each metadata entry includes a location and length of the data associated with each metadata block; and   a plurality of data blocks reflecting the updates to the virtual disk.   
     
     
         35 . A method of migrating a virtual disk from a source server to a destination server comprising:
 queuing write requests of a virtual machine into a first queue while the virtual machine is executing on the source server;   queuing the write requests issued by the virtual machine into a second queue while the virtual machine is executing on the source server;   updating the virtual disk according to the queued write requests of the first queue;   updating a log file according to the queued write requests of the second queue;   transferring the log file to the destination server; and   replicating the virtual disk on the destination server according to the log file.   
     
     
         36 . The method of  claim 35 , wherein the method further comprises:
 requesting that the log file be transferred for use by the recovery virtual machine;   redirecting new write requests to at least one new log file;   writing write requests that were pending prior to the redirection to the at least one new log file;   providing a completion response after the write requests that were pending prior to the redirection are all written to the at least one new log file; and   in response to the completion response, transferring the at least one new log file.   
     
     
         37 . The method of  claim 35 , wherein the method further comprises:
 requesting an application-consistent snapshot of one or more components of the virtual machine; and   completing write operations to the virtual disk according to the application-consistent snapshot.   
     
     
         38 . The method of  claim 37 , wherein the method further comprises:
 transferring the log file from a memory of the source server to a non-volatile storage device in response to an occurrence of a triggering event.   
     
     
         39 . The computer-readable media of  claim 26 , wherein the triggering event is associated with a threshold size for the log file. 
     
     
         40 . The method of  claim 35 , wherein the method further comprises:
 creating a second log file at the destination server in response to a request to migrate the virtual machine to the destination server;   updating the second log file via duplication of the write requests that are being used to update the log file; and   utilizing the second log file in connection with execution of the virtual machine on the destination server.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.