Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:



Введение

Под агрегацией (агрегированием) сетевых каналов понимают объединение нескольких параллельных каналов передачи данных в сетях Ethernet в один логический канал, позволяющее увеличить пропускную способность и повысить надёжность. Поведение такого сетевого канала зависит от выбранного режима работы. В общем случае, объединенные сетевые интерфейсы могут работать в режиме горячего резерва (отказоустойчивости) или в режиме балансировки нагрузки. Режим (политика) работы определяется параметрами (опциями) модуля ядра bonding. Далее к рассмотрению представлены следующие режимы:

  • Политика «активный-резервный» (active-backup): активен только один сетевой интерфейс из объединённых. Другой интерфейс может стать активным только в том случае, когда неработоспособен текущий активный интерфейс. Эта политика применяется для повышения отказоустойчивости;
  • Политика агрегирования каналов по открытому стандартному протоколу LACP: создаются агрегированные группы сетевых карт с одинаковой скоростью и дуплексом. При таком объединении передача данных задействует все каналы в активной агрегации, согласно стандарту IEEE 802.3ad. Выбор интерфейса для отправки пакета определяется политикой, по умолчанию «XOR» политика;
  • Политика адаптивной балансировки нагрузки (balance-alb). Включает в себя режим адаптивной балансировки нагрузки передачи, а также осуществляет балансировку входящего трафика. Не требует дополнительной настройки на коммутаторе. Балансировка входящего трафика достигается путём ARP переговоров. Драйвер bonding перехватывает ARP ответы, отправляемые с локальных сетевых карт наружу, и переписывает MAC адрес источника на один из уникальных MAC адресов сетевой карты, участвующей в объединении. Таким образом различные пиры используют различные MAC адреса сервера. Балансировка входящего трафика распределяется последовательно (round-robin) между интерфейсами.
ИнформацияДалее

Примеры настройки агрегирования

В примерах предполагается, что

управление

:

  • Управление сетевыми интерфейсами осуществляется с помощью службы networking. Подробнее про варианты управления сетевыми интерфейсами см. Настройка сетевых подключений в ОС Astra Linux;
  • На каждом компьютере имеется две сетевые карты с именами eth0 и eth1;
  • Агрегирующий интерфейс создается с именем bind0.

Общие настройки для всех примеров для всех компьютеров

  1. Установить пакеты ifenslave и iperf командой:

    Command
    sudo apt install ifenslave iperf

    Пакет ifenslave нужен для настройки агрегации, пакет iperf используется для тестирования.

  2. Внести в конфигурационный файл /etc/network/interfaces следующие параметры:

    Блок кода
    auto eth0 eth1 bond0
    iface eth0 inet manual
    iface eth1 inet manual

    Параметр auto

Настройка агрегации в режиме active-backup

Настройка агрегации каналов в режиме active-backup рассмотрена на примере инфраструктуры, где два компьютера

подключены к сети передачи данных двумя соединениями каждый, и для подключения используются сетевые карты компьютеров eth3 и eth4 (рисунок 1).

соединены друг с другом напрямую двумя соединениями.

Image Removed

Рисунок 1 - Агрегация в режиме active-backup

При настройке агрегации одному компьютеру будит присвоен адрес 10.1.1.2, другому - 10.1.1.3.

Для настройки и запуска агрегации в режиме active-backup в Astra Linux

требуется:На каждом компьютере установить пакеты ifenslave и iperf командой

:

Commandsudoaptinstallifenslave iperf

Остановить службу работы сети командой:

Command

sudo systemctl stop networking



На

обеих

обоих компьютерах внести в конфигурационный файл /etc/network/interfaces

следующие

параметры

:
  1. Параметры сетевых карт:
    auto eth3 iface eth3 inet manual auto eth4 iface eth4 inet manua
Блок кодаПараметры

агрегирующего интерфейса:

Блок кодаauto bond0

iface

bond0

inet

static


    pre-up

modprobe


    bonding

mode=active-backup

arp_interval=100

arp_ip_target=

<IP-адрес_другого_компьютера>

10.1.1.2 post-down

rmmod

bonding

address <собственный_IP-адрес> netmask 255.255.255.0 bond-mode active-backup bond-primary eth3 bond-miimon 100 bond-downdelay 150 bond-updelay 150 bond-slaves eth3 eth4


    address 10.1.1.1


Где вместо параметра <IP-адрес_другого_компьютера> указать на одном компьютере IP-адрес 10.1.1.3, на другому - 10.1.1.2, а вместо параметра <собственный_IP-адрес> - наоброт,  10.1.1.2, на другому - 10.1.1.3.



Запустить службу работы сети командой:

Command

sudo systemctl start networking.



Для проверки работоспособности агрегирования интерфейсов в режиме active-backup

на ПК2 запустить

:

На одном компьютере выполнить команду iperf

в качестве сервера с параметрами

:


sudo iperf -s -i 1

где:
-s - запуск в режиме

серверав

сервера;
-i - интервал между отчетами (в секундах)

.Для проверки работоспособности агрегирования интерфейсов в режиме active-backup на ПК1 запустить команду iperf в качестве клиента с параметрами

;

На другом компьютере выполнить команду iperf:



sudo iperf -c

10.1.1.2

<IP-адрес_другого_компьютера> -p 5001 -i 1 -n 100M -t 60



где

-c - ip-адрес сервера;

-p - порт на котором работает сервер;

-i - интервал между отчетами (в секундах);

-n - количество байт для передачи;

-t -

время

продолжительность выполнения теста

.Все сетевые интерфейсы — 1 Гбит/с.

;

Во время выполнения теста iperf  (тест длится 60 секунд, время можно увеличить)

вытащить

;

Отключить сетевой кабель из физического интерфейса которому соответствует имя

eth3

eth3  (т.к. данный интерфейс является первичным согласно настройкам) и

посмотреть на выдаваемый лог утилиты iperf

проверить отчеты теста, где можно увидеть наличие провалов скорости, - это свидетельствует о том, что произошло переключении с одного физического интерфейса (

eth3

eth3) на второй физический интерфейс (

eth4

eth4).

После воткнуть

Подключить сетевой кабель обратно в физический интерфейс с именем

eth3 и посмотреть на лог утилиты iperf, где так же

eth3, после чего в журнале теста можно наблюдать наличие провала скорости,

это свидетельствует

свидетельствующего о том, что произошло обратное переключение на активный интерфейс

eth3

eth3 (согласно сетевым настройкам).

Настройка агрегации по стандарту IEEE 802.3ad (LACP)


Для настройки и запуска агрегации каналов по стандарту IEEE 802.3ad в

ОС СН требуется:

Astra Linux:

Загрузить

  1. Установить пакет ifenslave командой:

sudo apt install ifenslave

Подгрузить

модуль для ядра командой:


sudo modprobe bonding

Останавить



Остановить службу работы сети командой:


sudo systemctl stop networking

Настроить



Внести в конфигурационный файл

interfaces командой:sudonano

/etc/network/interfaces

следующие параметры:

В качестве примера приводится настройка агрегации каналов по стандарту IEEE 802.3ad для интерфейса bond0:

Пример

auto lo

iface lo inet loopback

auto eth0
iface eth0 inet manual
auto eth1
iface eth1 inet manual
auto bond0
iface bond0 inet static
address 192.168.0.1
netmask 255.255.255.0
bond-mode 4
bond-miimon 100
bond-downdelay 200
bond-updelay 200
bond-xmit-hash-policy 1
slaves eth0 eth1

Убедиться, что сетевые интерфейсы, которые будут использоваться для агрегации каналов, больше нигде не используются и не настроены в других сетевых приложениях;

Запустить службу работы сети командой:


sudo systemctl start networking

.



Для проверки статуса работы

сетевых интерфейсов требуется

сетевого интерфейса выполнить команду:


cat /proc/net/bonding/bond0

,

где bond0

это интерфейс

- имя интерфейса агрегированных каналов.

Пример вывода команды

cat /proc/net/bonding/bond0

:
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 200
802.3ad info
LACP rate: slow
Active Aggregator Info:
Aggregator ID: 2
Number of ports: 2
Actor Key: 17
Partner Key: 13
Partner Mac Address: 00:14:a8:82:87:80
Slave Interface: eth0
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:30:48:59:e9:c6
Aggregator ID: 2
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:30:48:59:e9:c7
Aggregator ID: 2

Проверка считается успешной, если в выводе команды cat /proc/net/bonding/bond0 отображается строчка «Bonding Mode: IEEE 802.3ad Dynamic link aggregation» и все перечисленные сетевые интерфейсы, например, «Slave Interface: eth0», находятся в статусе «MII Status: up».

Настройка режима адаптивной балансировки нагрузки balance-alb

Настройка агрегации каналов в режиме balance-alb рассмотрена на примере инфраструктуры, где

ПК соединены двумя патч-кордами через неуправляемый коммутатор

каждый из двух компьютеров подключен двумя соединениями к неуправляемому коммутатору (рисунок 2).

Image Removed

Рисунок 2 - Агрегация в режиме balance-alb

Для настройки и запуска агрегации в режиме balance-alb в

ОС СН требуется:

Astra Linux:

1) Установить пакет ifenslave и iperf командой:

sudo apt install ifenslave iperf

2)

Останавить службу работы сети командой:
sudo systemctl stop networking

3)

Настроить конфигурационный файл /etc/network/interfaces командой в соответствии с примером:

Пример

Настройки /etc/network/interfaces на ПК1:

auto eth3

iface eth3 inet manual

auto eth4

iface eth4 inet manual



# режим balance-alb

auto bond0

iface bond0 inet static

pre-up modprobe bonding mode=balance-alb

post-down rmmod bonding

address 10.1.1.1

netmask 255.255.255.0

bond-mode 6

bond-miimon 100

bond-downdelay 150

bond-updelay 150

bond-slaves eth3 eth4




Пример

Настройки /etc/network/interfaces на ПК2:

auto eth3

iface eth3 inet manual

auto eth4

iface eth4 inet manual



# режим balance-alb

auto bond0

iface bond0 inet static

pre-up modprobe bonding mode=balance-alb

post-down rmmod bonding

address 10.1.1.2

netmask 255.255.255.0

bond-mode 6

bond-miimon 100

bond-downdelay 150

bond-updelay 150

bond-slaves eth3 eth4



4) Убедиться, что сетевые интерфейсы, которые будут использоваться для агрегации каналов, больше нигде не используются и не настроены в других сетевых приложениях;

5) Запустить службу работы сети командой:

sudo systemctl start networking.

Для проверки работоспособности агрегирования интерфейсов в режиме balance-alb на ПК2 запустить команду iperf в качестве сервера с параметрами:

sudo iperf -s -i 1

где

-s - запуск в режиме сервера;

-i - интервал между отчетами (в секундах).

Для проверки работоспособности агрегирования интерфейсов в режиме balance-alb на ПК1 запустить команду iperf в качестве клиента с параметрами:

sudo iperf -c 10.1.1.2 -p 5001 -i 1 -n 100M -t 60

где

-c - ip-адрес сервера;

-p - порт на котором работает сервер;

-i - интервал между отчетами (в секундах);

-n - количество байт для передачи;

-t - время выполнения теста.

Все сетевые интерфейсы — 1 Гбит/с.

Во время выполнения теста iperf (тест длится 60 секунд, время можно увеличить) необходимо поочерёдно вытаскивать сетевой кабель из физического интерфейса на обоих ПК, выждать 5 секунд (время можно увеличить) и воткнуть сетевой кабель обратно.

После запуска выполнения теста в соседнем терминале выполнить команду:

ip -a

и посмотреть МАС-адреса на физических интерфейсах.

Вытащить один из сетевых кабелей и одном ПК, выполнить команду:

ip -a

в соседнем терминале, сравнить МАК-адреса интерфейсов с предыдущим выводом команды ip -a.

Повторить тест на обоих ПК поочерёдно.

Результатом работы режима адаптивной балансировки нагрузки будет переписывание MAC-адреса сетевой карты (eth3, eth4) на адрес, присвоенный интерфейсу bond0 (взятый с одного из интерфейсов eth3 или eth4) в данный момент.