Forum Discussion

karthic_n_12765's avatar
karthic_n_12765
Icon for Nimbostratus rankNimbostratus
Apr 30, 2004

Redundant pair management

Hello,

 

From the iControl SDK, I am unable to figure out which iControl methods I need to call to get the following simple pieces of information related to redudant pair configuration:

 

1. Is the device part of a redundant pair?

 

2. Is it active-standby or active-active?

 

3. What is the fail-over partner IP address?

 

4. How to get/set preferred active unit information?

 

Thanks,

 

Karthic.
  • Joe,

     

    About 2, I want to know whether the mode of operation is active-standby OR active-active and NOT whether a device is in active or standby state. I think your reply addresses the latter issue.

     

     

    About 4, by preferred active unit, I mean the option in BIG-IP where you can designate one of the units in the redundant pair to have preferrence over the other when both units are eligible to be active. Section 5 of the "BIG-IP reference guide" talks about this feature.

     

     

    Thanks,

     

    Karthic.
  • What you are looking for is in the ITCMLocalLB::Failover and ITCMManagement::Bigdb interfaces.

    1. Is the device part of a redundant pair?

    There is no "official" methods to determine this. But, that doesn't mean it can't be done. All of these values are stored in our internal config database which you can query with the ITCMManagement::Bigdb interface. Look for the following key (using the default db_name of "").

    "Local.Bigip.StateMirror.PeerIPAddr"

    If that key exists then the device is in a HA pair and the value is the address of the peer box.

    String ITCMManagement::Bigdb::get_key( 
         in String db_name, 
         in String key_name 
     );

    This is something that slipped through the cracks and I'll look into getting it added to the interfaces in a future release.

    2. Is it active-standby or active-active?

    enum FailoverState { 
         FAILOVER_STATE_STANDBY = 0, // Fail-over is in standby mode.    
         FAILOVER_STATE_ACTIVE = 1  
     }; 
      
     FailoverState ITCMLocalLB::Failover::get_failover_state();

    3. What is the fail-over partner IP address?

    See 1.

    4. How to get/set preferred active unit information?

    I'm not sure exactly what you mean by preferred active unit information. If you could elaborate on exactly what you want to get/set I can help out.

    -Joe
  • About 2, I want to know whether the mode of operation is active-standby OR active-active and NOT whether a device is in active or standby state. I think your reply addresses the latter issue.

     

     

    To determine if a device is part of a redundant pair, you can also query this DB variable which is probably more accurate:

     

     

    "Local.Bigip.FTB.IsRedundant" ("yes" or 1 means it is part of a redundant pair)

     

     

    To determine if Active-Active or Active-Standby is being used, query this DB variable

     

     

    "Common.Bigip.Failover.ActiveMode" (1 == Active-Active, 0 == Active-Standby (default mode))

     

     

     

    About 4, by preferred active unit, I mean the option in BIG-IP where you can designate one of the units in the redundant pair to have preferrence over the other when both units are eligible to be active. Section 5 of the "BIG-IP reference guide" talks about this feature.

     

     

    To get/set the preferred active unit configuration, use the following 2 DB variables

     

     

    Local.Bigip.Failover.ForceActive"

     

    "Local.Bigip.Failover.ForceStandby"

     

     

    For example, if you want BIG-IP 1 to be the preferred active unit set the variables like this:

     

     

    BIG-IP 1:

     

    Set "Local.Bigip.Failover.ForceActive" = 1

     

    Set "Local.Bigip.Failover.ForceStandby" = 0

     

     

    BIG-IP 2:

     

    Set "Local.Bigip.Failover.ForceActive" = 0

     

    Set "Local.Bigip.Failover.ForceStandby" = 1

     

     

    PLEASE take EXTREME care when setting these variables correctly or you run the risk of disabling the high-availability functionality.

     

     

    -Joe