Subscribe

How does the "partner" argument of ifconfig work to allow clustering via VIFs?

I keep reading in documentation that the partner argument of ifconfig must be set to the name of the cluster partners VIF when using aggragated interfaces for cluster failover.  How does filer1 know about the VIFs of filer2 and vice versa.  Maybe I'm missing something? Is this exchanged through the NVRAM interconnects?

Re: How does the "partner" argument of ifconfig work to allow clustering via VIFs?

ONTAP knows   there was a change in 7.3 (or maybe 7.2) where we can't put an IP address and had to specify the interface name on the partner.  It might be via the interconnect and cluster mailbox, but I am pretty sure that on takeover the rc file is processed on the partner to know where to failover the ip (but mac address also comes up some some more detail over the mailbox has to be used).  It is also a good way to migrate off interfaces or to migrate to/from a vif (as mentioned in a recent post here) and we have done that to migrate customers to 10GbE nics from 1GbE by takeover/giveback.

Re: How does the "partner" argument of ifconfig work to allow clustering via VIFs?

That is all fine and well, but what if the failover fails....

So I have 2 rc files like these:

#Auto-generated by setup Mon May  9 14:45:44 EST 2011
hostname X
vif create multi agr0 -b ip e0b e0c e0d
ifconfig agr0 `hostname`-agr0 mediatype auto netmask 255.255.255.0 partner arg0
ifconfig e0a `hostname`-e0a mediatype auto flowcontrol full netmask 255.255.255.0
route add default xxx.xxx.xxx.1
routed on
options dns.enable on
options nis.enable off
savecore
AND
#Auto-generated by setup Mon May  9 14:43:39 EST 2011
hostname Y
vif create multi agr0 -b ip e0b e0c e0d
ifconfig agr0 `hostname`-agr0 mediatype auto netmask 255.255.255.0 partner arg0
ifconfig e0a `hostname`-e0a mediatype auto flowcontrol full netmask 255.255.255.0
route add default xxx.xxx.xxx.1
routed on
options dns.domainname ci.durham.nh.us
options dns.enable on
options nis.enable off
savecore
That were generated by the setup and I'm having trouble failing over from one head to another (the shelves are fine, just no IP being re-homed).  And I can't see where Y would get the information it needs for X from the the /etc/rc. Thoughts?

Re: How does the "partner" argument of ifconfig work to allow clustering via VIFs?

1. Is live configuration the same as /etc/rc? Please show result of "ifconfig agr0" on both heads?

2. How do you determine that "no IP being re-homed"? What exactly happens and/or does not work?

Re: How does the "partner" argument of ifconfig work to allow clustering via VIFs?

And I see the problem.  I transposed two chars in the partner interface name..  Yes indeed you must enter the partner VIF name and not the address of the interface and yes it does indeed failover when done correctly.  Don't ask me how, but it works.

Re: How does the "partner" argument of ifconfig work to allow clustering via VIFs?

Pure user error.

Re: How does the "partner" argument of ifconfig work to allow clustering via VIFs?

As best I can determine, it basically performs a pattern match against the running configuration on the takeover node.

So the failed node has an ifconfig line which says "partner agr0" (corrected against your original).

When node B takes over node A, the personality of node A starts up.  The Node A /etc/rc file is read.

ONTAP says "Let me look for an interface on Node B named "agr0" and using that INTERFACE I will bring up Node A's interface configuration".

It doesn't actually bring up the Node A physical interface on Node B, but rather brings up the interface configuration on Node B on the particular interface which you've tagged via the partner command.

At least that's the way I understand it from the testing I've done.

Thanks!

Jason