Cluster-wide application consistency with volume group snapshot
AssigneeDell Products L.P.
InventorsPhuong N. Hoang, Sukarna Grandhi, Thomas Watson
Life of this patent
Estimating the term…
Abstract
Embodiments of a method for providing cluster-wide, application consistent operations in a distributed network by creating a single volume snapshot object on a server for all of volumes of a distributed application. A snapshot controller creates volume snapshot content for each volume, and an external snapshot process, upon creation of the volume snapshot content, creates a snapshot of each volume on a backend storage device, wherein all snapshots for each volume are created at the same time to ensure consistency across all volumes being snapshotted at a certain moment.
Claims18
A computer-implemented method of providing cluster-wide application consistent backup operations in a distributed network, comprising:
- placing volumes with a same volume group label into a snapshot collector corresponding to that label, wherein the snapshot collector contains list of all pods using the volumes;
- determining a pod's application action from a defined application template;
- arranging applications by the application template into a nested sequence of applications that suspends and restarts resources utilized by respective applications in a defined order;
- adding quiescing and unquiescing commands through pre-hook and post-hook annotations on each pod in the snapshot collector;
- using a selector array to select a snapshot collector sequence to back up;
- defining, for the back up, the application template as comprising a plurality of data fields including an application type field, an application label field specifying a label for all pods belonging to an application, and an actions field mapping actions performed on specific resource types and comprising pre-hook, post-hook, kind, and selectors subfields, wherein the selectors subfield specifies resources selected during a serialization phase of system operation for the volumes being snapshotted;
- and
- processing the application template through a package manager component to execute the volume snapshotting and perform suspension and restart according to the prehook and posthook annotations, wherein an order of quiescing ensures application consistency of the distributed network across all of the pods.
A system comprising a processor and a memory storing program instructions, which when executed by the processor, cause the processor to provide cluster-wide application consistent backup operations in a distributed network by:
- placing, through a hardware-based snapshot collector, volumes with a same volume group label corresponding to that label, wherein the snapshot collector contains list of all pods using the volumes;
- determining, through an application template processor, a pod's application action from a defined application template, wherein applications are arranged by the application template into a nested sequence of applications that suspends and restarts resources utilized by respective applications in a defined order, and
- adding quiescing and unquiescing commands through pre-hook and post-hook annotations on each pod in the snapshot collector, and using a selector array to select a snapshot collector sequence to back up, wherein the application template further comprises a plurality of data fields including an application type field, an application label field specifying a label for all pods belonging to an application, and an actions field mapping actions performed on specific resource types and comprising pre-hook, post-hook, kind, and selectors subfields, wherein the selectors subfield specifies resources selected during a serialization phase of system operation for the volumes being snapshotted;
- and
- processing the application template to execute volume snapshotting and perform suspension and restart according to the prehook and posthook annotations, wherein an order of quiescing ensures application consistency of the distributed network across all of the pods.
A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method of providing cluster-wide application consistent backup operations in a distributed network, comprising:
- placing volumes with a same volume group label into a snapshot collector corresponding to that label, wherein the snapshot collector contains list of all pods using the volumes;
- determining a pod's application action from a defined application template;
- arranging applications by the application template into a nested sequence of applications that suspends and restarts resources utilized by respective applications in a defined order;
- adding quiescing and unquiescing commands through pre-hook and post-hook annotations on each pod in the snapshot collector;
- using a selector array to select a snapshot collector sequence to back up;
- processing the application template to back up the snapshot collectors in the sequence of the selector array;
- defining, for the back up, the application template as comprising a plurality of data fields including an application type field, an application label field specifying a label for all pods belonging to an application, and an actions field mapping actions performed on specific resource types and comprising pre-hook, post-hook, kind, and selectors subfields, wherein the selectors subfield specifies resources selected during a serialization phase of system operation for the volumes being snapshotted;
- and
- processing the application template through a package manager component to execute the volume snapshotting and perform suspension and restart according to the prehook and posthook annotations, wherein an order of quiescing ensures application consistency of the distributed network across all of the pods.
Dependencies are inferred from the claim text.