Поиск по сайту:

Как создать объединение или объединение сетевых карт в CentOS 8/RHEL 8


Объединение сетевых адаптеров – это объединение или объединение двух или более сетевых каналов в один логический канал для обеспечения избыточности и высокой доступности. Логический интерфейс/связь известен как командный интерфейс. В случае выхода из строя активного физического канала автоматически активируется один из резервных или зарезервированных каналов, обеспечивая бесперебойное соединение с сервером.

Объединение терминов

Прежде чем мы засучим рукава, очень важно ознакомиться со следующей терминологией:

  • Teamd – это демон объединения nic, который использует библиотеку libteam для взаимодействия с устройствами группы через ядро Linux.
  • Teamdctl – это утилита, позволяющая пользователям управлять экземпляром teamd. Вы можете проверять и изменять статус порта, а также переключаться между резервным и активным состояниями.
  • Runner – это блоки кода, написанные в JSON и используемые для реализации различных концепций объединения сетевых карт. Примеры режимов выполнения включают циклический перебор, балансировку нагрузки, широковещательную рассылку и активное резервное копирование.

В этом руководстве мы настроим объединение сетевых карт с использованием режима активного резервного копирования. Здесь одно соединение остается активным, а остальные находятся в режиме ожидания и зарезервированы в качестве резервных каналов на случай, если активный канал выйдет из строя.

На этой странице

  • Установите объединенный демон в CentOS.
  • Настройка объединения сетевых карт в CentOS
  • Тестирование резервирования сетевых объединений
  • Удаление интерфейса сетевого объединения

Без лишних слов, начнем.

Шаг 1. Установите демон Teamd в CentOS.

Teamd — это демон, отвечающий за создание сетевой группы, которая будет выступать в качестве логического интерфейса во время выполнения. По умолчанию он устанавливается вместе с CentOS/RHEL 8. Но если по какой-либо причине он не установлен, выполните следующую команду dnf, чтобы установить его.

sudo dnf install teamd

После установки убедитесь, что teamd установлен, выполнив команду rpm:

rpm -qi teamd

Шаг 2. Настройка объединения сетевых карт в CentOS

Для настройки объединения сетевых карт мы воспользуемся удобным инструментом nmcli, который можно использовать для управления сервисом NetworkManager. В моей системе есть 2 сетевые карты, которые я собираюсь соединить или объединить для создания логического командного интерфейса: enp0s3 и enp0s8. В вашем случае это может быть по-другому.

Чтобы подтвердить активные сетевые интерфейсы, выполните:

nmcli device status

Вывод подтверждает наличие двух активных сетевых подключений. Чтобы собрать дополнительную информацию об интерфейсах, таких как UUID, выполните команду:

nmcli connection show

Чтобы создать ссылку или интерфейс объединения сетей, который будет нашей логической ссылкой, мы собираемся удалить существующие сетевые интерфейсы. После этого мы создадим подчиненные интерфейсы, используя удаленные интерфейсы, а затем свяжем их с объединенной ссылкой.

Используя соответствующие UUID, выполните приведенные ниже команды, чтобы удалить ссылки:

nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

На этот раз, проверив интерфейсы, вы заметите, что они отключены и не обеспечивают соединения с сервером. По сути, ваш сервер будет изолирован от остальной сети.

nmcli device status

Далее мы собираемся создать командный интерфейс под названием team0 в режиме активного резервного копирования. Как указывалось ранее, в режиме активного резервного копирования используется один активный интерфейс и резервируются остальные для резервирования на случай, если активный канал выйдет из строя.

nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

Чтобы просмотреть атрибуты, назначенные интерфейсу team0, выполните команду:

nmcli connection show team0

Идеальный! На данный момент у нас есть только один интерфейс — интерфейс team0, как показано на рисунке.

nmcli connection show

Затем настройте IP-адрес для интерфейса team0, как показано, с помощью команды nmcli. Обязательно назначьте IP-адреса в соответствии с подсетью и схемой IP-адресации вашей сети.

nmcli con mod team0 ipv4.addresses 192.168.2.100/24
nmcli con mod team0 ipv4.gateway 192.168.2.1
nmcli con mod team0 ipv4.dns 8.8.8.8
nmcli con mod team0 ipv4.method manual
nmcli con mod team0 connection.autoconnect yes

После этого создайте подчиненные ссылки и свяжите подчиненные устройства с командной ссылкой:

nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

Проверьте состояние ссылок еще раз, и вы заметите, что подчиненные ссылки теперь активны.

nmcli connection show

Далее деактивируйте и активируйте ссылку на команду. Это активирует соединение между подчиненными каналами и командным каналом.

nmcli connection down team0 && nmcli connection up team0

Затем проверьте состояние соединения Team Link, как показано.

ip addr show dev team0

Мы видим, что соединение установлено с правильным IP-адресом, который мы настроили ранее.

Чтобы получить дополнительную информацию о командной ссылке, выполните команду:

sudo teamdctl team0 state

Из выходных данных мы видим, что обе ссылки (enp0s3 и enp0s8) работают и что активной ссылкой является enp0s8.

Шаг 3. Тестирование резервирования сетевых объединений

Чтобы протестировать наш режим совместной работы с активным резервным копированием, мы отключим текущую активную ссылку — enp0s3 — и проверим, сработает ли другая ссылка.

nmcli device disconnect enp0s3
sudo teamdctl team0 state

Когда вы проверите состояние интерфейса совместной работы, вы обнаружите, что ссылка enp0s8 активирована и обслуживает соединения с сервером. Это подтверждает, что наша установка работает!

Шаг 4. Удаление интерфейса сетевого объединения

Если вы хотите удалить интерфейс/ссылку объединения и вернуться к настройкам сети по умолчанию, сначала отключите ссылку объединения:

nmcli connection down team0

Затем удалите подчиненные устройства.

nmcli connection delete team0-slave0 team0-slave1

Наконец, удалите интерфейс объединения.

nmcli connection delete team0

На данный момент все интерфейсы отключены, и ваш сервер недоступен. Чтобы активировать сетевые интерфейсы и восстановить подключение, выполните команды:

sudo ifconfig enp0s3 up
sudo ifconfig enp0s8 up
sudo systemctl restart NetworkManager
Заключение

Объединение сетевых карт предлагает отличное решение для резервирования сети. При наличии двух или более сетевых интерфейсов вы можете настроить интерфейс объединения в любом режиме выполнения, чтобы обеспечить высокую доступность в случае случайного выхода из строя одного канала. Мы очень надеемся, что это руководство оказалось для вас полезным. Свяжитесь с нами и дайте нам знать, каковы ваши впечатления.