I want to run an Active cluster in my primary site, and a Passive cluster in my DR site.
Failover between Master and Failover units in the Active site will follow a different procedure in the Active site than that in the Passive site.
Therefore, the members of the clusters need to know if they are in the Active site or the Passive site, so that they perform the correct flavour of failover.
My initial thought is to implement the state as a script resource agent within the cluster:
<service autostart="0" domain="dbdomain" exclusive="0" name="active_site_marker" recovery="relocate">
<script name="active_site" file="/bin/true"/>
This will need to be manually stopped / started as the sites are variously demoted to Passive / promoted to Active, and the resource will survive whatever host failures occur in either cluster. A member of either cluster can determine the cluster's status by grepping through the list of services in the cluster and finding the active_site resource and checking its status.
However it feels a bit clunky. The "service" might fail to relocate, or might relocate during a failover event and therefore confuse things.
Is there a simpler, more robust way of setting the cluster status ? One thought is that I could rename the cluster according to the site status and test the name during a failover event, however I am not sure that reconfiguring a cluster in this way is a good idea during our time-pressured site-failover process.