Configuring Port Bonding
Port bonding is a well-established method for improving the performance and resiliency of a physical data connection. Port bonding combines two or more ports into a single logical interface whose potential bandwidth is the sum of the bandwidths of the individual ports. Additionally, if one of the ports in the group should fail, the interface remains operational (but with reduced maximum performance).
Beginning with Release 4.1.3, VDS-VR supports port bonding for the Management and Locate ports of a VDS-VR Recorder. This section provides procedures for configuring such support.
Configuring Management Port Bonding
To configure Management port bonding on a VDS-VR Recorder, do the following:
Step 1
Edit /home/isa/.arroyorc and replace “eth0” with “bond0”:
Step 2
Edit /arroyo/test/recorder/setupfile and replace “eth0” with “bond0”:
# vi /arroyo/test/recorder/setupfile
ftpout if bond0 max utilization mbps 0 max sessions 0
Step 3
Create a new file /etc/sysconfig/network-scripts/ifcfg-bond0 and configure the IP address and net mask for the management port:
# vi /etc/sysconfig/network-scripts/ifcfg-bond0
BONDING_OPTS="miimon=100 mode=1”
Step 4
Edit /etc/sysconfig/network-scripts/ifcfg-eth0 and replace actual IP address with “bond0”:
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
Step 5
If /etc/sysconfig/network-scripts/ifcfg-eth1 doesn’t exit, create it with the following lines. If it already exists, just edit it and replace “IPADDR=<ip address>” with “MASTER=bond0”:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
Step 6
Edit /etc/sysconfig/network and replace “eth0” with “bond0”:
# vi /etc/sysconfig/network
Step 7
Reboot the Recorder:
Step 8
Connect eth1 to the same VLAN with eth0 on the Switch.
Step 9
After the Recorder boots up, ping the gateway IP on the recorder the server:
PING 10.74.17.1 (10.74.17.1) 56(84) bytes of data.
64 bytes from 10.74.17.1: icmp_seq=1 ttl=255 time=2.69 ms
64 bytes from 10.74.17.1: icmp_seq=2 ttl=255 time=0.322 ms
64 bytes from 10.74.17.1: icmp_seq=3 ttl=255 time=0.353 ms
--- 10.74.17.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.322/1.121/2.690/1.109 ms
Step 10
Test the management port bonding as follows:
a.
Shut down eth0 and make sure SSH connection remains:
b.
Shut down eth1 and make sure SSH connection remains:
c.
Shut down eth0 & eth1 and make sure SSH connection remains:
Configuring Locate Port Bonding
With VDS-VR, there are two possible options for configuring Locate port bonding:
- All ports are 10 GbE Locate ports assigned to separate VLAN subnets.
- All ports are 10 GbE Locate ports sharing a single VLAN subnet.
Configuration procedures for each option are provided below.
Separate VLAN Subnet Configuration
To configure Locate port bonding with each port on its own VLAN subnet, do the following:
Step 1
Edit the Linux configuration as follows:
[root@460recorder92 ~]# ifconfig eth4
eth4 Link encap:Ethernet HWaddr 90:E2:BA:1E:3D:EC
inet addr:192.169.210.69 Bcast:192.169.210.71 Mask:255.255.255.252
inet6 addr: fe80::92e2:baff:fe1e:3dec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:8174 Metric:1
RX packets:2860 errors:0 dropped:0 overruns:0 frame:0
TX packets:7711240 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:195086 (190.5 KiB) TX bytes:1233535614 (1.1 GiB)
[root@460recorder92 ~]# ifconfig eth4.2102
eth4.2102 Link encap:Ethernet HWaddr 90:E2:BA:1E:3D:EC
inet6 addr: fe80::92e2:baff:fe1e:3dec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:8174 Metric:1
RX packets:131 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:1 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6026 (5.8 KiB) TX bytes:378 (378.0 b)
[root@460recorder92 ~]# ifconfig eth6
eth6 Link encap:Ethernet HWaddr 90:E2:BA:1E:43:EC
inet addr:192.169.210.73 Bcast:192.169.210.75 Mask:255.255.255.252
inet6 addr: fe80::92e2:baff:fe1e:43ec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:8174 Metric:1
RX packets:1326 errors:0 dropped:0 overruns:0 frame:0
TX packets:41516 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:91149 (89.0 KiB) TX bytes:9035635 (8.6 MiB)
[root@460recorder92 ~]# ifconfig eth6.2101
eth6.2101 Link encap:Ethernet HWaddr 90:E2:BA:1E:43:EC
inet6 addr: fe80::92e2:baff:fe1e:43ec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:8174 Metric:1
RX packets:133 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:1 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6118 (5.9 KiB) TX bytes:378 (378.0 b)
[root@460recorder92 ~]# ls -l /proc/net/vlan/*
-rw------- 1 root root 0 Jul 2 14:58 /proc/net/vlan/config
-rw------- 1 root root 0 Jul 2 14:58 /proc/net/vlan/eth4.2102
-rw------- 1 root root 0 Jul 2 14:58 /proc/net/vlan/eth4.2103
-rw------- 1 root root 0 Jul 2 14:58 /proc/net/vlan/eth6.2101
-rw------- 1 root root 0 Jul 2 14:58 /proc/net/vlan/eth6.2103
Step 2
Edit the setup file and subnet table:
Note
Beginning with Release 4.1.3, there is no longer a dedicated Locate port in the setup file.
[root@460recorder92 ~]# grep locate /arroyo/test/setupfile
service http locate port address 192.169.210.77
[root@460recorder92 ~]# grep ingest /arroyo/test/setupfile
[root@460recorder92 ~]# grep ixgbe /arroyo/test/setupfile
ixgbe adapters maxrate 9850
ixgbe 0: streaming 1 fill 1 ip 192.169.210.69 tport 0 cport 0 tgid 0
ixgbe 2: streaming 1 fill 1 ip 192.169.210.73 tport 0 cport 0 tgid 0
[root@460recorder92 ~]# cat /arroyo/test/SubnetTable
network 192.169.210.68 netmask 255.255.255.252 gateway 192.169.210.70 transport_source_ip 0 vlanid 2102 <<<--- eth4 vlan 2102
network 192.169.210.72 netmask 255.255.255.252 gateway 192.169.210.74 transport_source_ip 0 vlanid 2101 <<<--- eth6 vlan 2101
network 192.169.210.76 netmask 255.255.255.252 gateway 192.169.210.78 transport_source_ip 0 vlanid 2103 <<<--- shared vlan 2103 for Locate
The cserver Locate port is now ready.
Note
When all cserver interfaces that host these services are down, the locate service is brought down. For this reason, it may take some time for the cserver to communicate with the router after restarting to confirm that the hosting interfaces are back up and that the L3 remote server connection is restored.
Step 3
Confirm the following /var/log/messages:
2015 Jul 2 12:46:45 460recorder92 [ 379.094260] The new timing adapter is eth4
2015 Jul 2 12:47:45 460recorder92 [ 439.064774] Link state reestablished on a fill adapter
2015 Jul 2 12:47:45 460recorder92 [ 439.070195] Start delay to reacquiring service address 172.22.99.92
2015 Jul 2 12:47:45 460recorder92 [ 439.076744] ** Monitor heartbeat packet transmit delay of 98310ms **
2015 Jul 2 12:47:45 460recorder92 [ 439.083424] Available HTTP Locate Port on service address 192.169.210.77
2015 Jul 2 12:47:50 460recorder92 [ 444.062845] Reacquired service address 172.22.99.92
2015 Jul 2 12:48:16 460recorder92 [ 469.998161] Service address assignment continuing
2015 Jul 2 12:48:33 460recorder92 [ 486.371199] Primary HTTP Locate Port on service address 192.169.210.77
2015 Jul 2 12:48:33 460recorder92 [ 486.379293] Started primary service for HTTP Locate Port address 192.169.210.77 on dedicated adapter 0 <<<--- finally hosted on 1st cserver IF (10GE)
At this point, the cserver will support locate resiliency on the available cserver interfaces.
Step 4
Physically disconnect and then reconnect the port cable to shut down and restart the cserver interfaces.
Shared VLAN Subnet Configuration
To configure Locate port bonding with each port sharing the same VLAN subnet, do the following:
Step 1
Configure the Linux setup file as follows:
[root@460recorder92 ~]# ifconfig eth4
eth4 Link encap:Ethernet HWaddr 90:E2:BA:1E:3D:EC
inet addr:192.169.210.69 Bcast:192.169.210.71 Mask:255.255.255.252
inet6 addr: fe80::92e2:baff:fe1e:3dec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:8174 Metric:1
RX packets:2860 errors:0 dropped:0 overruns:0 frame:0
TX packets:7711240 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:195086 (190.5 KiB) TX bytes:1233535614 (1.1 GiB)
[root@460recorder92 ~]# ifconfig eth6
eth6 Link encap:Ethernet HWaddr 90:E2:BA:1E:43:EC
inet addr:192.169.210.73 Bcast:192.169.210.75 Mask:255.255.255.252
inet6 addr: fe80::92e2:baff:fe1e:43ec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:8174 Metric:1
RX packets:1326 errors:0 dropped:0 overruns:0 frame:0
TX packets:41516 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:91149 (89.0 KiB) TX bytes:9035635 (8.6 MiB)
[root@460recorder92 ~]# ls -l /proc/net/vlan/*
-rw------- 1 root root 0 Jul 2 14:58 /proc/net/vlan/config
[root@460recorder92 ~]# route
Destination Gateway Genmask Flags Metric Ref Use Iface
192.169.210.72 * 255.255.255.252 U 0 0 0 eth6
192.169.210.68 * 255.255.255.252 U 0 0 0 eth4
192.169.203.0 * 255.255.255.0 U 0 0 0 eth5
192.169.203.0 * 255.255.255.0 U 0 0 0 eth7
172.22.98.0 * 255.255.254.0 U 0 0 0 eth0
default 172.22.98.1 0.0.0.0 UG 0 0 0 eth0
Step 2
Edit the setup file and subnet table:
[root@460recorder92 ~]# grep locate /arroyo/test/setupfile
#service http locate port address 192.169.210.77
service http locate port address 192.169.210.83
[root@460recorder92 ~]# grep ingest /arroyo/test/setupfile
[root@460recorder92 ~]# grep ixgbe /arroyo/test/setupfile
ixgbe adapters maxrate 9850
#ixgbe 0: streaming 1 fill 1 ip 192.169.210.69 tport 0 cport 0 tgid 0
#ixgbe 2: streaming 1 fill 1 ip 192.169.210.73 tport 0 cport 0 tgid 0
ixgbe 0: streaming 1 fill 1 ip 192.169.210.81 tport 0 cport 0 tgid 0
ixgbe 2: streaming 1 fill 1 ip 192.169.210.82 tport 0 cport 0 tgid 0
[root@460recorder92 ~]# cat /arroyo/test/SubnetTable
#network 192.169.210.68 netmask 255.255.255.252 gateway 192.169.210.70 transport_source_ip 0 vlanid 2102
#network 192.169.210.72 netmask 255.255.255.252 gateway 192.169.210.74 transport_source_ip 0 vlanid 2101
#network 192.169.210.76 netmask 255.255.255.252 gateway 192.169.210.78 transport_source_ip 0 vlanid 2103
network 192.169.210.80 netmask 255.255.255.240 gateway 192.169.210.94 <<<--- no VLAN (at least on recorder side)
=== 7600 (telnet 172.22.98.229) router config ===
CDS-7600-229#show run inter vlan 2104
Building configuration...
Current configuration : 114 bytes
ip address 192.169.210.94 255.255.255.240
CDS-7600-229#show run inter te6/1
Building configuration...
Current configuration : 188 bytes
interface TenGigabitEthernet6/1
switchport access vlan 2104
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 2101,2103,2104 <<<--- support old vlan
CDS-7600-229#show run inter te6/2
Building configuration...
Current configuration : 183 bytes
interface TenGigabitEthernet6/2
switchport access vlan 2104
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 2102-2104 <<<--- support old vlan