CN109564533B - Device and method for supporting execution of guide process in instant recovery process - Google Patents

Device and method for supporting execution of guide process in instant recovery process Download PDF

Info

Publication number
CN109564533B
CN109564533B CN201680087849.4A CN201680087849A CN109564533B CN 109564533 B CN109564533 B CN 109564533B CN 201680087849 A CN201680087849 A CN 201680087849A CN 109564533 B CN109564533 B CN 109564533B
Authority
CN
China
Prior art keywords
data
requested
storage device
backup
data blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680087849.4A
Other languages
Chinese (zh)
Other versions
CN109564533A (en
Inventor
阿萨夫·耶格尔
迈克尔·斯特恩伯格
鲍里斯·利伯曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN109564533A publication Critical patent/CN109564533A/en
Application granted granted Critical
Publication of CN109564533B publication Critical patent/CN109564533B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating

Abstract

The present invention relates to an apparatus and method for supporting execution of a boot process executing in an instant restore process for immediately restoring data backed up in a backup process. A backup process execution unit of the device executes a test boot process by using data backed up in the backup process, and generates a requested data block set in the test boot process, wherein each entry of the requested data block set includes information of a data block requested from a storage device in the test boot process. A resume-on-demand process execution unit of the device executes the boot process in the resume-on-demand process by prefetching a data block from the storage device for each entry of a requested set of data blocks, wherein the entry of the requested set of data blocks includes information of the data block.

Description

Device and method for supporting execution of guide process in instant recovery process
Technical Field
The present invention relates to an apparatus and method for supporting execution of a boot process executing in an instant recovery process. The invention further relates to a correspondingly configured computer program product and a correspondingly configured computer-readable medium.
Background
Generally, data recovery is performed in the event of operating system failure, software and/or hardware entity (e.g., storage device) failure, unexpected corruption, or data deletion (typically on a single-drive, single-partition, and single-operating-system (OS) system), etc., where the task is to recover all data to enable further operation of the computing system or device.
In recent years, instant recovery has become more and more popular. Instant recovery allows backup snapshots of a Virtual Machine (VM) to temporarily run after a failure or disaster occurs in the VM or a computing system or device on which the VM is executing by utilizing secondary or backup storage. Immediate recovery may also be referred to as recovery in place. In the instant restore process, the user's workload is redirected to a backup or secondary storage device while restoring the primary storage device used when the VM is executing. The backup VM corresponding to or replicating the VM is then executed on the backup device (e.g., server) by utilizing the data stored on the backup or secondary storage device and the redirected workload. Once the immediate recovery is complete, the workload is redirected to the original VM. Since the immediate recovery is done in the background or offline, the user is not aware that an exception has occurred. Thus, instant recovery allows a user to continue using the computing device or system on which the VM is running, even if damage has occurred and immediate recovery processing is required. A running or executing VM ensures the intended use and operation of the computing device or system on which the VM is running or executing.
When performing an instant restore, there is no need to directly connect the user to the backup copy of the VM because the backup is no longer in the original state since the user started working on the backup VM. Instead, a snapshot or image of the VM is created in the instant restore process so that the backup remains in the original state and all write operations by the user are redirected to the snapshot so the user can work off the backup VM. Snapshots or images are generated for all files and data stored and/or necessary for executing a VM and thus necessary for operating a computing system or device on which the VM is running or executing, i.e., all files and data stored and/or necessary for executing the VM are stored in a secondary or backup storage device as snapshots or images of the entire VM. After the snapshot is created, the instant restore process begins in the background or offline. The user of the computing device or system is completely unaware that an immediate recovery is in progress and once the immediate recovery is complete, the user's workload is redirected to the original VM.
With immediate recovery, the VM may be restored to the user's operating environment by running the VM directly from a secondary or backup storage device. Since the VM does not need to be fetched from the backup or secondary storage device and copied to the primary storage device used by the computing device or system running the VM, the VM can be restarted from any recovery point (incremental or full) for a few minutes. The backup image or snapshot of the VM (i.e., the backup VM) is maintained in a read-only state to avoid accidental modification.
The backup VM boots in the background or offline while the instant restore process is performed. A boot process is performed to place the VM in an operational state corresponding to the backup VM or to the backup image/snapshot. To this end, an initialization of the computing system or device, if necessary of applications running in said system or device, is performed. In particular, the boot process includes identifying hardware and/or software components, verifying the availability and functionality of the hardware and/or software components, and controlling the components so that they are ready for operation of a VM on a computing system or device following the boot process. The boot process also includes, for example, executing a Master Boot Record (MBR), loading an Operating System (OS) kernel, loading drivers, and/or starting execution of services/daemons and/or applications. After the boot process is executed, the restored VM and the respective computing system or device are ready for their intended use. The time from the start of the boot process to the VM and the computing systems or devices on which the VM is running is important. In particular, this time should be as short as possible, since it is always desirable that the VM, and thus the computing systems or devices, be ready for their intended use as soon as possible after startup.
During the boot process, an input/output (I/O) request is sent to the backup or secondary storage device to obtain data blocks needed for further proper execution of the VM, i.e., data blocks that place the computing system or device in a state that enables the intended execution of the VM to thereby enable proper operation of the computing system or device. The corresponding reading of the backup or secondary storage devices is performed in a non-uniform manner and/or on demand. A portion of time is left between the individual sending of the respective I/O requests. Further, the I/O requests request data blocks that are randomly distributed in the backup or secondary storage device, and it takes time to detect the requested data blocks. Therefore, it takes time to receive request data necessary for executing the boot process.
The execution of the boot process slows down and affects the instant recovery process. It is desirable to enable a fast and efficient immediate recovery process so that further proper operation of the recovered VM can be achieved and operation of the computing device or system on which the recovered VM is running/executing can continue unaffected.
Therefore, there is a need for other methods that support fast and efficient execution of an instant recovery process, and in particular support for a boot process executed in an instant recovery process. In particular, it would be desirable to have a method for quickly providing the data blocks necessary for executing the boot process in the instant restore process, thereby placing the VM and the computing systems or devices on which the VM is running/executing in a state ready for its intended use after the instant restore.
Disclosure of Invention
The invention aims to provide a method and a device which can improve the execution of an instant recovery process, in particular the execution of a boot process executed in the instant recovery process.
The present invention provides a method and apparatus for supporting execution of a boot process executing in a recovery-on-demand process and overcoming at least the disadvantages described above. In particular, the method and apparatus are provided such that providing the data blocks necessary to perform the boot process may be accelerated. In this way, execution of the boot process and thus the instant recovery process is accelerated. Thus, faster placement of the immediately resumed VM and computing systems or devices into a state where the VM and computing systems or devices on which the VM is executing are ready for intended use is achieved.
In particular, an aspect of the invention as described in the claims and described herein in connection with the figures performs a backup process based on data backed up in the backup process to generate a set of data blocks requested in a test boot process that is otherwise performed in the backup process. In another aspect, in an instant restore process for restoring a VM using data backed up in the backup process, the set of data blocks is used to execute a boot process of the instant restore process. In particular, the set of data blocks is used to prefetch data blocks of the set. This enables a boot process that executes the instant recovery process quickly and efficiently. In addition, the present invention also ensures that the VM, and the computing systems or devices on which the VM is running/executing, are quickly and easily placed in a state ready for its intended use after the immediate recovery process executes.
The object of the invention is achieved by the solution presented in the appended independent claims. Advantageous embodiments of the invention are further defined in the respective dependent claims.
According to a first aspect, there is provided an apparatus for supporting execution of a boot process executing in an instant restore process for immediately restoring data backed up in a backup process, and the apparatus comprising at least one of the following elements: a backup process execution unit, wherein the backup process execution unit is configured to execute a test boot process by using the data backed up in the backup process, and generate a requested data block set in the test boot process, wherein each entry of the requested data block set includes information of a data block requested from a storage device in the test boot process; an instant recovery process execution unit, wherein the instant recovery process execution unit is to execute the boot process in the instant recovery process by prefetching a data block from the storage device for each entry of a requested set of data blocks, the entry of the requested set of data blocks including information of the data block.
The backup process includes the above-mentioned generation of a snapshot of the VM to the storage device. The storage device is the backup or secondary storage device or the like. The term "storage device" will be used more often hereinafter, although the storage device includes the backup or secondary storage devices mentioned in the background section above. A backup VM is thus generated in the backup process, wherein data of the backup VM is stored in a storage device, the backup VM being an image/snapshot of the VM. Snapshots/images are generated for all files and data stored on each computing device or system on which the VM is running/executing and/or necessary for executing the VM on each computing device or system, and thus necessary for operating each computing system or device, that is, all stored files and data and/or all files and data necessary for executing the VM are stored in a storage device (e.g., a secondary or backup storage device) as a snapshot of the entire VM. Generally, with respect to the instant restore process, the backup of the data and the VM is performed as usual.
The VMs represent software that is run or executed by each computing system or device and ensures proper operation of each computing system or device.
The term "prefetch" has a general meaning of loading or storing the contents of a storage device or memory into a higher level storage device or memory that allows faster access speeds. In other words, the data block is loaded or stored into other memory that enables faster access to the data block. According to one embodiment, the other memory is a cache or the like. According to the present invention, since the prefetching is performed in the instant restore process, particularly in the boot process of the instant restore process, the prefetched data blocks are all backup data blocks. I.e. the data blocks are all collected or retrieved from the backed up data.
By using the device, the execution of the boot process executed in the instant recovery process and the instant recovery process itself can be accelerated. In addition, the computing system or device on which the VM to be restored is executing may enter a normal operating state more quickly and efficiently.
In a first possible implementation form, the information of the data block requested from the storage device in the test boot process includes an address of the data block in the storage device and a size of the data block. So that the set of requested data blocks remains small. This allows the requested set of data blocks to be processed more quickly. Thus, the processing of the requested set of data blocks does not affect the performance of the boot process and/or the corresponding immediate recovery process.
In a second possible implementation form, the resume-immediately process execution unit is configured to retrieve the data block from the storage device by using entry information in the requested set of data blocks, and store the data block to another storage device to perform the pre-fetching, wherein the other storage device allows the data block to be accessed faster than the storage device. Thus, the boot process is able to achieve fast access to all, or at least almost all, of the data blocks required to execute the boot process.
In a third possible implementation form of the method according to the first aspect as such or any of the preceding implementation forms of the first aspect, the backup process execution unit is configured to execute the test boot process offline and/or in a background. Normal operation of the VM and the computing system or device on which the VM is executing may continue. The test boot process does not affect the normal operation.
In a fourth possible implementation form of the method according to the first aspect as such or any of the preceding implementation forms of the first aspect, the backup process execution unit is configured to monitor, in the test boot process, a data block request for requesting a data block from the storage device. The monitoring enables detection of all or at least almost all data blocks required for execution of a boot process executing in the instant recovery process. Thus, the data blocks accurately set or requested are generated by the backup process execution unit, thereby ensuring the accuracy of providing the data blocks required for actually booting the process.
In a fifth possible implementation form of the method according to the first aspect or any one of the foregoing implementation forms of the first aspect, the backup process execution unit is configured to collect, in the test boot process, information of a data block requested from the storage device in the test boot process. This ensures that all data blocks required to perform the boot process are collected. Thus, the accuracy of providing the data blocks needed for the boot process executing in the virtually instant recovery process is improved.
In a sixth possible implementation form of the method according to the first aspect as such or any of the preceding implementation forms of the first aspect, the backup process execution unit is configured to instruct the storage of the requested set of data blocks in the storage device as part of the data backed up in the backup process. Thus, a uniform and consistent backup process is performed, which enables a fast retrieval of a requested set of data blocks when a corresponding instant restore process is performed. There is no need to further identify the memory address of the set of data blocks used to refine each request, which speeds up the execution of each instant restore process, and in particular the boot process of the instant restore process.
In a seventh possible implementation form of the method according to the first aspect as such or any of the preceding implementation forms of the first aspect, the resume-on-demand process execution unit is configured to retrieve the requested set of data blocks from the storage device in the boot process.
According to a second aspect, there is provided a method for supporting execution of a boot process executing in an instant restore process for the immediate restoration of data backed up in a backup process, and the method comprising at least one of the following steps: executing a test boot process by using the data backed up in the backup process, and generating a requested set of data blocks in the test boot process, wherein each entry of the requested set of data blocks includes information of the data blocks requested from a storage device in the test boot process; the boot process is performed in the resume-on-demand process by prefetching a data block from the storage device for each entry of the requested set of data blocks, wherein the entry of the requested set of data blocks includes information of the data block. In general, the steps of the method correspond to steps or activities performed by a device for supporting execution of a boot process executed in a recovery process, as introduced above and as described in detail below. According to the method, the effects described herein can be achieved.
According to a third aspect, the invention relates to a computer program product comprising computer readable program code for causing a computing device to perform the steps of the method as introduced above and explained in detail below.
According to a fourth aspect, the invention relates to a computer-readable recording medium for storing therein a computer program product.
Drawings
The foregoing aspects and many of the attendant aspects of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
fig. 1a and 1b illustrate an exemplary arrangement of an apparatus for supporting execution of a boot process executed in an instant recovery process according to an embodiment of the present invention.
Fig. 2 illustrates steps of a method for supporting execution of a boot process executed in an instant recovery process according to an embodiment of the present invention.
FIG. 3 illustrates an arrangement of requested data block sets provided by an embodiment of the present invention.
FIG. 4 illustrates an exemplary arrangement of entries for a requested set of data chunks provided by an embodiment of the present invention.
FIG. 5 is a flow diagram illustrating sub-steps of a test boot process execution step provided by an embodiment of the present invention.
FIG. 6 is a flow diagram illustrating sub-steps performed in a step for executing a boot process in an instant recovery process provided by an embodiment of the present invention.
Detailed Description
It is generally noted that all arrangements, devices, modules, components, models, elements, units, entities, methods, etc. described in this application can be implemented by software or hardware elements or any combination thereof. All steps performed by the various entities described in the present application, as well as the functions described as being performed by the various entities, are intended to mean that the different entities are used to perform the different steps and functions. Although in the following description of specific embodiments specific functions or steps performed by general purpose entities are not reflected in the description of specific elements of the entity performing the specific steps or functions, it should be clear to a skilled person that these methods and functions may be implemented in respective hardware or software elements or any combination thereof. Furthermore, the method of the present invention and its individual steps are embodied in the function of the individual described device elements. Furthermore, any embodiment described herein and features of any embodiment may be combined with each other, unless there is an explicitly excluded combination.
Fig. 1a and 1b illustrate exemplary arrangements of devices 110, 120, and 130 provided by embodiments of the present invention for supporting execution of a boot process executing in an instant recovery process. According to the embodiment shown in fig. 1a, the device 110 comprises a backup process execution unit 111 and an instant restore process execution unit 112. As described above, the backup process execution unit 111 is configured to execute a test boot process by using data (except for data backup) backed up in the backup process, and generate a requested data block set in the test boot process, where each entry of the requested data block set includes information of a data block requested from a storage device in the test boot process. Thus, the test boot process is executed against the backup VM. The data blocks requested in the test boot process are all backup data blocks. According to one embodiment, the storage device herein is a storage device storing data backed up in the backup process, i.e. the above mentioned secondary or backup storage device. Secondly, the instant recovery process execution unit 112 is configured to execute a boot process in an instant recovery process by prefetching a data block from the storage device for each entry of a requested set of data blocks, wherein the entry of the requested set of data blocks comprises information of the data block. Since the requested set of data blocks has been generated in the backup process, particularly in the test boot process in the backup process, the data blocks that are pre-fetched are all backup data blocks.
Thus, both components of the backup process execution unit 111 and the instant restore process execution unit 112 subsequently become active. First, the backup process having the test boot process is executed by the backup process execution unit 111. Subsequently, after the backup process is completed and the backup process executing unit 111 is active, the instant restore process executing unit 112 executes a boot process in each instant restore process by using the requested data block set generated by the backup process executing unit 111.
In addition, both components run offline or in the background, respectively. Thus, these two components do not affect the regular operation of the VM whose data has been backed up in the backup process, i.e., the backup VM has been generated. Thus, the operation of the computing system or device on which the VM is executing is also unaffected by the execution of the boot process of the instant recovery process.
The backup process executing unit 111 and the instant restore process executing unit 112 of the devices 110, 120 and 130 for supporting the execution of a boot process executed in an instant restore process may be arranged in different ways according to the present invention. According to the embodiment shown in fig. 1a, the backup process execution unit 111 and the instant restore process execution unit 112 are both comprised in the device 110 for supporting the execution of a boot process of an instant restore process. According to the embodiment shown in fig. 1b, the backup process execution unit 111 and the instant restore process execution unit 112 are both part of two separate devices 120 and 130 for supporting the execution of the boot process of the instant restore process. The backup process executing unit 111 is located in the first device 120, and the instant recovery process executing unit 112 is located in the second device 130, where both the first device 120 and the second device 130 are configured to support execution of the same boot process of the same instant recovery process.
FIG. 2 illustrates the conventional steps of a method for supporting execution of a boot process executing in an instant recovery process provided by an embodiment of the present invention. According to the present embodiment, in step 201, a test boot process is performed by using data backed up in a backup process, and a requested set of data blocks is generated in the test boot process, wherein each entry of the requested set of data blocks includes information of the data blocks requested from a storage device in the test boot process. Executing the test boot process in addition to the backup process. According to one embodiment, the test boot process is executed as a separate process after the backup process. According to another embodiment, the test boot process is executed in the backup process after data backup. The backup process is executed in preparation for executing the instant restore process. That is, in the backup process, a snapshot or image of the VM is generated and stored in the storage device described above, and so on. In particular, with respect to the instant restore process, the generation of snapshots or images of the VM is performed as usual. The storage device is a backup or secondary storage device or the like. A snapshot/image of the VM is generated for all files and data stored on the computing device or system on which the VM is running/executing and/or necessary for executing the VM on the computing device or system, and thus necessary for operating the respective computing system or device, that is, all stored files and data and/or all files and data necessary for executing the VM are stored in the storage device as a snapshot or image of the entire VM, i.e., as a backup VM (as described above).
Since the test boot process is part of the backup process, the test boot process is also executed offline or in the background. Thus, the execution of the test boot process does not affect the regular operation of the VM whose data has been backed up in the backup process, i.e., the backup VM has been generated. Thus, the operation of the computing system or device on which the VM is executing is also unaffected by the execution of the boot process of the instant recovery process.
According to one embodiment, step 201 is performed by the devices 110 and 120 for supporting execution of a boot process executed in an instant recovery process. For example, step 201 is performed by the backup process execution unit 111. Therefore, when the devices 110 and 120 or the backup process execution unit 111 execute (201) the test boot process, the devices 110 and 120 or the backup process execution unit 111 correspondingly executes (201) the test boot process offline or in the background.
Step 202 is performed in an instant restore process for restoring the data backed up in the backup process. In step 202, a boot process is executed in an instant recovery process, wherein the boot process is performed by prefetching a data block from the storage device for each entry of a requested set of data blocks, the entry of the requested set of data blocks including information of the data block. As mentioned above, the storage device is a backup or secondary storage device or the like. The prefetched data blocks are all backup data blocks. According to one embodiment, step 202 is performed by devices 110 and 130 for supporting execution of a boot process executing in an instant recovery process. For example, step 202 is performed by the instant recovery process execution unit 112.
Step 201 and step 202 are both performed independently. However, step 201 is performed before step 202, and step 202 is performed after the end of step 201 execution, because step 202 utilizes the requested set of data blocks generated in step 201.
Fig. 3 illustrates an arrangement of requested data block sets 311 provided by an embodiment of the present invention. According to the present embodiment, the requested set of data blocks 311 is stored in the storage device 301. The storage device 301 is the backup or secondary storage device or the like described above. The storage device 301 may be a single component or may represent multiple storage devices 301. Thus, the requested set of data blocks 311 may be stored in one coherent storage device 301 or in multiple (i.e., at least two) different storage units 301.
The requested set of data blocks 311 generated in step 201 (by the devices 110, 120 and 130, and in particular by the backup process execution unit 111) comprises a plurality of entries (i.e. at least one entry) 311-1, 311-2, … …, 311-n. N entries are shown in FIG. 3, where n ≧ 1. Each entry 311-1, 311-2, … …, 311-n indicates a data block request, such as an I/O request, to be executed in the test boot process that generated the requested set of data blocks 311. In particular, each entry 311-1, 311-2, … …, 311-n indicates a block of data requested from a storage device (e.g., storage device 301) during the test boot process. The execution of the test boot process, in particular the data block request, is monitored. Each time a data block is requested, a corresponding new entry 311-1, 311-2, … …, 311-n for the requested set of data blocks 311 is generated and added to the set 311.
According to this embodiment, the requested set of data blocks 311 is stored with the data backed up in the backup process. Thus, the storage device 301 also includes, i.e., also stores, backed-up data. The data that is backed up includes snapshots or images of the VM that has performed the backup, i.e., the backup VM as described herein.
FIG. 4 illustrates an exemplary arrangement of entries 311-i of the requested set of data chunks 311, where 1 ≦ i ≦ n. According to this embodiment, the entry 311-i includes information of a data block requested from the storage device in the test boot process. According to this embodiment, the information comprises an address 401 of the requested data block in the storage device and a size 402 of the data block. This eliminates the need to store the entire data block in the requested set of data blocks 311, and in particular the entries 311-i, thereby saving storage space. Furthermore, the requested set of data blocks 311 can be accessed quickly, without wasting processing time, and thus without affecting the execution of the test boot process.
It should be noted that, according to at least one other embodiment, other information of the data block requested from the storage device in the current boot process is also stored in the entry 311-i of the requested data block set 311. The embodiment of FIG. 4 is an example of an entry 311-i of a requested set of data blocks 311. Generally, entries 311-i are set to enable identification of data blocks in the storage device.
Fig. 5 is a flowchart illustrating sub-steps of the test boot process executing step 201 according to an embodiment of the present invention. The sub-steps are performed by the devices 110 and 120 for supporting the execution of a boot process executed in an instant recovery process. Specifically, the substeps are executed by the backup process execution unit 111 or the like. Furthermore, the substep is performed in the test boot process. The test boot process is in turn part of the boot process.
In step 501, data block requests (e.g., I/O requests) executed in the test boot process are monitored. In this way, the data blocks required for the boot process executed in the instant restore process to restore the boot data can be determined. Monitoring is performed by monitoring and detecting access to a storage device storing a corresponding data block. Since the test boot process is part of the backup process, the monitored data block requests include requests for data blocks backed up in the backup process. The storage device is the storage device 301 in fig. 3 described above, or the like.
The corresponding data blocks include, for example: identifying data required by hardware and/or software components of a computing system or device whose VMs are backed up and subsequently recoverable by an instant recovery process; data required to verify the availability and/or functionality of the hardware and/or software components; controlling the hardware and/or software components to prepare data required for operation after a boot process; data required for initialization and/or operation of a VM and/or corresponding computing system or device; data required for initialization and/or operation of the VM and/or the corresponding application executing in the computing system or device; executing data required by the MBR to be booted in the corresponding instant recovery process; loading data required by an OS kernel; loading data required by a driver; data required to initiate execution of the service/daemon and/or application; and/or any other data needed in the boot process executed in the instant restore process.
In step 502, information 401 and 402 of data blocks requested from the storage device in the test boot process is collected. To this end, data block information 401 and 402 is detected upon monitoring or detecting 501 a request (e.g., an I/O request) for a data block. As described above with respect to FIGS. 3 and 4, information 401 and 402 includes an address 401 of a data block in the storage device (e.g., storage device 301) and a size 402 of the data block.
In step 503, the requested set of data blocks 311 is stored in the storage device (e.g., storage device 301). In particular, entries 311-1, 311-2, 311-i, and 311-n of the requested set of data chunks 311 are generated for the data chunk information 401 and 402 collected in step 502. The corresponding data block information 401 and 402 is then stored in the generated entries 311-1, 311-2, 311-i, and 311-n.
The above steps 502 and 503 are performed for each data block monitored or detected in step 501. At the end of the execution of the test boot process executing step 201, that is, at the end of the backup process including the test boot process, the requested data block set 311 includes information of all data blocks monitored in step 501 and requested in the test boot process.
Fig. 6 shows a flowchart of sub-steps performed in step 202 for executing a boot process in an instant recovery process, according to an embodiment of the present invention. The sub-steps are performed by the devices 110 and 130 for supporting the execution of the boot process of the instant recovery process. In particular, the substeps are performed by the recovery process execution unit 112. Further, the substep is performed in the boot process. The boot process is in turn part of the instant recovery process.
In step 601, the requested set of data chunks 311 is retrieved from the storage device. The storage device is a secondary or backup storage device. The storage device is, for example, the storage device 301 shown in fig. 3. If the requested set of data blocks 311 has been generated 201 as described above in the test boot process of the backup process, the requested set of data blocks 311 may be retrieved from the storage device 301. If the requested set of data blocks 311 is not generated 201 in the backup process, in particular the test boot process of the backup process, it is not possible to perform the pre-fetching step 202 and the pre-fetching step 202 ends. However, if the requested set of data blocks 311 is generated 201 in the test boot process, the previously generated requested set of data blocks 311 is retrieved from the storage device 301.
In step 601, the requested set of data blocks 311 is accessed, according to one embodiment, starting from the reserved entries 311-1, 311-2, 311-i, and 311-n of the set of data blocks 311, e.g., from the first entry 311-1 of the requested set of data blocks 311.
In step 602, entries 311-1, 311-2, 311-i, and 311-n are accessed. Specifically, the data block information 401 and 402 stored in the entries 311-1, 311-2, 311-i and 311-n is obtained from the entries 311-1, 311-2, 311-i and 311-n.
In step 603, the corresponding data block is retrieved from the storage device (e.g., storage device 301) by utilizing the information 401 and 402. For example, if the information 401 and 402 comprises an address 401 of a data block in the memory device and a length 402 of the data block, the corresponding data block is retrieved by accessing the memory device at the address 401 and reading the data block starting at the address 401 and having the length 402. The retrieved data blocks are data blocks that have been backed up in the backup process executing each test boot process. Step 603 is therefore performed for the data blocks that have been backed up in the backup process.
In step 604, the retrieved data block is stored in other storage devices (e.g., a cache), which allows the data block to be accessed faster than the storage devices that have retrieved the data block in step 603. Accordingly, a prefetch of the data block is performed in step 604.
In step 605, it is verified whether all entries 311-1, 311-2, 311-i, and 311-n of the requested set of data blocks 311 have been obtained (602) and accessed (603), and whether all respective data blocks are stored (604) in other storage devices (e.g., caches). If the requested set of data blocks 311 includes entries 311-1, 311-2, 311-i, and 311-n that were not considered, i.e., entries 311-1, 311-2, 311-i, and 311-n that were not processed in the previous steps 602-604, then execution of the boot process 202 of the instant restore process continues with the new round of execution of step 602, taking into account the other entries 311-1, 311-2, 311-i, and 311-n of the requested set of data blocks 311.
If all of the entries 311-1, 311-2, 311-i, and 311-n of the requested set of data blocks 311 have been considered, then execution of the boot process 202 of the instant recovery process is terminated or ended at step 606.
It should be noted here that if the other storage device (e.g., cache) storing (604) the data block is full, the execution of steps 602-605 may be interrupted for a period of time. After the use of one or more data blocks stored (604) in other storage devices has been completed in the boot process, steps 602 to 605 continue. The one or more data blocks that have been stored (604) in the other storage device and that are used in the boot process are considered to require no further execution of the boot process. The one or more data blocks are thus deleted from the other storage devices and substeps 602 to 605 continue to be performed until all entries have been considered. The above-described interrupts may be performed at any time when it is determined that the other storage device (e.g., cache) is full. With each re-execution of sub-steps 602 to 605, data blocks which have been previously stored (604) in other storage devices and which have completed processing in the boot process are replaced with new data blocks identified by further execution of sub-steps 602 to 605.
The present invention may be implemented in several technical fields utilizing VMs that can perform backup and corresponding instant recovery processes. The VMs may execute on different computing systems or devices, such as mobile computing systems or devices (e.g., mobile phones, smart phones, in-vehicle devices, laptops, etc.) or stationary computing systems or devices (e.g., appliances, sensors, actuators, etc.).
In addition, the present invention may be implemented in different environments. In addition to common computer-assisted environments with physical devices or equipment, the present invention may also be implemented in virtual or cloud environments. Therefore, according to the present invention, a virtual system and a system operated through a cloud can be backed up and restored immediately.
The devices 110, 120 and 130 for supporting the execution of the boot process executed in the recovery process may be arranged in different ways. According to one embodiment, the devices 110, 120, and 130 are part of a computing system or device on which the VM is executing, while according to another embodiment, the devices 110, 120, and 130 are external devices to the computing system or device. According to one embodiment, the devices 110, 120 and 130 are apparatuses comprising a housing, whereas according to another embodiment, the devices 110, 120 and 130 are systems or arrangements comprising a plurality of (at least two) interconnected entities, units and/or devices. According to one embodiment, the devices 110, 120, and 130 are storage devices, wherein according to another embodiment, the devices 110, 120, and 130 are storage devices that store backed up data and requested data block sets in a backup process. According to one embodiment, the devices 110, 120, and 130 are storage devices having Virtual Machine (VM) disks. According to another embodiment, the devices 110, 120 and 130 are virtual machine monitors, i.e. hardware and/or software devices or servers that create and run virtual machines. In general, the devices 110, 120, and 130 may be any computing device, where the term "device" includes an apparatus having a housing, system, or arrangement as described above.
Other storage devices (e.g., caches) that prefetch a data block are typically storage devices that allow faster access to stored data than the storage devices that store the data block and from which the data block is requested during the boot process.
In view of the above, it should be clear that the invention can be provided in different arrangements. The invention allows a modular implementation. The above-described embodiments can thus be combined with each other.
The present invention relates to an apparatus and method for supporting execution of a boot process executing in an instant restore process for immediately restoring data backed up in a backup process. A backup process execution unit of the device executes a test boot process by using data backed up in the backup process, and generates a requested data block set in the test boot process, wherein each entry of the requested data block set includes information of a data block requested from a storage device in the test boot process. A resume-on-demand process execution unit of the device executes the boot process in the resume-on-demand process by prefetching a data block from the storage device for each entry of a requested set of data blocks, wherein the entry of the requested set of data blocks includes information of the data block.
The invention has been described herein in connection with various embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

Claims (9)

1. An apparatus for supporting execution of a boot process executing in an instant restore process for immediately restoring data backed up in a backup process, wherein the apparatus comprises at least one of the following:
-a backup process execution unit, wherein the backup process execution unit is configured to execute a test boot process by using data backed up in the backup process and to generate a set of requested data blocks in the test boot process, wherein each entry of the set of requested data blocks comprises information of data blocks requested from a storage device in the test boot process; the backup process has the test boot process;
-a resume-on-demand process execution unit for executing the boot process in the resume-on-demand process by prefetching a data block from the storage device for each entry of a requested set of data blocks, the entry of the requested set of data blocks comprising information of the data block, wherein the test boot process is executed offline or in the background.
2. The apparatus of claim 1, wherein the information of the data block requested from the storage device in the test boot process comprises an address of the data block in the storage device and a size of the data block.
3. The apparatus of claim 1 or 2, wherein the resume-on-demand process execution unit is configured to perform the pre-fetching by retrieving the data block from the storage device using entry information in the requested set of data blocks and storing the data block to another storage device that allows faster access to the data block than the storage device.
4. The device of claim 1 or 2, wherein the backup process execution unit is configured to monitor the test boot process for data block requests for requesting data blocks from the storage device.
5. The device according to claim 1 or 2, wherein the backup process execution unit is configured to collect information of the data blocks requested from the storage device in the test boot process.
6. The device of claim 1 or 2, wherein the backup process execution unit is configured to instruct storage of the requested set of data blocks in the storage device as part of the data backed up in the backup process.
7. The device according to claim 1 or 2, wherein the resume-on-demand process execution unit is configured to retrieve the requested set of data blocks from the storage device in the boot process.
8. A method for supporting execution of a boot process executing in an instant restore process for immediately restoring data backed up in a backup process, wherein the method comprises at least one of the following steps:
-executing a test boot process by using the data backed up in the backup process and generating a set of requested data blocks in the test boot process, wherein each entry of the set of requested data blocks comprises information of data blocks requested from a storage device in the test boot process; the backup process has the test boot process;
-executing the boot-up process in the just-in-time restore process by prefetching a data block from the storage device for each entry of the requested set of data blocks, wherein the entry of the requested set of data blocks comprises information of the data block, wherein the test boot-up process is executed offline or in the background.
9. A computer-readable recording medium for storing therein a computer program product, wherein the computer program product comprises computer-readable program code for causing a computing device to perform the steps of the method of claim 8.
CN201680087849.4A 2016-08-03 2016-08-03 Device and method for supporting execution of guide process in instant recovery process Active CN109564533B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/068536 WO2018024327A1 (en) 2016-08-03 2016-08-03 Device and method arranged to support execution of a booting process executed during an instant restore process

Publications (2)

Publication Number Publication Date
CN109564533A CN109564533A (en) 2019-04-02
CN109564533B true CN109564533B (en) 2020-12-04

Family

ID=56567609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680087849.4A Active CN109564533B (en) 2016-08-03 2016-08-03 Device and method for supporting execution of guide process in instant recovery process

Country Status (2)

Country Link
CN (1) CN109564533B (en)
WO (1) WO2018024327A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1183841A (en) * 1995-02-13 1998-06-03 英特特拉斯特技术公司 System and method for secure transaction management and electronic rights protection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073232A (en) * 1997-02-25 2000-06-06 International Business Machines Corporation Method for minimizing a computer's initial program load time after a system reset or a power-on using non-volatile storage
US7958398B2 (en) * 2008-07-16 2011-06-07 International Business Machines Corporation Reference state information generation
US8230208B2 (en) * 2009-04-20 2012-07-24 Intel Corporation Booting an operating system of a system using a read ahead technique
US9804965B2 (en) * 2014-12-03 2017-10-31 Electronics And Telecommunications Research Institute Virtual machine host server apparatus and method for operating the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1183841A (en) * 1995-02-13 1998-06-03 英特特拉斯特技术公司 System and method for secure transaction management and electronic rights protection

Also Published As

Publication number Publication date
WO2018024327A1 (en) 2018-02-08
CN109564533A (en) 2019-04-02

Similar Documents

Publication Publication Date Title
US8666938B1 (en) Installed application cloning and failover to virtual server
US10379967B2 (en) Live rollback for a computing environment
US8769226B2 (en) Discovering cluster resources to efficiently perform cluster backups and restores
US6098158A (en) Software-enabled fast boot
US8645950B2 (en) Virtual machine image analysis
EP2840495B1 (en) Container-based processing method and apparatus
US8209290B1 (en) Generic granular restore of application data from a volume image backup
WO2017049828A1 (en) Method, device and system for data processing based on linux
WO2014199230A2 (en) Virtual machine backup from storage snapshot
JP2010086181A (en) Virtual machine system, method for managing thereof, program, and recording medium
JP4903244B2 (en) Computer system and failure recovery method
US20080115134A1 (en) Repair of system defects with reduced application downtime
US11144401B2 (en) Component aware incremental backup, restore, and reconciliation solution
US20160055018A1 (en) Virtual machine reboot information persistence into host memory
US9805068B1 (en) Systems and methods for facilitating features of system recovery environments during restore operations
US11204776B2 (en) Apparatus and method for booting virtual machines
JP2021174495A (en) System and method for selectively restoring computer system into operational state
US20150269029A1 (en) Immediate Recovery of an Application from File Based Backups
TWI764454B (en) Firmware corruption recovery
US10372557B2 (en) Versioning and recovery of workloads
CN110941516B (en) Operating system restoration method, device, equipment and storage medium
CN115576743B (en) Operating system recovery method, operating system recovery device, computer equipment and storage medium
CN109564533B (en) Device and method for supporting execution of guide process in instant recovery process
WO2014024279A1 (en) Memory failure recovery device, method, and program
CN113703823A (en) BMC (baseboard management controller) firmware upgrading method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant