Объединение сетевых интерфейсов в CentOS с помощью teamd

Обновлено и опубликовано Опубликовано:

В двух словах, teamd — еще один способ агрегирования сетевых интерфейсов (подобно bond). Мы рассмотрим его настройку для системы Linux CentOS (Red Hat).

Установка teamd

В системе должен быть установлен пакет teamd. Он находится в репозиториях популярных систем и в CentOS устанавливается командой:

yum install teamd

Объединение сетевых интерфейсов

Чтобы настройки были постоянными (объединение сети также работало после перезагрузки компьютера), мы настроим сеть через ifcfg-файлы.

Создаем конфигурационный файл для team:

vi /etc/sysconfig/network-scripts/ifcfg-team0

ONBOOT=yes
DEVICE=team0
BOOTPROTO=static
DEVICETYPE=Team
NM_CONTROLLED=no
IPADDR=192.168.1.15
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=77.88.8.8
DNS2=8.8.4.4
DOMAIN=dmosk.local
TEAM_CONFIG='{"runner": {"name": "loadbalance"}, "link_watch": {"name": "ethtool"}}'

* где TEAM_CONFIG — настройка объединения для интерфейса в формате json; подробнее, о настройке сети в CentOS читайте в статье Настройка сети в CentOS.

В примере выше мы используем runner loadbalance — балансировку трафика. Вот возможные варианты и их описание:

Runner Описание
lacp Объединение сетевых интерфейсов с помощью протокола LACP (802.3ad).
broadcast Весь трафик идет через все порты.
roundrobin Трафик идет через все интерфейсы поочередно в случайном порядке.
loadbalance Равномерное распределение трафика между всеми интерфейсами.
activebackup Используется только один интерфейс. Остальные подключаются, при недоступности основного в соответствии с выставленными приоритетами.

Также настроим физические интерфейсы (в данном примере ens32 и ens34):

vi /etc/sysconfig/network-scripts/ifcfg-ens32

ONBOOT=yes
DEVICE=ens32
DEVICETYPE=TeamPort
NM_CONTROLLED=no
TEAM_MASTER=team0

... и ens34:

vi /etc/sysconfig/network-scripts/ifcfg-ens34

ONBOOT=yes
DEVICE=ens34
DEVICETYPE=TeamPort
NM_CONTROLLED=no
TEAM_MASTER=team0

Перезапускаем сетевую службу:

Если один из сетевых адаптеров уже используется, то перезапуск сети может привести к потере удаленного доступа. В таком случае, необходимо перезапустить компьютер командой
shutdown -r now.

systemctl restart network

Проверяем состояние team:

teamdctl team0 state

... в моем случае это было:

setup:
  runner: loadbalance
ports:
  ens32
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens34
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0

* как видим, используется runner loadbalance; объединены интерфейсы ens32 и ens34, которые находятся в состоянии up.

Командой:

ip a

... мы можем посмотреть состояние интерфейсов и назначенные IP-адреса.

# CentOS # Железо # Сети
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет