Subscribe

Need to change the ifgrp distribution function from IP to port for cluster in Production

[ Edited ]

               Port       Distribution                   Active
Node     IfGrp      Function           MAC Address       Ports   Ports
-------- ---------- ------------ ----------------- ------- -------------------
netappind001-n1
         a1a        ip           ################### full    e0c, e0d
         a1c        ip           ################### full    e0e, e0f
netappind001-n2
         a2a        ip           ################### full    e0c, e0d
         a2c        ip           ################### full    e0e, e0f

 

We have seleceted 'Distribution Function' as 'IP' for our two port ifgrp and now observing issue with outgoing traffic -  one of the port in ifgrp is heavily utilised while the other is less utilised  (difference is huge)

 

Since we have all 1 GB ports so need to utilise both the ports in order to get fair outgoing bandwidth.

 

Now the problem is that this cluster is in production - is there anyway we can change the Distribution Function to port without / min downtime.

 

Attached logs below to show that e0d port in ifgrp a1a is more utilised than e0c

 

-- interface  a1a-4  (12 days, 20 hours, 18 minutes, 10 seconds) --

RECEIVE
 Total frames:      310m | Total bytes:     22370m | Multi/broadcast:  2553k
TRANSMIT
 Total frames:     2027m | Total bytes:      3049g | Multi/broadcast:   161
 Queue overflows:     0
LINK INFO
 Linkup Events:       2  | Allocs Failed:       0
DEVICE
 Vlan ID:             4  | Phy Iface:          a1a

 

-- interface  e0c  (12 days, 20 hours, 18 minutes, 10 seconds) --

 

TRANSMIT
 Frames/second:       4  | Bytes/second:      632  | Errors/minute:       0
 Discards/minute:     0  | Total frames:     5855k | Total bytes:     61442m
 Total errors:        0  | Total discards:      0  | Multi/broadcast: 16692
 Queue overflows:     0  | No buffers:          0  | Transmit error:      0
 Frame Dropped:       0  | Pause frame:         0  | Stray Cluster Pk:    0

 

-- interface  e0d  (12 days, 20 hours, 18 minutes, 10 seconds) --

 

TRANSMIT
 Frames/second:      22  | Bytes/second:    68014  | Errors/minute:       0
 Discards/minute:     0  | Total frames:    84223k | Total bytes:      1136g
 Total errors:        0  | Total discards:      0  | Multi/broadcast: 56431
 Queue overflows:     0  | No buffers:          0  | Transmit error:      0
 Frame Dropped:       0  | Pause frame:         0  | Stray Cluster Pk:    0

Re: Need to change the ifgrp distribution function from IP to port for cluster in Production

Hello, as I think you've already realised to change the distribution function is disruptive in that you must delete the interface group.

 

However, it should be possible to achieve this, albeit a manual LIF failover will incur a 15 second disruption:

  1. First remove a port from the ifgrp - network port ifgrp remove-port
  2. Create a new ifgrp with the "port" distribution function
  3. Migrate the LIF from the old to the new ifgrp -  network interface migrate (15 second disruption)
  4. Delete the old ifgrp and add the second port to the new ifgrp - network port ifgrp add-port

Just a caution from Ethernet Storage Design Considerations and Best Practices for Clustered Data ONTAP Configurations - http://www.netapp.com/us/media/tr-4182.pdf page 13:

 

Port. Use this distribution method for optimal load-balancing results. However, it doesn’t lend itself as well to troubleshooting, because the TCP/UDP port of a packet is also used to determine the physical port that is used to send a particular packet. It has also been reported that switches operating in particular modes (mapping MAC/IP/port) might exhibit lower than expected performance in this mode.

 

...If you use “port” on the IFGRP configuration on the cluster, make sure that the switch port on the Cisco, Juniper, Brocade, or other device is also configured in the same way

 

Obviously this is Production so test in your environment first, however hope you find this useful.

 

Cheers,

Grant.