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

Как настроить сетевое соединение или объединение в RHEL/CentOS 7 — часть 11


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

Узнайте больше о том, как увеличить или ограничить пропускную способность в Linux.

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

Подробнее о сетевых связях в системах Linux читайте здесь:

  1. Сетевое объединение или NiC Bondin в RHEL/CentOS 6/5
  2. Объединение или объединение сетевых сетевых карт в системах на базе Debian
  3. Как настроить сетевое соединение или объединение в Ubuntu

Включение и настройка сетевого соединения или объединения

По умолчанию модуль ядра связывания не включен. Таким образом, нам нужно будет загрузить его и обеспечить его постоянство при загрузке. При использовании с опцией --first-time modprobe предупредит нас, если загрузка модуля не удалась:

modprobe --first-time bonding

Приведенная выше команда загрузит модуль связывания для текущего сеанса. Чтобы обеспечить постоянство, создайте файл .conf внутри /etc/modules-load.d с описательным именем, например /etc/modules-load. .d/bonding.conf:

echo "# Load the bonding kernel module at boot" > /etc/modules-load.d/bonding.conf
echo "bonding" >> /etc/modules-load.d/bonding.conf

Теперь перезагрузите сервер и после его перезапуска убедитесь, что модуль связывания загружается автоматически, как показано на рис. 1:

В этой статье мы будем использовать 3 интерфейса (enp0s3, enp0s8 и enp0s9) для создания связи, удобно названной bond0.

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

Выберите Редактировать соединение –> Добавить –> Связь, как показано на Рис. 2:

На экране Изменить соединение добавьте подчиненные интерфейсы (в нашем случае enp0s3, enp0s8 и enp0s9) и дайте им описательное (профильное) имя (например, NIC #1, NIC #2 и NIC #3 соответственно).

Кроме того, вам потребуется задать имя и устройство для бонда (TecmintBond и bond0 на рис. 3 соответственно) и IP-адрес для bond0 введите адрес шлюза и IP-адреса DNS-серверов.

Обратите внимание, что вам не нужно вводить MAC-адрес каждого интерфейса, поскольку nmtui сделает это за вас. Все остальные настройки вы можете оставить по умолчанию. Более подробную информацию см. на рис. 3.

Когда закончите, перейдите в нижнюю часть экрана и выберите ОК (см. рис. 4):

И вы сделали. Теперь вы можете выйти из текстового интерфейса и вернуться в командную строку, где включите вновь созданный интерфейс с помощью команды ip:

ip link set dev bond0 up

После этого вы можете видеть, что bond0 находится в состоянии UP и ему присвоен 192.168.0.200, как показано на рис. 5:

ip addr show bond0

Тестирование сетевого соединения или объединения в Linux

Чтобы убедиться, что bond0 действительно работает, вы можете либо проверить его IP-адрес с другой машины, либо, что еще лучше, просмотреть таблицу интерфейсов ядра в реальном времени (ну, время обновления в секундах задается параметром опция -n), чтобы увидеть, как сетевой трафик распределяется между тремя сетевыми интерфейсами, как показано на рис. 6.

Опция -d используется для выделения изменений, когда они происходят:

watch -d -n1 netstat -i

Важно отметить, что существует несколько режимов склеивания, каждый из которых имеет свои отличительные характеристики. Они описаны в разделе 4.5 руководства по сетевому администрированию Red Hat Enterprise Linux 7. В зависимости от ваших потребностей вы выберете тот или иной вариант.

В нашей текущей настройке мы выбрали режим Round-robin (см. рис. 3), который обеспечивает передачу пакетов, начиная с первого подчиненного устройства в последовательном порядке, заканчивая последним подчиненным устройством и начиная с снова первый.

Альтернатива циклического перебора также называется mode 0 и обеспечивает балансировку нагрузки и отказоустойчивость. Чтобы изменить режим связывания, вы можете использовать nmtui, как объяснялось ранее (см. также рис. 7):

Если мы изменим его на Активное резервное копирование, нам будет предложено выбрать подчиненное устройство, которое будет единственным активным интерфейсом в данный момент времени. Если такая карта выйдет из строя, один из оставшихся слейвов займет ее место и станет активным.

Давайте выберем enp0s3 в качестве основного подчиненного устройства, выключим и снова поднимем bond0, перезапустим сеть и отобразим таблицу интерфейсов ядра (см. рис. 8).

Обратите внимание, что передача данных (TX-OK и RX-OK) теперь осуществляется только через enp0s3:

ip link set dev bond0 down
ip link set dev bond0 up
systemctl restart network

Альтернативно, вы можете просмотреть связь так, как ее видит ядро (см. рис. 9):

cat /proc/net/bonding/bond0

Краткое содержание

В этой главе мы обсудили, как установить и настроить связывание в Red Hat Enterprise Linux 7 (также работает в CentOS 7 и Fedora 22+). ) с целью увеличения пропускной способности наряду с балансировкой нагрузки и резервированием передачи данных.

Потратив время на изучение других способов объединения, вы освоите концепции и практику, связанные с этой темой сертификации.

Если у вас есть вопросы по этой статье или предложения, которыми вы можете поделиться с остальным сообществом, сообщите нам об этом, используя форму комментариев ниже.