Introduction
Group of Bonds, which is a logical group of existing Bond interfaces, provides additional link redundancy.
Example topology with Group of Bonds:
Chain of events without Group of Bonds:
problem
".This is not the desired behavior, because the Cluster Member GW-A connects not only to the switch SW-1, but also to the switch SW-2. In our example topology, there is no actual reason to fail-over from the Cluster Member GW-A to the Cluster Member GW-B.
In order to overcome this problem, Cluster Members use the Group of Bonds consisting of Bond-1 and Bond-2. The Group of Bonds fails only when both Bond interfaces fail on the Cluster Member. Only then the cluster fails over.
Chain of events with configured Group of Bonds:
problem
".To create a new Group of Bonds
Important - You must configure all Cluster Members in the same way.
[Expert@Member:0]# vsenv <
VSID>
$FWDIR/boot/modules/fwkern.conf
file:[Expert@Member:0]# cp -v $FWDIR/boot/modules/fwkern.conf{,_BKP}
[Expert@Member:0]# vi $FWDIR/boot/modules/fwkern.conf
fwha_group_of_bonds_str=<
Name for Group of Bonds>:<
List of all Bonds in this Group separated by comma>
Example:
fwha_group_of_bonds_str=GoB0:bond0,bond1;GoB1:bond2,bond3
fwha_arp_probe_method=1
This parameter configures the Cluster Member to use the Virtual IP address as the Source IP address in the ARP Requests during the probing of the local network.
fwha_group_of_bonds_str
to add the desired Group of Bonds on-the-fly:[Expert@Member:0]# fw ctl set str fwha_group_of_bonds_str '<
Name for Group of Bonds>:<
List of all Bonds in this Group separated by comma>'
Notes:
fwha_group_of_bonds_str
.Example:
fw ctl set str fwha_group_of_bonds_str 'GoB0:bond0,bond1;GoB1:bond2,bond3'
fwha_arp_probe_method
on-the-fly:[Expert@Member:0]# fw ctl set int fwha_arp_probe_method 1
[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
[Expert@Member:0]# fw ctl get int fwha_arp_probe_method
To add a Bond interface to the existing Group of Bonds
Important - You must configure all Cluster Members in the same way.
[Expert@Member:0]# vsenv <
VSID>
$FWDIR/boot/modules/fwkern.conf
file:[Expert@Member:0]# cp -v $FWDIR/boot/modules/fwkern.conf{,_BKP}
[Expert@Member:0]# vi $FWDIR/boot/modules/fwkern.conf
fwha_group_of_bonds_str
to add the desired Bond interface to the existing Group of Bonds.Example:
fwha_group_of_bonds_str=GoB0:bond0,bond1;GoB1:bond2,bond3,bond4
fwha_group_of_bonds_str
and copy it:[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
fwha_group_of_bonds_str
:[Expert@Member:0]# fw ctl set str fwha_group_of_bonds_str ''
fwha_group_of_bonds_str
:[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
fwha_group_of_bonds_str
to add the desired Bond interface to the existing Group of Bonds on-the-fly:[Expert@Member:0]# fw ctl set str fwha_group_of_bonds_str '<
Name for Group of Bonds>:<
List of all Bonds in this Group separated by comma>'
Notes:
fwha_group_of_bonds_str
.Example:
fw ctl set str fwha_group_of_bonds_str 'GoB0:bond0,bond1;GoB1:bond2,bond3,bond4'
[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
To remove a Bond interface from the existing Group of Bonds
Important - You must configure all Cluster Members in the same way.
[Expert@Member:0]# vsenv <
VSID>
$FWDIR/boot/modules/fwkern.conf
file:[Expert@Member:0]# cp -v $FWDIR/boot/modules/fwkern.conf{,_BKP}
[Expert@Member:0]# vi $FWDIR/boot/modules/fwkern.conf
fwha_group_of_bonds_str
to remove the desired Bond interface from the existing Group of Bonds.Example:
fwha_group_of_bonds_str=GoB0:bond0,bond1;GoB1:bond2,bond3
fwha_group_of_bonds_str
and copy it:[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
fwha_group_of_bonds_str
:[Expert@Member:0]# fw ctl set str fwha_group_of_bonds_str ''
fwha_group_of_bonds_str
:[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
fwha_group_of_bonds_str
to remove the desired Bond interface from the existing Group of Bonds on-the-fly:[Expert@Member:0]# fw ctl set str fwha_group_of_bonds_str '<
Name for Group of Bonds>:<
List of all Bonds in this Group separated by comma>'
Notes:
fwha_group_of_bonds_str
.Example:
fw ctl set str fwha_group_of_bonds_str 'GoB0:bond0,bond1;GoB1:bond2,bond3
[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
To delete a Group of Bonds
Important - You must configure all Cluster Members in the same way.
[Expert@Member:0]# vsenv <
VSID>
$FWDIR/boot/modules/fwkern.conf
file:[Expert@Member:0]# cp -v $FWDIR/boot/modules/fwkern.conf{,_BKP}
[Expert@Member:0]# vi $FWDIR/boot/modules/fwkern.conf
fwha_group_of_bonds_str=<
Name for Group of Bonds>:<
List of all Bonds in this Group separated by comma>
fwha_arp_probe_method=1
fwha_group_of_bonds_str
:[Expert@Member:0]# fw ctl set str fwha_group_of_bonds_str ''
fwha_group_of_bonds_str
:[Expert@Member:0]# fw ctl get str fwha_group_of_bonds_str
Monitoring
To see the configured Groups of Bonds, run the cphaprob show_bond_groups
command.
Logs
Cluster Members generate some applicable logs, which you can see in:
/var/log/messages
files and output of the dmesg
command.$FWDIR/log/fwk.elg
file in the context of the applicable Virtual System.To see the full logs, you need to enable the kernel debug:
fw
, debug flags error
and ioctl
cluster
, debug flag if
The full logs show:
Note - These logs are generated only once per event.
Limitations
<
Name for Group of Bonds>
is 16 characters.<
Name for Group of Bonds>:<
List of all Bonds in this Group separated by comma>
You cannot configure bonds that belong to different Virtual Systems into the same Group of Bonds.
You must perform all configuration in the context of the applicable Virtual System.
Sync
or Cluster+Sync
in SmartConsole in cluster object).cphaprob show_bond_groups
command on the peer Cluster Members also shows the same Bond interface as DOWN.This is because the peer Cluster Members stop receiving the CCP packets on that Bond interface and cannot probe the local network to determine that their Bond interface is really working.