Technique to perform incremental hibernate and resume of bare metal clusters
The present disclosure describes techniques used in systems, methods, and in computer program products to perform incremental hibernate and resume of bare metal clusters. A replication process can generate full/incremental snapshots at the cluster level and at a resource level of the processes of the cluster. In the even that a user instructs the cluster to hibernate some or all processes of the cluster, the process can capture an incremental snapshot of the corresponding resources far more quickly than would be required to generate full snapshots for those resources. Likewise, system configuration information can be captured to enable the underlying infrastructure of the cluster to be restored in the future. In some embodiments, the approach provided herein also implements an instant restore feature.
1 . A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes a set of acts, the set of acts comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule, wherein the cluster configuration snapshot comprises metadata representing a configuration of the cluster, and the configuration of the cluster comprises a configuration of a management process for management of the cluster and configuration of a plurality of nodes that form the cluster;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster comprising:
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations, and
generating a new cluster configuration snapshot.
2 . The computer readable medium of claim 1 , wherein the cluster comprises at least a plurality of bare metal nodes that form a storage pool having at least some of the logical volumes.
3 . The computer readable medium of claim 1 , wherein the replication operations are implemented as part of a disaster recovery process.
4 . The computer readable medium of claim 1 , wherein the set of acts further comprise restoring the plurality of processes to the cluster using at least the incremental snapshots for the plurality of processes and the new cluster configuration snapshot.
5 . The computer readable medium of claim 4 , wherein restoring the plurality of processes to the cluster is implemented using an instant restore process comprising a copy-on-read process, copy-on-write process, or background process.
6 . A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes a set of acts, the set of acts comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster, wherein only a subset of the processes on the cluster are hibernated and executing the asynchronous hibernation operations in response to the command to hibernate comprises:
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations;
generating a new cluster configuration snapshot;
terminating the plurality of processes in response to the command to hibernate; and
releasing resources that are no longer used by remaining processes on the cluster.
7 . The computer readable medium of claim 6 , wherein executing the asynchronous hibernation operations in response to the command to hibernate further comprises:
rebalancing and consolidating remaining processes on the cluster; and
releasing, after rebalancing and consolidating the remaining processes on the cluster, resources that are no longer used by the remaining processes on the cluster.
8 . A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes a set of acts, the set of acts comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster, wherein all processes on the cluster are hibernated and executing the asynchronous hibernation operations in response to the command to hibernate comprises:
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations;
generating a new cluster configuration snapshot; and
releasing all resources of the cluster that were previously used by any of the processes.
9 . The computer readable medium of claim 8 , wherein the cluster configuration snapshot comprises metadata representing a configuration of the cluster, and the set of acts further comprise restoring the plurality of processes to the cluster using at least the incremental snapshots for the plurality of processes and the new cluster configuration snapshot using an instant restore process comprising a copy-on-read process, copy-on-write process, or background process.
10 . A method comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule, wherein the cluster configuration snapshot comprises metadata representing a configuration of the cluster, and the configuration of the cluster comprises a configuration of a management process for management of the cluster and configuration of a plurality of nodes that form the cluster;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster comprising:
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations, and
generating a new cluster configuration snapshot.
11 . The method of claim 10 , wherein the cluster comprises at least a plurality of bare metal nodes that form a storage pool having at least some of the logical volumes.
12 . The method of claim 10 , wherein the replication operations are implemented as part of a disaster recovery process.
13 . The method of claim 10 , further comprising: restoring the plurality of processes to the cluster using at least the incremental snapshots for the plurality of processes and the new cluster configuration snapshot.
14 . The method of claim 13 , wherein restoring the plurality of processes to the cluster is implemented using an instant restore process comprising a copy-on-read process, copy-on-write process, or background process.
15 . A method comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster, wherein only a subset of the processes on the cluster are hibernated and executing the asynchronous hibernation operations in response to the command to hibernate comprises:
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations;
generating a new cluster configuration snapshot;
terminating the plurality of processes in response to the command to hibernate; and
releasing resources that are no longer used by remaining processes on the cluster.
16 . The method of claim 15 , wherein executing the asynchronous hibernation operations in response to the command to hibernate further comprises:
rebalancing and consolidating remaining processes on the cluster; and
releasing, after rebalancing and consolidating the remaining processes on the cluster, resources that are no longer used by the remaining processes on the cluster.
17 . A method comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster, wherein all processes on the cluster are hibernated and executing the asynchronous hibernation operations in response to the command to hibernate comprises;
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations;
generating a new cluster configuration snapshot; and
releasing all resources of the cluster that were previously used by any of the processes.
18 . The method of claim 17 , wherein the cluster configuration snapshot comprises metadata representing a configuration of the cluster, and the method further comprises restoring the plurality of processes to the cluster using at least the incremental snapshots for the plurality of processes and the new cluster configuration snapshot using an instant restore process comprising a copy-on-read process, copy-on-write process, or background process.
19 . A system comprising:
a storage medium having stored thereon a sequence of instructions; and
a processor that executes the sequence of instructions to cause the processor to perform a set of acts comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule, wherein the cluster configuration snapshot comprises metadata representing a configuration of the cluster, and the configuration of the cluster comprises a configuration of a management process for management of the cluster and configuration of a plurality of nodes that form the cluster;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster comprising:
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations, and
generating a new cluster configuration snapshot.
20 . The system of claim 19 , wherein the cluster comprises at least a plurality of bare metal nodes that form a storage pool having at least some of the logical volumes.
21 . The system of claim 19 , wherein the replication operations are implemented as part of a disaster recovery process.
22 . The system of claim 19 , wherein the set of acts further comprise restoring the plurality of processes to the cluster using at least the incremental snapshots for the plurality of processes and the new cluster configuration snapshot.
23 . The system of claim 22 , wherein restoring the plurality of processes to the cluster is implemented using an instant restore process comprising a copy-on-read process, copy-on-write process, or background process.
24 . A system comprising:
a storage medium having stored thereon a sequence of instructions; and
a processor that executes the sequence of instructions to cause the processor to perform a set of acts comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster, wherein only a subset of the processes on the cluster are hibernated and executing the asynchronous hibernation operations in response to the command to hibernate comprises:
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations;
generating a new cluster configuration snapshot;
terminating the plurality of processes in response to the command to hibernate; and
releasing resources that are no longer used by remaining processes on the cluster.
25 . The system of claim 24 , wherein executing the asynchronous hibernation operations in response to the command to hibernate further comprises:
rebalancing and consolidating remaining processes on the cluster; and
releasing, after rebalancing and consolidating the remaining processes on the cluster, resources that are no longer used by the remaining processes on the cluster.
26 . A system comprising:
a storage medium having stored thereon a sequence of instructions; and
a processor that executes the sequence of instructions to cause the processor to perform a set of acts comprising:
executing replication operations for a cluster as indicated by a snapshot schedule comprising:
generating snapshots for processes on the cluster based on the snapshot schedule, wherein at least some snapshots comprise incremental snapshots, and the snapshots represent logical volumes of respective processes, and
generating a cluster configuration snapshot based on the snapshot schedule;
receiving a command to hibernate a plurality of processes of the cluster; and
executing asynchronous hibernation operations in response to the command to hibernate a plurality of processes of the cluster, wherein all processes on the cluster are hibernated and executing the asynchronous hibernation operations in response to the command to hibernate comprises;
generating new snapshots for the plurality of processes on the cluster, wherein the new snapshots comprise at least one incremental snapshot that captures changes since a last snapshot was generated by executing scheduled replication operations;
generating a new cluster configuration snapshot; and
releasing all resources of the cluster that were previously used by any of the processes.
27 . The system of claim 26 , wherein the cluster configuration snapshot comprises metadata representing a configuration of the cluster, and the set of acts further comprise restoring the plurality of processes to the cluster using at least the incremental snapshots for the plurality of processes and the new cluster configuration snapshot using an instant restore process comprising a copy-on-read process, copy-on-write process, or background process.