US 12,293,210 B2
Live mounting a virtual machine in a public cloud based on accessing a simulated virtual disk as an internet small computer systems interface (ISCSI) target
Sanjay Kumar, Morganville, NJ (US)
Assigned to Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed by Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed on Mar. 18, 2022, as Appl. No. 17/698,811.
Prior Publication US 2023/0297403 A1, Sep. 21, 2023
Int. Cl. G06F 9/455 (2018.01); G06F 9/4401 (2018.01); G06F 9/50 (2006.01); G06F 11/14 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 9/4411 (2013.01); G06F 9/5072 (2013.01); G06F 11/1446 (2013.01); G06F 11/1469 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45583 (2013.01)] 20 Claims
OG exemplary drawing
 
3. A computer-implemented method comprising:
live-mounting a virtual machine that is native to and executes in a cloud computing environment, wherein the live-mounting provides on-demand access to some data of a data-source that is not native to the cloud computing environment, without providing access to all data of the data-source in the cloud computing environment,
wherein the virtual machine is configured with a remote virtual disk configured as an Internet Small Computer Systems Interface (ISCSI) target that is accessible, via an ISCSI protocol, at a pseudo-disk configured at a first computing device, and
wherein the first computing device comprises one or more hardware processors and operates in the cloud computing environment;
wherein the live-mounting is based on performing by the first computing device:
(a) invoking a driver that executes at the first computing device, wherein the driver presents the pseudo-disk as a data storage resource at the first computing device, wherein the driver creates a first storage area and a second storage area at the first computing device, wherein the driver is configured to intercept read requests and write commands issued to the pseudo-disk,
(b) mounting a root file system of the pseudo-disk at the first computing device,
(c) generating an iSCSI Qualified Name (IQN) that identifies the pseudo-disk,
(d) adding contents, into the first storage area, wherein the contents comprise at least the IQN and an ISCSI-initiator software,
(e) populating the IQN into an iPXE script at the first computing device, wherein the iPXE script comprises a bootloader for the virtual machine,
(f) unmounting the root file system from the first computing device, and
(g) exposing the pseudo-disk as the ISCSI target for the virtual machine;
causing the cloud computing environment to create the virtual machine based on a machine image in the cloud computing environment, wherein the machine image points to a Hypertext Transfer Protocol (HTTP) server at the first computing device, wherein the HTTP server comprises the IPXE script with the IQN that identifies the pseudo-disk as the ISCSI target for the virtual machine;
by the virtual machine, based on executing the iPXE script, discovering the pseudo-disk as the ISCSI target of the virtual machine based on the IQN, and booting over ISCSI from the pseudo-disk at the first computing device,
wherein booting from the pseudo-disk comprises receiving from the driver the contents in the first storage area, and further comprises booting from other boot sectors of the data-source that are: recalled by the driver on demand from the data-source, stored into the second storage area, and served therefrom by the driver to the virtual machine; and
wherein after booting, the live-mounting comprises:
directing, by the virtual machine, read requests for data of the data-source to the pseudo-disk at the first computing device;
by the driver, intercepting the read requests for data of the data-source directed to the pseudo-disk; and
by the driver, serving the read requests for data of the data-source from one of the first storage area and the second storage area, wherein the driver recalls data on demand from the data-source, based on one or more of the read requests for data of the data-source.