Restoring Master Mirroring After a Recovery
After you activate a standby master for recovery, the standby master becomes the primary master. You can continue running that instance as the primary master if it has the same capabilities and dependability as the original master host.
You must initialize a new standby master to continue providing master mirroring unless you have already done so while activating the prior standby master. Run gpinitstandby on the active master host to configure a new standby master. See Enabling Master Mirroring.
You can restore the primary and standby master instances on the original hosts. This process swaps the roles of the primary and standby master hosts, and it should be performed only if you strongly prefer to run the master instances on the same hosts they occupied prior to the recovery scenario.
Important Restoring the primary and standby master instances to their original hosts is not an online operation. The master host must be stopped to perform the operation.
For information about the SynxDB utilities, see the SynxDB Utility Guide.
To restore the master mirroring after a recovery
-
Ensure the original master host is in dependable running condition; ensure the cause of the original failure is fixed.
-
On the original master host, move or remove the data directory,
gpseg-1. This example moves the directory tobackup_gpseg-1:$ mv /data/master/gpseg-1 /data/master/backup_gpseg-1You can remove the backup directory once the standby is successfully configured.
-
Initialize a standby master on the original master host. For example, run this command from the current master host, smdw:
$ gpinitstandby -s mdw -
After the initialization completes, check the status of standby master, mdw. Run gpstate with the
-foption to check the standby master status:$ gpstate -fThe standby master status should be
passive, and the WAL sender state should bestreaming.
To restore the master and standby instances on original hosts (optional)
Note Before performing the steps in this section, be sure you have followed the steps to restore master mirroring after a recovery, as described in the To restore the master mirroring after a recoveryprevious section.
-
Stop the SynxDB master instance on the standby master. For example:
$ gpstop -m -
Run the
gpactivatestandbyutility from the original master host, mdw, that is currently a standby master. For example:$ gpactivatestandby -d $MASTER_DATA_DIRECTORYWhere the
-doption specifies the data directory of the host you are activating. -
After the utility completes, run
gpstatewith the-boption to display a summary of the system status:$ gpstate -bThe master instance status should be
Active. When a standby master is not configured, the command displaysNo master standby configuredfor the standby master state. -
On the standby master host, move or remove the data directory,
gpseg-1. This example moves the directory:$ mv /data/master/gpseg-1 /data/master/backup_gpseg-1You can remove the backup directory once the standby is successfully configured.
-
After the original master host runs the primary SynxDB master, you can initialize a standby master on the original standby master host. For example:
$ gpinitstandby -s smdwAfter the command completes, you can run the
gpstate -fcommand on the primary master host, to check the standby master status.
To check the status of the master mirroring process (optional)
You can run the gpstate utility with the -f option to display details of the standby master host.
$ gpstate -f
The standby master status should be passive, and the WAL sender state should be streaming.
For information about the gpstate utility, see the SynxDB Utility Guide.
