Failover and recovery for replicated data instances
First Claim
1. A computer-implemented method for managing a replicated database, comprising:
- under control of one or more computer systems configured with executable instructions,obtaining a generation identifier for a primary instance replica and a secondary instance replica of the replicated database upon initial pairing of the primary instance replica and the secondary instance replica, the primary instance replica and the secondary replica associated with a data environment;
synchronizing data between the primary instance replica and the secondary instance replica using a block-level replication mechanism;
periodically providing status information to a monitoring component of a control environment, the control environment being separate from the data environment;
providing failure information to the monitoring component in response to the primary instance replica being unable to communicate with the secondary instance replica, the failure information including at least the generation identifier;
determining that the primary instance replica is able to communicate with the monitoring component;
obtaining a second generation identifier for the primary instance replica; and
performing one or more input/output (I/O) operations via the primary instance replica.
1 Assignment
0 Petitions
Accused Products
Abstract
Replicated instances in a database environment provide for automatic failover and recovery. A monitoring component can periodically communicate with a primary and a secondary replica for an instance, with each capable of residing in a separate data zone or geographic location to provide a level of reliability and availability. A database running on the primary instance can have information synchronously replicated to the secondary replica at a block level, such that the primary and secondary replicas are in sync. In the event that the monitoring component is not able to communicate with one of the replicas, the monitoring component can attempt to determine whether those replicas can communicate with each other, as well as whether the replicas have the same data generation version. Depending on the state information, the monitoring component can automatically perform a recovery operation, such as to failover to the secondary replica or perform secondary replica recovery.
-
Citations
17 Claims
-
1. A computer-implemented method for managing a replicated database, comprising:
under control of one or more computer systems configured with executable instructions, obtaining a generation identifier for a primary instance replica and a secondary instance replica of the replicated database upon initial pairing of the primary instance replica and the secondary instance replica, the primary instance replica and the secondary replica associated with a data environment; synchronizing data between the primary instance replica and the secondary instance replica using a block-level replication mechanism; periodically providing status information to a monitoring component of a control environment, the control environment being separate from the data environment; providing failure information to the monitoring component in response to the primary instance replica being unable to communicate with the secondary instance replica, the failure information including at least the generation identifier; determining that the primary instance replica is able to communicate with the monitoring component; obtaining a second generation identifier for the primary instance replica; and performing one or more input/output (I/O) operations via the primary instance replica. - View Dependent Claims (2, 3, 4)
-
5. A system for managing a replicated database, comprising:
-
a processor; and a memory device including instructions that, upon being executed by the processor, cause the processor to; synchronize data between a primary instance replica and a secondary instance replica of the replicated database, the primary instance replica and the secondary replica associated with a data environment; provide status information to a monitoring component of a control environment, the control environment being separate from the data environment; provide failure information to the monitoring component in response to the primary instance replica being unable to communicate with the secondary instance replica; determine that the primary instance replica is able to communicate with the monitoring component; obtain second data generation information for the primary instance replica; and perform one or more I/O operations via the primary instance replica. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium storing instructions for managing a replicated database, the instructions, upon being executed by a processor, causing the processor to:
-
obtain data generation information for a primary instance replica and a secondary instance replica of the replicated database upon initial pairing of the primary instance replica and the secondary instance replica, the primary instance replica and the secondary replica associated with a data environment synchronize data between the primary instance replica and the secondary instance replica; provide status information to a monitoring component of a control environment, the control environment being separate from the data environment; provide failure information to the monitoring component in response to the primary instance replica being unable to communicate with the secondary instance replica, the failure information including at least the data generation information; verify that the data generation information of the secondary instance replica corresponds to last known data generation information of the primary instance replica; promote the secondary instance replica to be a new primary instance replica; pair the new primary instance replica with a new secondary instance replica; synchronize the data between the new primary instance replica and the new secondary instance replica; and obtain second data generation information for the new primary instance replica and the new secondary instance replica. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification