Как создать объединение или объединение сетевых карт в 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
Заключение
Объединение сетевых карт предлагает отличное решение для резервирования сети. При наличии двух или более сетевых интерфейсов вы можете настроить интерфейс объединения в любом режиме выполнения, чтобы обеспечить высокую доступность в случае случайного выхода из строя одного канала. Мы очень надеемся, что это руководство оказалось для вас полезным. Свяжитесь с нами и дайте нам знать, каковы ваши впечатления.