IP Library Granted Patent US 9,552,168
Granted Patent B2
US 9,552,168 · App. 14/804,138 · Granted Jan 24, 2017

Virtual machine backup from storage snapshot

Inventors: Alexey Vasilyev (Saint-Petersburg, RU); Alexander Baranov (Saint-Petersburg, RU)
Assignee: Veeam Software AG
G06F3/0619G06F3/064G06F3/065G06F3/067G06F3/0664G06F11/1438G06F11/1451G06F11/1456G06F11/1458G06F11/1464G06F11/1484G06F2201/815G06F2201/84
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 9,552,168
App. No.
14/804,138
Granted
Jan 24, 2017
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for virtual machine (VM) backup from a storage snapshot. An embodiment operates by receiving selective backup parameters including a VM to backup and then creating a VM snapshot associated with the VM. Next, an offset table associated with a virtual disk of the VM stored on a storage is retrieved. The embodiment further includes generating a storage snapshot and deleting the VM snapshot and then promoting the storage snapshot to a new logical unit number. The promoted storage snapshot is then mounted to the backups server. The virtual disk data is backed up to a backup storage using the offset table from the storage snapshot. The storage snapshot is dismounted from the backup server and deleted from the storage.

Claims (63)

1. A method for a backup server to back up a virtual machine (VM), comprising:

causing a virtualization server to create a software snapshot of the VM;

responsive to the created software snapshot, receiving, from the virtualization server, an offset table having information that indicates where data blocks associated with a virtual disk of the VM are located on a storage;

causing the storage to create, on the storage, a hardware snapshot of a storage volume, wherein the storage volume includes the virtual disk;

promoting the hardware snapshot to a new logical unit number (LUN);

mounting the promoted hardware snapshot LUN from the storage to the backup server; and

backing up the data blocks, indicated by the obtained offset table, from the mounted hardware snapshot LUN to a backup storage.

2. The method of claim 1 , wherein the virtualization server is a hypervisor, and the hypervisor is communicatively coupled to the storage.

3. The method of claim 1 , further comprising:

retrieving, from the server creating the software snapshot, changed block tracking (CBT) information.

4. The method of claim 3 , wherein the backing up comprises:

reading relevant data blocks from the mounted hardware snapshot according to the offset table and the CBT information; and

saving the read relevant data blocks to the backup storage.

5. The method of claim 3 , wherein the retrieving comprises:

causing invocation of an application programming interface (API) call to query a list of modified areas of the virtual disk of the VM since a predetermined time.

6. The method of claim 1 , further comprising:

instructing the virtualization server to delete the software snapshot after the hardware snapshot is created by the storage.

7. The method of claim 1 , further comprising:

dismounting the hardware snapshot; and

instructing the storage to remove the hardware snapshot.

8. A system for a backup server to back up a virtual machine (VM), comprising:

a memory; and

at least one processor communicatively coupled to the memory and configured to:

cause a virtualization server to create a software snapshot of the VM;

responsive to the created software snapshot, receive, from the virtualization server, an offset table having information that indicates where data blocks associated with a representation of a virtual disk of the VM are located on a storage;

cause the storage to create, on the storage, a hardware snapshot of a storage volume, wherein the storage volume includes the representation of the virtual disk;

promote the hardware snapshot to a new logical unit number (LUN);

mount the promoted hardware snapshot LUN from the storage to the backup server; and

back up the data blocks, indicated by the obtained offset table, from the mounted hardware snapshot LUN to a backup storage.

9. The system of claim 8 , wherein the virtualization server is a hypervisor, and the hypervisor is communicatively coupled to the storage.

10. The system of claim 8 , wherein the at least one processor is further configured to:

retrieve, from the server that created the software snapshot, changed block tracking (CBT) information.

11. The system of claim 10 , wherein the at least one processor is configured to backing up the data blocks by:

reading relevant data blocks from the mounted hardware snapshot according to the offset table and the CBT information; and

saving the read relevant data blocks to the backup storage.

12. The system of claim 10 , wherein the at least one processor is configured to retrieve the CBT information by:

causing invocation of an application programming interface (API) call to query a list of modified areas of the virtual disk of the VM since a predetermined time.

13. The system of claim 8 , wherein the at least one processor is further configured to:

instruct the virtualization server to delete the software snapshot after the hardware snapshot is created by the storage.

14. The system of claim 8 , wherein the at least one processor is further configured to:

dismount the hardware snapshot; and

instruct the storage to remove the hardware snapshot.

15. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations for a backup server to back up a virtual machine (VM), the instructions comprising:

causing a virtualization server to create a software snapshot of the VM;

responsive to the created software snapshot, receiving, from the virtualization server, an offset table having information that indicates where data blocks associated with a virtual disk of the VM are located on a storage;

causing the storage to create, on the storage, a hardware snapshot of a storage volume, wherein the storage volume includes the virtual disk;

promoting the hardware snapshot to a new logical unit number (LUN);

mounting the promoted hardware snapshot LUN from the storage to the backup server; and

backing up the data blocks, indicated by the obtained offset table, from the mounted hardware snapshot LUN to a backup storage.

16. The non-transitory computer-readable medium of claim 15 , wherein the virtualization server is a hypervisor, and the hypervisor is communicatively coupled to the storage.

17. The non-transitory computer-readable medium of claim 15 , further comprising:

retrieving, from the server creating the software snapshot, changed block tracking (CBT) information.

18. The non-transitory computer-readable medium of claim 17 , wherein the backing up comprises:

reading relevant data blocks from the mounted hardware snapshot according to the offset table and the CBT information; and

saving the read relevant data blocks to the backup storage.

19. The non-transitory computer-readable medium of claim 17 , wherein the retrieving comprises:

causing invocation of an application programming interface (API) call to query a list of modified areas of the virtual disk of the VM since a predetermined time.

20. The non-transitory computer-readable medium of claim 15 , further comprising:

instructing the virtualization server to delete the software snapshot after the hardware snapshot is created by the storage.

21. The non-transitory computer-readable medium of claim 15 , further comprising:

dismounting the hardware snapshot; and

instructing the storage to remove the hardware snapshot.

22. The system of claim 8 , wherein the representation of the virtual disk is a snapshot of the virtual disk.

Assignments (3)
SECURITY INTEREST Recorded May 29, 2020
From: VEEAM SOFTWARE GROUP GMBH
To: JPMORGAN CHASE N.A.
Reel/Frame 052790/0483 →
CHANGE OF NAME Recorded May 18, 2020
From: VEEAM SOFTWARE AG
To: VEEAM SOFTWARE GROUP GMBH
Reel/Frame 052690/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2015
From: VASILYEV, ALEXEY; BARANOV, ALEXANDER
To: VEEAM SOFTWARE AG
Reel/Frame 036235/0653 →
Continuity (2)
Continuation 13914086 · Jun 10, 2013
Related Publication 20150324144A1 · Nov 12, 2015