· Feb 21, 2023

Question about setting up Failover/Async Mirroring

I am new to setting up a mirror environment....

We will have a Arbiter, Two Failover members (A,B), and a Async (DR) member (C). I have the two failover members in sync and are configured for Arbiter Control.

My question is about the Async member, when I initially set it up I pointed it to the mirror on the primary node A.

Is that correct?

What happens to the Async member (C) if we fail over the mirror to the secondary member B? Does there need to be a VIP just for the mirror outside of the VIP we have for our systems to connect too? So the Async member (C) is pointed to the VIP specifically for the Mirror?



Product version: IRIS 2022.1
$ZV: IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1 (Build 209U) Tue May 31 2022 12:13:24 EDT
Discussion (8)3
Log in or sign up to continue

For adding a member, this is the IP of the first member (primary).  It's correct.
No matter the virtual IP, it's the role of the arbiter\agent to communicate who is primary in case of a switch.  

However, a virtual IP is convenient for access to your applications.

For example, with web applications: If the system switches from node A to node B, it is more convenient to use a virtual IP address.  You can use this in your web server configuration so that it always points to the primary node.

This is NOT correct a VIP is not needed for a failover mirror even with ASYNC DR.

Any Async Mirror will know of all mirror nodes and try both failover mirror members if it cannot connect to the primary automatically. For this it uses the superserver IP configured on the mirror setup or the private mirror IP if it is able to access it. 

A VIP is only needed for application that are not mirror aware.

Even the current web/csp gateway can be configured to be mirror aware.

The documentation mentions the use of ZMIRROR to Monitor the Mirroring....

Does anyone have any code/scripts they would be willing to share that shows me how ZMIRROR works and how it can be used?

Does ZMIRROR have to be scripts that are run on each part of the Mirror to monitor the status or can this be done on the server that is the Arbiter?

How can one detect that a failover is happening and therefore kick of shell level scripts to execute stuff on the OS Level such as moving the VIP and syncing directories?

The entrypoints of ZMIRROR are called during the mirror failover process. E.g. if the backup mirror has successfully taken over all roles and now has become primary the relevant entrypoint (not sure but something like HasBecomePrimary^ZMIRROR) is being called. So code added to that entrypoint will be executed at that time .

ZMIRROR cannot be used for monitoring purposes only to execute actions during a failover process.