Point-in-time data copy in a distributed system
Method, computer program product, and computer system are provided. A controller component verifies the state of all file sets. The controller component initiates a sub-controller component, based on successfully verifying the state of the file sets. The sub-controller component suspends write operations to all databases at the primary site computer. Based on the suspending completing without error, the sub-controller executes point-in-time copy processes for each of the databases and for application non-database files at the primary site computer. Applications using the databases and non-database files are not suspended. Based on all of the point-in-time copy processes completing without error, the sub-controller component resumes write operations to all databases at the primary site computer. The point-in-time copies are automatically sent to the secondary site computer so that the applications can operate at the secondary site computer if the primary site computer becomes unavailable.
1 . A method, comprising:
verifying, by a controller component, a state of all file sets;
based on receiving an indicator of successful verifying to the controller component, the controller component initiating a sub-controller component;
suspending, by the sub-controller component, write operations to all databases at a primary site computer;
based on the suspending completing without error, the sub-controller executing peer snapshot processes for each of the databases and for application non-database files at the primary site computer, and wherein applications using the databases and non-database files are not suspended;
based on all of the peer snapshot processes completing without error, automatically queuing each of the peer snapshots for transmission to a secondary site; and
the sub-controller component resuming write operations to all databases at the primary site computer.
2 . The method of claim 1 , wherein the verifying further comprises:
checking processes on the primary site computer for queued or executing point-in-time copy processes;
checking processes on the primary site computer for queued or executing database backup processes or database restore processes; and
based on no queued or executing processes being found, returning the indicator of successful verifying to the controller component.
3 . The method of claim 1 , wherein the databases comprise a combination of one or more different vendors and one or more different architectures.
4 . The method of claim 1 , wherein the controller component executes all functions, and wherein the sub-controller component is not configured.
5 . The method of claim 1 , wherein based on all of the point-in-time copy processes completing without error, asynchronously making all the snapshots available at a secondary site.
6 . The method of claim 1 , wherein:
based on at least one of the point-in-time copy processes or any of the requests to suspend write operations failing to complete within a configurable time, retrying, by the sub-controller component, the failing operation a configurable amount of times; and
based on the retried operation not succeeding, returning control to the controller component with an error indicating the failed operation.
7 . The method of claim 1 , further comprising:
in response to the controller component receiving from the sub-controller component an error condition indicating write operations to the databases is not resumed, the controller component attempting to resume write operations at the databases; and
deleting the point-in-time copies.
8 . A computer program product, the computer program product comprising a non-transitory tangible storage device having program code embodied therewith, the program code executable by a processor of a computer to perform a method, the method comprising:
verifying, by a controller component, a state of all file sets;
based on receiving an indicator of successful verifying to the controller component, the controller component initiating a sub-controller component;
suspending, by the sub-controller component, write operations to all databases at a primary site computer;
based on the suspending completing without error, the sub-controller executing peer snapshot processes for each of the databases and for application non-database files at the primary site computer, and wherein applications using the databases and non-database files are not suspended;
based on all of the point-in-time copy processes completing without error, automatically queuing each of the peer snapshots for transmission to a secondary site; and
the sub-controller component resuming write operations to all databases at the primary site computer.
9 . The computer program product of claim 8 , wherein the verifying further comprises:
checking processes on the primary site computer for queued or executing point-in-time copy processes;
checking processes on the primary site computer for queued or executing database backup processes or database restore processes; and
based on no queued or executing processes being found, returning the indicator of successful verifying to the controller component.
10 . The computer program product of claim 8 , wherein the databases comprise a combination of one or more different vendors and one or more different architectures.
11 . The computer program product of claim 8 , wherein the controller component executes all functions, and wherein the sub-controller component is not configured.
12 . The computer program product of claim 8 , wherein based on all of the point-in-time copy processes completing without error, asynchronously making all the snapshots available at a secondary site.
13 . The computer program product of claim 8 , wherein:
based on at least one of the point-in-time copy processes or any of the requests to suspend write operations failing to complete within a configurable time, retrying, by the sub-controller component, the failing operation a configurable amount of times; and
based on the retried operation not succeeding, returning control to the controller component with an error indicating the failed operation.
14 . The computer program product of claim 8 , further comprising:
in response to the controller component receiving from the sub-controller component an error condition indicating write operations to the databases is not resumed, the controller component attempting to resume write operations at the databases; and
deleting the point-in-time copies.
15 . A computer system, comprising:
one or more processors;
a memory coupled to at least one of the processors;
a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of:
verifying, by a controller component, a state of all file sets;
based on receiving an indicator of successful verifying to the controller component, the controller component initiating a sub-controller component;
suspending, by the sub-controller component, write operations to all databases at a primary site computer;
based on the suspending completing without error, the sub-controller executing peer snapshot processes for each of the databases and for application non-database files at the primary site computer, and wherein applications using the databases and non-database files are not suspended;
based on all of the peer snapshot processes completing without error, automatically queuing each of the peer snapshots for transmission to a secondary site; and
based on all of the point-in-time copy processes completing without error, the sub-controller component resuming write operations to all databases at the primary site computer.
16 . The computer system of claim 15 , wherein the verifying further comprises:
checking processes on the primary site computer for queued or executing point-in-time copy processes;
checking processes on the primary site computer for queued or executing database backup processes or database restore processes; and
based on no queued or executing processes being found, returning the indicator of successful verifying to the controller component.
17 . The computer system of claim 15 , wherein the databases comprise a combination of one or more different vendors and one or more different architectures.
18 . The computer system of claim 15 , wherein the controller component executes all functions, and wherein the sub-controller component is not configured.
19 . The computer system of claim 15 , wherein:
based on at least one of the point-in-time copy processes or any of the requests to suspend write operations failing to complete within a configurable time, retrying, by the sub-controller component, the failing operation a configurable amount of times; and
based on the retried operation not succeeding, returning control to the controller component with an error indicating the failed operation.
20 . The computer system of claim 15 , further comprising:
in response to the controller component receiving from the sub-controller component an error condition indicating write operations to the databases is not resumed, the controller component attempting to resume write operations at the databases; and
deleting the point-in-time copies.