Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

12047

October 16th, 2016 14:00

Proper way to use IFGroups

I am a bit confused as to the proper way to use ifgroups. In the past I would have used LACP on the switch to connect two network cards on the DD for management and also used two other nics for MTree and regular backups to the DD.

I have read the documentation on ifgroups and I get that "is better", but what do you do on the switch side, do you just use two different ports on 2 different switches and don't really care for any teaming/bonding process? How do you really see the performance increase over LACP for example, with LACP I can see the links as 2 GB, but I don't get the same using ifgroups.

If someone can let me know will be great, much appreciated.

Regards,

Paul

1 Rookie

 • 

20.4K Posts

October 16th, 2016 20:00

Paul,

Right now only applications that use DDBoost can take advantage of ifgroups. If you don't need to provide connectivity to multiple VLANs then there is nothing special to configure on the switch for ports that will be used for ifgroups.

Here is an example for you My eth4a and eth1a are part of a LACP port-channel. This interface will be used for my DDBoost capable application (Avamar/ DDBoost for RMAN).  Now i have 4 other interfaces that will be configured in an ifgroup. When Avamar connects to Data Domain, it will first connect using my veth0 interfaces, after that Data Domain will tell it which devices in the ifgroup is the least used and tell Avamar to use it for the actual data transfer.

veth0        yes       running   no     10.19.145.50                255.255.255.0     n/a                                

eth4a        yes       running   n/a    n/a                          n/a               n/a    bonded to veth0

eth1a        yes       running   n/a    n/a                          n/a               n/a    bonded to veth0

eth1b   yes       running   no     10.19.145.51                255.255.255.0     n/a

eth1c   yes       running   no     10.19.145.52                255.255.255.0     n/a

eth4b   yes       running   no     10.19.145.53                255.255.255.0     n/a

eth4c   yes       running   no     10.19.145.54                255.255.255.0     n/a

LACP has never provided even load-balancing, one of my links would always more busy than other, with ifgroups link utilization is balanced much better.

208 Posts

October 17th, 2016 05:00

Dynamox has answered your question perfectly.

But, to elaborate slightly to the common questions;

LACP has a high overhead on the 2Gbe you see, so you won't get all of that, sometimes the hit is as much as 40%.

For these LACP connections to work over 2 different switches, you'll need VPc (Cisco) or Vlag (Brocade) or you'll only ever make use of one of these paths and take the LACP hit too.

DDSM has some "realtime charts" under "home", you can see the interfaces become start to be used and balanced when you add more backup streams.

"ifconfig" or "net show config" (DDOS command for the same thing) will give you a good overview of TX/RX on each interface. It can be hard work to look at this but it does give reassurance for me personally, that the interfaces are all being used and how well balanced they are over time (this often proves a complete lack of VPc enablement).

If you want to see realtime charts (of sorts) on the DD network interfaces via CLI;

"system show stats view net interval 5" - this is handy to see.

This can be enhanced to include info about DDBoost too but can be awkward on big systems to physically fit without adding columns to your SSH (putty) tool;

"system show stats view net custom-view ddboost interval 5"

With Dynamic interface groups (DIG's) you can also use ifgroups for replication.

You just need resilience for the initial connection to the DD management interface (veth0 in the example provided by Dynamox), this can be failover, rather than LACP and that too needs no special configuration on the switches at all (unless it's to be VLAN/VLAN tagged).

If you only have DDBoost, you really don't need LACP anymore.

If you have non-DDboost Net requirements, you may still need LACP, unless you have 10Gbe and that's enough to warrant failover or just the physical NIC alone.

Regards,

Jonathan

96 Posts

October 21st, 2016 12:00

Hello, dynamox.

A question about your example. If your avamar connects to DataDomain through veth0, how can Data Domain tell to Avamar that use a link in the igfroup if veth0 is not a part of the ifgroup?

1 Rookie

 • 

20.4K Posts

October 22nd, 2016 05:00

Data Domain looks at clients that connect via DDBoost protocol (whether it's Avamar, DDBoost for RMAN ..etc), decides if client's IP matches any of the defined clients.  If yes it tells client to reconnect using an IP address from the matching ifgroup. If client's IP does not match any of the defined clients it will try to use default ifgroup.  If it can't talk to default ifgroup either and ifgroup enforcement parameter is not set , it will go back to using veth0 interface for backups.

7 Posts

October 24th, 2016 09:00

Hi Paul,

I often refer to the use of IFGroups on Data Domain appliances as "Application level aggregation" because of the lack of a physical requirement to configure the network ports. The main DNS responding interface on the Data Domain appliance is the management interface that assigns the tasks/streams to the IFGroup interfaces as they come in. This is seamless to the hosts requiring the stream connections. Also, remember that you will need the proper FW ports opened to the IFGroup interfaces to ensure that the traffic can properly flow when the client is re-directed to use the IFGroup interfaces. As an example, without SunRPC 111 in the FW rule, I found that the recovery streams all stayed on the management interface until we allowed that port on the IFGroup interfaces for the recovery client. I hope this helps clarify this for you.

31 Posts

October 25th, 2016 08:00

Thank you all for the explanation.

In my case we have only 4 network cards. So let me see if I get this right.

vth0          10.100.4.200 (LACP with eth0a and eth5a)

eth0a

eth0b        10.100.4.201

eth5a

eth5b        10.100.4.202

Then create the ifgroup with 10.100.4.201 and 10.100.4.202 and nothing special on the configuration of those ports on the switch.

Now, we use BackupExec with the OST plugin loaded so my take is that we set the definition of the DataDomain Storage Device, but use 10.100.4.200 as the IP address of the device.

While the backup gets initialized it will be smart enough to flip and use either 10.100.4.201 or 10.100.4.202.

My only concern then will be any event in which it will use 10.100.4.200 which is also the management interface and will be difficult to connect to the DD for management.

I guess my final question will be then the configuration for the ifGroups. I have the following:

Interface Groups

default               yes    10.100.4.200

GROUP01         yes    10.100.4.202,10.100.4.203

Configured Clients
*                        default

10.100.4.0/24   GROUP01

the network segment is actually a /22 but I guess it does not let me use that or individual IP addresses so it whitelists the entire network.

Is this the proper way to do it?

Thanks all for your help!

1 Rookie

 • 

20.4K Posts

October 26th, 2016 07:00

Paul Aviles wrote:

Thank you all for the explanation.

In my case we have only 4 network cards. So let me see if I get this right.

vth0          10.100.4.200 (LACP with eth0a and eth5a)

eth0a

eth0b        10.100.4.201

eth5a

eth5b        10.100.4.202

Then create the ifgroup with 10.100.4.201 and 10.100.4.202 and nothing special on the configuration of those ports on the switch.

that looks good to me, and i believe you can add the IP address assigned to your veth0 to ifgroup as well (i am not sure how that would be balanced on the back-end)

Paul Aviles wrote:

Now, we use BackupExec with the OST plugin loaded so my take is that we set the definition of the DataDomain Storage Device, but use 10.100.4.200 as the IP address of the device.

While the backup gets initialized it will be smart enough to flip and use either 10.100.4.201 or 10.100.4.202.

My only concern then will be any event in which it will use 10.100.4.200 which is also the management interface and will be difficult to connect to the DD for management.

my veth0 interface is used by applications that do not support DDBoost and i have never had issues managing DD.

Paul Aviles wrote:

I guess my final question will be then the configuration for the ifGroups. I have the following:

Interface Groups

default               yes    10.100.4.200

GROUP01         yes    10.100.4.202,10.100.4.203

Configured Clients
*                        default

10.100.4.0/24   GROUP01

the network segment is actually a /22 but I guess it does not let me use that or individual IP addresses so it whitelists the entire network.

Is this the proper way to do it?

Thanks all for your help!

since you only have one subnet i would use just the default ifgroup with 10.100.4.202-203, i can't think of any reason why to create a dedicated group. and then just use default * for configured clients.  Non-Ddboost clients do not understand any of this stuff so this should be for irrelevant to them.

No Events found!

Top