link CentOS 7 Basic NIC Teaming← Back

I wanted to enable basic roundrobin NIC teaming on my HP MicroServer Gen8. This configuration allows load balancing and fault tolerance. When transferring data to the server it will only be received via 1 NIC meaning a 1Gbps limit per connection, but 2 connections can transfer at 1Gbps each. When receiving data it will load balance over both NICs meaning you can achieve up to 2Gbps on a single connection. A future article will describe how to enable 802.3ad LACP aggregation which will provide 2Gbps data transfers both ways. This post will also work on RHEL 7.

NB: While making these changes you will need to be logged into the server from either the console or ILO as the network connection WILL go down.

  1. Disable NetworkManager
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    yum erase NetworkManager*
  2. Take note of the names of your NICs and their MAC addresses
    ip link
    In my case they are called eno1 and eno2 so you will need to substitute your own values accordingly in the following steps.
  3. Edit /etc/sysconfig/network-scripts/ifcfg-eno1
    DEVICE=eno1
    DEVICETYPE=TeamPort
    NM_CONTROLLED=no
    BOOTPROTO=none
    NAME=eno1
    ONBOOT=no
    TEAM_MASTER=team0
  4. Edit /etc/sysconfig/network-scripts/ifcfg-eno2
    DEVICE=eno2
    DEVICETYPE=TeamPort
    NM_CONTROLLED=no
    BOOTPROTO=none
    NAME=eno2
    ONBOOT=no
    TEAM_MASTER=team0
  5. Edit /etc/sysconfig/network-scripts/ifcfg-team0
    DEVICE=team0
    NAME=team0
    DEVICETYPE=Team
    IPADDR=10.1.1.5
    NETMASK=255.255.255.0
    GATEWAY=10.1.1.254
    DNS1=10.1.1.1
    DNS2=10.1.1.2
    IPV6INIT=yes
    ONBOOT=yes
    USERCTL=no
    BOOTPROTO=static
    TEAM_CONFIG='{"runner":{"name":"roundrobin"}}'
  6. Restart the network service
    systemctl restart network
  7. Check that the team0 interface is up
    ip addr
    1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: eno1:  mtu 1500 qdisc mq master team0 state UP qlen 1000
        link/ether a0:1d:48:c7:12:64 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::a21d:48ff:fec7:1264/64 scope link
           valid_lft forever preferred_lft forever
    3: eno2:  mtu 1500 qdisc mq master team0 state UP qlen 1000
        link/ether a0:1d:48:c7:12:64 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::a21d:48ff:fec7:1264/64 scope link
           valid_lft forever preferred_lft forever
    4: team0:  mtu 1500 qdisc noqueue state UP
        link/ether a0:1d:48:c7:12:64 brd ff:ff:ff:ff:ff:ff
        inet 10.1.1.5/24 brd 10.1.1.255 scope global team0
           valid_lft forever preferred_lft forever
        inet6 fe80::a21d:48ff:fec7:1264/64 scope link
           valid_lft forever preferred_lft forever

Comments

Gravatar

Ping

2015-10-13

Hi,

We have bonding options
BONDING_OPTS="primary=eth1 mode=active-backup primary_reselect=2"

whats the equivalent for primary_reselect in active/backup config teaming with json or nmcli

Post a comment