Managing HP Serviceguard for Linux, Sixth Edition, August 2006

Designing Highly Available Cluster Applications
Designing Applications to Run on Multiple Systems
Appendix B 307
Avoid Using SPU IDs or MAC Addresses
Design the application so that it does not rely on the SPU ID or MAC
(link-level) addresses. The SPU ID is a unique hardware ID contained in
non-volatile memory, which cannot be changed. A MAC address (also
known as a NIC id) is a link-specific address associated with the LAN
hardware. The use of these addresses is a common problem for license
servers, since for security reasons they want to use hardware-specific
identification to ensure the license isn't copied to multiple nodes. One
workaround is to have multiple licenses; one for each node the
application will run on. Another way is to have a cluster-wide
mechanism that lists a set of SPU IDs or node names. If your application
is running on a system in the specified set, then the license is approved.
Previous generation HA software would move the MAC address of the
network card along with the IP address when services were moved to a
backup system. This is no longer allowed in Serviceguard.
There were a couple of reasons for using a MAC address, which have
been addressed below:
Old network devices between the source and the destination such as
routers had to be manually programmed with MAC and IP address
pairs. The solution to this problem is to move the MAC address along
with the IP address in case of failover.
Up to 20 minute delays could occur while network device caches were
updated due to timeouts associated with systems going down. This is
dealt with in current HA software by broadcasting a new ARP
translation of the old IP address with the new MAC address.