Marco ( @mgua )
PS: the Video is not shown in some places. Check this one instead.
http://www.youtube.com/watch?v=wOlTdkYXuzE
.
swimming in the stream of global consciousness
(Last updated on aug 30 2011)
Configuration of Red Hat Enterprise Linux Server 6.1 (Hardware: HP DL380G7, 2 CPU Intel core) connected with two 10Gbit/sec ethernet interfaces (HP NC522SFP Dual Port 10GbE Server Adapter Board), with interface bonding, high availability, bandwidth aggregation and multiple VLAN transport.
Two 10Gbit/s physical network interfaces have to be connected to two FEX (Nexus Fabric EXtension "switches") upstreaming to two different Nexus 7000 cores, in a high availability configuration, allowing also to use both links simultaneously, and to transport different VLANs.
The different VLANs have then to be mapped on different linux logical subinterfaces.
The two physical interface are joined to form a bond, called bond0.
A specific channel configuration exists on the cisco nexus switches, so to allow these ports to form a single trunk channel, and to transport on it tagged frames from the selected VLANs, complying to the 802.1q transport.
Here are the settings on the Cisco Nexus Side (only one "side" is shown, the other is symmetric):
Core to FEX2232
interface port-channel131
switchport
switchport mode fex-fabric
fex associate 131
mtu 9216
FEX to server
interface Ethernet131/1/5
description srv
switchport
switchport mode trunk
switchport trunk allowed vlan 10-13
flowcontrol send off
channel-group 88 mode active
no shutdown
-------
[root@srv network-scripts]# cat ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
HWADDR=78:e3:b5:f4:e0:50
TYPE=Ethernet
IPV6INIT=no
[root@srv network-scripts]# cat ifcfg-eth2
DEVICE=eth2
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
HWADDR=78:E3:B5:F4:76:E0
TYPE=Ethernet
IPV6INIT=no
[root@srv network-scripts]# cat ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
BONDING_OPTS="mode=4 miimon=100"
IPV6INIT=no
USERCTL=no
MTU=9000
[root@srv network-scripts]# cat ifcfg-bond0.10
IPADDR=192.168.145.248
NETMASK=255.255.254.0
DEVICE=bond0.10
ONBOOT=yes
VLAN=yes
TYPE=Ethernet
HWADDR=78:e3:b5:f4:e0:50
BOOTPROTO=none
GATEWAY=192.168.144.1
IPV6INIT=no
USERCTL=no
MTU=1500
[root@srv network-scripts]# cat ifcfg-bond0.11
IPADDR=192.168.148.85
NETMASK=255.255.255.0
DEVICE=bond0.11
ONBOOT=yes
VLAN=yes
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
MTU=9000
[root@srv network-scripts]# ifconfig eth0 && ifconfig eth2 && ifconfig bond0 && ifconfig bond0.10 && ifconfig bond0.11
eth0 Link encap:Ethernet HWaddr 78:E3:B5:F4:E0:50
UP BROADCAST RUNNING SLAVE MULTICAST MTU:9000 Metric:1
RX packets:30750 errors:0 dropped:0 overruns:0 frame:0
TX packets:12992 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3590043 (3.4 MiB) TX bytes:3577302 (3.4 MiB)
Interrupt:53
eth2 Link encap:Ethernet HWaddr 78:E3:B5:F4:E0:50
UP BROADCAST RUNNING SLAVE MULTICAST MTU:9000 Metric:1
RX packets:36472 errors:0 dropped:0 overruns:0 frame:0
TX packets:7248 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:27483898 (26.2 MiB) TX bytes:906669 (885.4 KiB)
Interrupt:61
bond0 Link encap:Ethernet HWaddr 78:E3:B5:F4:E0:50
inet6 addr: fe80::7ae3:b5ff:fef4:e050/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:9000 Metric:1
RX packets:67224 errors:0 dropped:0 overruns:0 frame:0
TX packets:20242 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:31074081 (29.6 MiB) TX bytes:4484967 (4.2 MiB)
bond0.10 Link encap:Ethernet HWaddr 78:E3:B5:F4:E0:50
inet addr:192.168.145.248 Bcast:192.168.145.255 Mask:255.255.254.0
inet6 addr: fe80::7ae3:b5ff:fef4:e050/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:51880 errors:0 dropped:0 overruns:0 frame:0
TX packets:13135 errors:0 dropped:10 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8963296 (8.5 MiB) TX bytes:3972360 (3.7 MiB)
bond0.11 Link encap:Ethernet HWaddr 78:E3:B5:F4:E0:50
inet addr:192.168.148.85 Bcast:192.168.148.255 Mask:255.255.255.0
inet6 addr: fe80::7ae3:b5ff:fef4:e050/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:9000 Metric:1
RX packets:14599 errors:0 dropped:0 overruns:0 frame:0
TX packets:6891 errors:0 dropped:7 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:20770093 (19.8 MiB) TX bytes:486535 (475.1 KiB)
[root@srv network-scripts]# ethtool eth0
Settings for eth0:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseT/Full
Supports auto-negotiation: No
Advertised link modes: 10000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 10000Mb/s
Duplex: Full
Port: FIBRE
PHYAD: 0
Transceiver: external
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x00000005 (5)
Link detected: yes
[root@srv network-scripts]# ethtool eth2
Settings for eth2:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseT/Full
Supports auto-negotiation: No
Advertised link modes: 10000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 10000Mb/s
Duplex: Full
Port: FIBRE
PHYAD: 0
Transceiver: external
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x00000005 (5)
Link detected: yes
-------
[root@srv network-scripts]# nuttcp -t -v -T 60 192.168.148.85 nuttcp-t: v6.1.2: socket nuttcp-t: buflen=65536, nstream=1, port=5001 tcp -> 192.168.148.85 nuttcp-t: time limit = 60.00 seconds nuttcp-t: connect to 192.168.148.85 with mss=8948, RTT=0.277 ms nuttcp-t: send window size = 28440, receive window size = 87380 nuttcp-t: available send window = 21330, available receive window = 65535 nuttcp-t: 70086.0000 MB in 60.00 real seconds = 1196131.87 KB/sec = 9798.7123 Mbps nuttcp-t: retrans = 0 nuttcp-t: 1121376 I/O calls, msec/call = 0.05, calls/sec = 18689.56 nuttcp-t: 0.2user 29.7sys 1:00real 49% 0i+0d 468maxrss 0+2pf 25844+75csw nuttcp-r: v6.1.2: socket nuttcp-r: buflen=65536, nstream=1, port=5001 tcp nuttcp-r: accept from 192.168.148.86 nuttcp-r: send window size = 28440, receive window size = 87380 nuttcp-r: available send window = 21330, available receive window = 65535 nuttcp-r: 70086.0000 MB in 60.00 real seconds = 1196065.83 KB/sec = 9798.1712 Mbps nuttcp-r: 2319818 I/O calls, msec/call = 0.03, calls/sec = 38661.42 nuttcp-r: 0.4user 33.9sys 1:00real 57% 0i+0d 330maxrss 0+17pf 1103994+76csw [root@srv network-scripts]#
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 15100956 44948 525388 0 0 0 0 280 152 0 0 100 0 0 0 0 0 15100956 44948 525388 0 0 0 0 159 73 0 0 100 0 0 1 0 0 15096676 44948 525388 0 0 0 0 44407 536 0 2 98 0 0 1 0 0 15097296 44956 525384 0 0 0 44 51087 455 0 6 94 0 0 1 0 0 15097792 44956 525388 0 0 0 0 51025 556 0 2 98 0 0 1 0 0 15098056 44956 525388 0 0 0 0 50067 656 0 7 93 0 0 1 0 0 15098304 44956 525388 0 0 0 0 49978 774 0 2 98 0 0 1 0 0 15098676 44956 525388 0 0 0 0 50264 769 0 6 94 0 0 1 0 0 15098676 44956 525388 0 0 0 1076 50428 843 0 2 98 0 0 1 0 0 15098676 44956 525388 0 0 0 0 50832 1202 0 5 95 0 0 0 0 0 15099296 44956 525388 0 0 0 0 51193 1350 0 2 98 0 0 1 0 0 15099544 44956 525388 0 0 0 0 51228 1198 0 7 93 0 0 0 0 0 15102948 44956 525388 0 0 0 0 6756 681 0 0 100 0 0 0 0 0 15103072 44964 525380 0 0 0 360 684 462 0 0 100 0 0 0 0 0 15103400 44964 525388 0 0 0 0 234 147 0 0 100 0 0