首页 > 代码库 > Create a Team in RHEL7

Create a Team in RHEL7

SOLUTION VERIFIED

  • September 13 2016 KB2620131

Environment

  • Red Hat Enterprise Linux 7
  • NetworkManager
  • teamd

Issue

  • Would like to configure a basic Team in RHEL 7.
  • Need to know how to make team0 with RHEL.

Resolution

  For steps to use Teaming with VLANs, please see How to configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7.

  • Create the team interface connection profile with nmcli. The following command will create a connection profile named myteam which will provide a team device named team0. The team mode will be activebackup and ethtool link monitoring will be used:

    ### With static IP addressing:
    # nmcli connection add type team con-name myteam ifname team0 config ‘{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}‘ ip4 192.168.0.100/24 gw4 192.168.0.1
    
    ### With DHCP addressing:
    # nmcli connection add type team con-name myteam ifname team0 config ‘{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}‘
  • Create a profile for each team port (slave). The master parameter must refer to the team device name, not the team profile name. In the example below the interfaces ens10 and ens15 are added to team0:

    # nmcli connection add type team-slave con-name myteam-port1 ifname ens10 master team0
    # nmcli connection add type team-slave con-name myteam-port2 ifname ens15 master team0
  • Confirm the team is working as expected with the teamdctl program. At a minimum, ensure the correct runner is in use or connectivity may not work:

    # teamdctl team0 state
    setup:
      runner: activebackup
    ports:
      ens10
        link watches:
          link summary: up
          instance[link_watch_0]:
            name: ethtool
            link: up
            down count: 0
      ens15
        link watches:
          link summary: up
          instance[link_watch_0]:
            name: ethtool
            link: up
            down count: 0
    runner:
      active port: ens10
  • Other connection properties such as DNS servers, search domains, and static routes can be set after the profile has been created. Use the nmcli connection show command to see all the available properties for a connection profile. Use the nmcli connection modify command to set any given property. All properties and their possible values are described in the nm-settings man page.

    # nmcli connection show <profile name>
    
    # nmcli connection modify <profile name> <property> <value>

Root Cause

  • Please see the RHEL 7 Networking Guide chapter on Teaming and the teamd.conf man page for more information on configuring Teaming and the different modes and configuration options which are available:
    • Networking Guide: Configure Network Teaming

Diagnostic Steps

  • It is best to remove or disable any existing connection profiles which correspond to the interfaces to be used in the team. This ensures the right connection profile is always used:

    • The following command will list all the existing connection profiles (connection.id) and the interface (connection.interface-name, if set) they are associated with. If there are any matches for the interfaces to be used, delete the matching profile (or set the profile‘s connection.autoconnect property to no and note the profile name so it is not accidentally reused):
    # for connection in $(nmcli -t --fields uuid con) ; do echo ; nmcli con show uuid $connection | egrep "connection.id|connection.interface-name" ; done
    • If an existing profile needs to be removed, do so with the following command where $PROFILE is the connection.id seen in the output from the command above:
    # nmcli connection del "$PROFILE"

 

Create a Team in RHEL7