IP Library Granted Patent US 12,086,624
Granted Patent B2
US 12,086,624 · App. 18/351,058 · Granted Sep 10, 2024

Live recovery of virtual machines in a public cloud computing environment based on temporary live mount

Inventors: Sanjay Kumar (Morganville, NJ); Sumedh Pramod Degaonkar (Surrey, CA)
Assignee: Commvault Systems, Inc.
G06F9/45558G06F3/0617G06F3/0619G06F3/0647G06F3/065G06F3/0665G06F3/067G06F11/1402G06F11/1448G06F11/1464G06F11/1469G06F11/1471G06F11/2033G06F2009/45575G06F2009/45583G06F2009/45595G06F11/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 12,086,624
App. No.
18/351,058
Granted
Sep 10, 2024
Kind
B2
Abstract

Live mounting a virtual machine (VM) causes the VM to run off a backup copy or snapshot previously taken of a “live” production VM. The live-mounted VM is generally intended for temporary use such as to validate the integrity and contents of the backup copy for disaster recovery validation, or to access some contents of the backup copy from the live-mounted VM without restoring all backed up files. These uses contemplate that changes occurring during live mount are not preserved after the live-mounted VM expires or is taken down. Thus, live mounting a VM is not a restore operation and usually does not involve access to every block of data in the backup copy. However, live mounting provides live VM service in the cloud sooner than waiting for all of the backup copy/snapshot to be restored.

Claims (51)

1. A computer-implemented method comprising:

by a first computing device operating in a cloud computing environment:

configuring a virtual disk in the cloud computing environment;

sequentially requesting a next portion of data of a backup copy of a first virtual machine, wherein the backup copy was previously generated by a data storage management system that is distinct from the cloud computing environment;

responsive to the sequentially requesting, causing each next portion of data of the backup copy to be restored, as primary data, from the backup copy to the virtual disk in the cloud computing environment;

exposing the virtual disk as an Internet Small Computer Systems Interface (iSCSI) target configured at the first computing device;

booting a third virtual machine in the cloud computing environment using a machine image configured in the cloud computing environment, wherein after rebooting, the third virtual machine attaches to the virtual disk;

concurrently with the sequentially requesting, intercepting write commands issued by the rebooted third virtual machine, and writing data intercepted in the write commands to the virtual disk;

after all portions of data of the backup copy have been restored, as primary data, from the backup copy to the virtual disk in the cloud computing environment, causing the third virtual machine to be powered off; and

causing a second virtual machine that is attached to the virtual disk in the cloud computing environment to be powered on in the cloud computing environment, wherein after being powered on, the second virtual machine has access to primary data in the virtual disk, including data written to the virtual disk while attached to the rebooted third virtual machine.

2. The computer-implemented method of claim 1 wherein powering on of the second virtual machine, with access to the primary data in the virtual disk in the cloud computing environment, completes a migration of the first virtual machine to the cloud computing environment from one of: outside the cloud computing environment, another availability zone of the cloud computing environment, and another service account of the cloud computing environment.

3. The computer-implemented method of claim 1 further comprising: by the first computing device operating in the cloud computing environment: concurrently with the sequentially requesting, serving read requests issued by the rebooted third virtual machine from the virtual disk,

wherein based on determining that a first portion of data of the backup copy requested in a first read request among the read requests is not in the virtual disk, causing the first portion of data to be restored, as primary data, from the backup copy to the virtual disk before serving the first read request from the virtual disk.

4. The computer-implemented method of claim 1 further comprising: by the first computing device operating in the cloud computing environment: mounting the virtual disk to a first mount point, which is configured for iSCSI at the first computing device, before exposing the virtual disk as the iSCSI target.

5. The computer-implemented method of claim 1 wherein a second mount point at the first computing device is configured for Network File System (NFS) protocol, and

further comprising: by the first computing device operating in the cloud computing environment: exporting via the NFS protocol and mounting to the second mount point one of: an operating system (OS) partition of a virtual disk comprising the backup copy and a distinct OS-virtual disk of the backup copy.

6. The computer-implemented method of claim 1 further comprising: selecting the machine image from a pool of boot images to one of: match, and closely mimic the first virtual machine.

7. The computer-implemented method of claim 1 wherein the rebooted third virtual machine is mounted to the first computing device via a first mount point configured for iSCSI and via a second mount point configured for Network File System (NFS) protocol, and further comprising:

by the first computing device operating in the cloud computing environment:

exporting via the NFS protocol and mounting to the second mount point one of: an operating system (OS) partition of a virtual disk of the backup copy and an OS-virtual disk of the backup copy, which is distinct from the virtual disk of the backup copy; and

before the rebooting, updating kernel parameters for the third virtual machine for NFS root and causing the rebooting of the third virtual machine via the NFS protocol over the second mount point.

8. The computer-implemented method of claim 1 further comprising: by the first computing device operating in the cloud computing environment: causing the third virtual machine in the cloud computing environment, using the machine image, to boot off a root partition of a virtual disk of the backup copy via a second mount point at the first computing device, wherein the root partition was exported over Network File System (NFS) protocol; and

causing the third virtual machine to reboot from the root partition over the NFS protocol via the second mount point before attaching to the virtual disk in the cloud computing environment.

9. The computer-implemented method of claim 1 further comprising: by a pseudo-disk driver that executes at the first computing device: tracking which portions of data of the backup copy have been restored from the backup copy; intercepting write commands issued by the rebooted third virtual machine; and intercepting read requests issued by the rebooted third virtual machine.

10. The computer-implemented method of claim 1 further comprising: by the first computing device operating in the cloud computing environment: detaching the virtual disk in the cloud computing environment from the first computing device after the second virtual machine is powered on.

11. The computer-implemented method of claim 1 further comprising: providing, to a user, via the rebooted third virtual machine and before powering on the second virtual machine, access to one or more of: primary data restored from the backup copy to the virtual disk in the cloud computing environment, and data written by the third virtual machine while attached to the virtual disk in the cloud computing environment, wherein the access provided to the user occurs before all portions of data of the backup copy have been restored, as primary data, to the virtual disk in the cloud computing environment.

12. A system comprising:

a first computing device that operates in a cloud computing environment, wherein the first computing device is configured to:

configure a virtual disk in the cloud computing environment;

sequentially request a next portion of data of a backup copy of a first virtual machine, wherein the backup copy was previously generated by a data storage management system that is distinct from the cloud computing environment;

responsive to sequentially requesting the next portion of data, cause each next portion of data of the backup copy to be restored, as primary data, from the backup copy to the virtual disk in the cloud computing environment;

expose the virtual disk as an Internet Small Computer Systems Interface (iSCSI) target configured at the first computing device;

boot a third virtual machine in the cloud computing environment using a machine image configured in the cloud computing environment, wherein after rebooting, the third virtual machine attaches to the virtual disk;

concurrently with sequentially requesting the next portion of data, intercept write commands issued by the rebooted third virtual machine, and write data intercepted in the write commands to the virtual disk;

after all portions of data of the backup copy have been restored, as primary data, from the backup copy to the virtual disk in the cloud computing environment, cause the third virtual machine to be powered off; and

cause a second virtual machine that is attached to the virtual disk in the cloud computing environment to be powered on in the cloud computing environment, wherein after being powered on, the second virtual machine has access to primary data in the virtual disk, including data written to the virtual disk while attached to the rebooted third virtual machine.

13. The system of claim 12 wherein the first virtual machine operates in one of: outside the cloud computing environment, another availability zone of the cloud computing environment, and another service account of the cloud computing environment.

14. The system of claim 12 wherein the first computing device operating in the cloud computing environment is further configured to:

concurrently with sequentially requesting the next portion of data, serve read requests issued by the rebooted third virtual machine from the virtual disk,

wherein based on determining that a first portion of data of the backup copy requested in a first read request among the read requests is not in the virtual disk, cause the first portion of data to be restored, as primary data, from the backup copy to the virtual disk before serving the first read request from the virtual disk.

15. The system of claim 12 wherein the first computing device operating in the cloud computing environment is further configured to: mount the virtual disk to a first mount point, which is configured for iSCSI at the first computing device, before exposing the virtual disk as the iSCSI target.

16. The system of claim 12 wherein the rebooted third virtual machine is mounted to the first computing device via a first mount point configured for iSCSI and via a second mount point configured for Network File System (NFS) protocol, and wherein the first computing device operating in the cloud computing environment is further configured to:

export via the NFS protocol and mounting to the second mount point one of: an operating system (OS) partition of a virtual disk of the backup copy and an OS-virtual disk of the backup copy, which is distinct from the virtual disk of the backup copy; and

update kernel parameters for the third virtual machine for NFS root and cause the third virtual machine to reboot via the NFS protocol over the second mount point.

17. The system of claim 12 wherein the first computing device operating in the cloud computing environment is further configured to:

cause the third virtual machine in the cloud computing environment, using the machine image, to boot off a root partition of a virtual disk of the backup copy via a second mount point at the first computing device, wherein the root partition was exported over Network File System (NFS) protocol; and

cause the third virtual machine to reboot from the root partition over the NFS protocol via the second mount point before attaching to the virtual disk in the cloud computing environment.

18. The system of claim 12 wherein the first computing device operating in the cloud computing environment is further configured to:

execute a pseudo-disk driver that: tracks which portions of data of the backup copy have been restored from the backup copy, intercepts write commands issued by the rebooted third virtual machine, and intercepts read requests issued by the rebooted third virtual machine.

19. The system of claim 12 wherein the first computing device operating in the cloud computing environment is further configured to: detach the virtual disk from the first computing device after the second virtual machine is powered on.

20. The system of claim 12 wherein the first computing device operating in the cloud computing environment is further configured to: provide, to a user, via the rebooted third virtual machine and before the second virtual machine is powered on, access to one or more of: primary data restored from the backup copy to the virtual disk in the cloud computing environment, and data written by the third virtual machine while attached to the virtual disk in the cloud computing environment, wherein the access provided to the user occurs before all portions of data of the backup copy have been restored, as primary data, to the virtual disk in the cloud computing environment.

Assignments (2)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2023
From: KUMAR, SANJAY; DEGAONKAR, SUMEDH PRAMOD
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 064243/0011 →
Continuity (3)
Continuation 17130540 · Dec 22, 2020
Provisional Application 63025758 · May 15, 2020
Related Publication 20230367624A1 · Nov 16, 2023