RHEL High Availability - Share MAC address Between Servers

Latest response

Hi There

Just like a virtual IP, is it possible to share (Active - Standby) an ethernet MAC address in the High Availability Linux server pair?

Regards

Deepak

Responses

From what I understand, keepalived's VRRP implementation uses the interface MAC and not a virtual failover MAC, so there is no "floating MAC" on a keepalived VRRP interface. ucarp's CARP implementation doesn't seem to use a floating MAC either.

It's possible to fail an IP around a network with cluster scripts, it should theoretically be possible to fail a MAC around a network, though you might have to write the script yourself. The "virtual MAC" would simply come from you implementing "ip link set <dev> address <MAC>" in the script.

You'd need to GARP whenever a failover occurs, so remote hosts update their MAC tables. Have a read of /etc/init.d/network and its friends in /etc/sysconfig/network-scripts/ to see how Linux handles bringing network interfaces up, like what it does and what order it does things in. There's an arping in ifup-eth which you can mirror in your own script to send a GARP.

I agree this is a terribly crude manual solution, maybe someone else has a better option?

Cloning a MAC also has a larger implication on the L2 routing whether plain Spanning Tree or RSTP. The tree will have to reconverge, specially if you are failing the MAC across two different upstream switches. I wouldn't recommend it for a high-availability configuration.

As Jamie said - it is possible to do it, but not included in any of the default resource scripts.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.