An Underutilized PowerHA Option

Edit: Some links no longer work.

Originally posted October 20, 2015 on AIXchange

Awhile back, IBM’s Chris Gibson offered a PowerHA tip that you might have missed:

You can use SEA poll_uplink method (requires VIOS 2.2.3.4). In this case SEA can pass up the link status, no “!REQD” style ping is required any more.

Yes, you can install VIOS 2.2.3.50 on top of 2.2.3.4.

At the moment I’m not aware any official documentation regarding how to configure SEA poll_uplink in PowerHA environment. I was in touch with Dino Quintero (editor of the PowerHA Redbooks) and his team will update the latest PowerHA Redbook with this information soon.

However, it’s very easy to enable SEA poll_uplink in PowerHA. Configuration steps:

* Enable poll_uplink on ent0 interface (run this command for all virtual interfaces on all nodes):
    # chdev -l ent0 -a poll_uplink=yes -P
* This change requires a reboot.
Check ent0 and the uplink status:
    # lsattr -El ent0 | grep poll_uplink
    poll_uplink yes Enable Uplink Polling True
    poll_uplink_int 1000 Time interval for Uplink Polling True
    # entstat -d ent0 | grep -i bridge
    Bridge Status: Up

* Enable poll uplink in CAA / PowerHA:
     # clmgr -f modify cluster MONITOR_INTERFACES=enable
* Run cluster verification and synchronization.
* Finally, start PowerHA cluster.

In response, another IBMer, Shawn Bodily, tweeted that he’d updated the PowerHA wiki with this information.

That prompted Chris to post this information:

From Chris we read:

I wanted to mention a new AIX feature, available with AIX 7.1 TL3 (and 6.1 TL9) called the “AIX Virtual Ethernet Link Status” capability. Previous implementations of Virtual Ethernet do not have the ability to detect loss of network connectivity.

For example, if the VIOS SEA is unavailable and VIO clients are unable to communicate with external systems on the network, the Virtual Ethernet adapter would always remain “connected” to the network via the Hypervisors virtual switch. However, in reality, the VIO client was cut off from the external network.

This could lead to a few undesirable problems, such as, a) needing to provide an IP address to ping for Etherchannel (or NIB) configurations to force a failover during a network incident, lacking the ability to auto fail-back afterwards, b) unable to determine total device failure in the VIOS and c) PowerHA fail-over capability was somewhat reduced as it was unable to monitor the external network “reach-ability.”

The AIX VEA Link Status feature provides a way to overcome the previous limitations. The new VEA device will periodically poll the VIOS/SEA using L2 packets (LLDP format). The VIOS will respond with its physical device link status. If the VIOS is down, the VIO client times out and sets the uplink status to down.

To enable this new feature you’ll need your VIO clients to run either AIX 7.1 TL3 or AIX 6.1 TL9. Your VIOS will need to be running v2.2.3.0 at a minimum (recommend 2.2.3.1). There’s no special configuration required on the VIOS/SEA to support this feature. On the VIO client, you’ll find two new device attributes that you can configure/tune. These attributes are:

    poll_uplink (yes, no)
    poll_uplink_int (100ms – 5000ms)

Here’s some output from the lsattr and chdev commands on my test AIX 7.1 TL3 partition that show these new attributes.

   # oslevel -s
   7100-03-01-1341
   # lsattr -El ent0 | grep poll
   poll_uplink     no             Enable Uplink Polling                    True
   poll_uplink_int 1000          Time interval for Uplink Polling           True
   # lsattr -El ent0 -a poll_uplink
   poll_uplink no Enable Uplink Polling True
   # lsattr -Rl ent0 -a poll_uplink
   no
   yes
   # lsattr -Rl ent0 -a poll_uplink_int
   100…5000 (+10)

Although Chris first mentioned this in March and brought it up again this summer, I’m not sure many of you are aware of this option. Even some PowerHA guys I reached out to didn’t know about it, so this information seems well worth sharing.