3.5.3.3 Настройка bonding с использованием инструмента nmcli
Скачать документBonding – это объединение двух и более сетевых интерфейсов в один логический для достижения отказоустойчивости или увеличения пропускной способности.
В таблице приведены возможные режимы работы утилиты bond.
Режим | Тип | Отказоустойчивость | Балансировка | Описание |
---|---|---|---|---|
mode=0 | Round Robin | - | + | Циклический режим. Пакеты последовательно передаются и принимаются через каждый интерфейс один за другим. |
mode=1 | Active Backup | + | - | В этом режиме активен только один интерфейс, а все остальные интерфейсы находятся в резервном состоянии. Если активный интерфейс выходит из строя, резервный интерфейс заменяет его как единственный активный интерфейс в соединении. MAC-адрес интерфейса связи в режиме 1 виден только на одном порту на коммутаторе, что предотвращает путаницу для коммутатора. |
mode=2 | XOR [exclusive OR] | + | + | Один и тот же интерфейс работает с определённым получателем. MAC-адрес источника использует логику исключающего или (XOR) с MAC-адресом назначения. |
mode=3 | Broadcast | + | - | Широковещательный режим. Все пакеты отправляются на все интерфейсы. |
mode=4 | Dynamic Link Aggregation | + | + | IEEE 802.3ad, требует от коммутатора соответствующей настройки, к которому подключен объединенный интерфейс. |
mode=5 | Transmit Load Balancing (TLB) | + | + | Входящий трафик приходит только на активный интерфейс, а исходящий распределяется в зависимости от текущей загрузки канала каждого интерфейса. Не требует настройки коммутатора. |
mode=6 | Adaptive Load Balancing (ALB) | + | + | Адаптивная балансировка нагрузки. Отличается более совершенным алгоритмом балансировки нагрузки чем Mode-5. Обеспечивает балансировку нагрузки как исходящего, так и входящего трафика. Не требуется специальной поддержки и настройки со стороны коммутатора/коммутаторов. |
Отобразите текущее состояние сетевых интерфейсов командой:
nmcli con NAME UUID TYPE DEVICE enp0s3 d90e7109-6a41-3da8-b662-e8dbae914073 ethernet enp0s3 enp0s8 17b8cbdb-df3f-31bd-bc82-cf4edb3205cd ethernet enp0s8
В выводе команды указано, что в системе присутствует две сетевые карты с именами enp0s3 и enp0s8. В дальнейшем они будут связаны в один логический сетевой интерфейс (Bond).
Создание bond
Создайте интерфейс bond0 с автоматическим получением адреса по DHCP:
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad
Если же нужно присвоить статический адрес для bond0, то используйте команду:
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad ip4 x.x.x.x/yy
Где:
x.x.x.x – IPv4 адрес;
yy – маска сети.
Выполните настройку bond0 и назначьте ему необходимые параметры:
nmcli con mod id bond0 bond.options mode=802.3ad,miimon=100,lacp_rate=fast,xmit_hash_policy=layer2+3
Здесь:
mode=802.3ad – назначение 4-ого режима работы bond;
miimon=100 - определяет, как часто производится мониторинг MII (Media Independent Interface). 0 – мониторинг отключён (используется по-умолчанию). Рекомендуемое значение 100 мс;
lacp_rate=fast – параметр может принимать два значения slow или fast. Данное значение определяет, через какой промежуток времени управляющие пакеты LACPDU отправляются по каналу LACP. По умолчанию значение установлено в 30 секунд (slow). В режиме fast – пакеты отправляются каждую секунду;
xmit_hash_policy=layer2+3 - определяет режим вычисления хешей при организации балансировки нагрузки между интерфейсами bond. Для вычисления хешей будут использоваться MAC адреса получателей/отправителей пакета и их IP адреса, если это возможно. Значение по умолчанию для этой опции – layer2, что определяет вычисление хеша только по MAC-адресам.
Удаление действующих подключений
Удалите действующие соединения интерфейсов enp0s3 и enp0s8:
nmcli con del enp0s3 nmcli con del enp0s8
Связывание сетевых интерфейсов в bond
Выполните команды связывания сетевых интерфейсов enp0s3 и enp0s8 в bond0:
nmcli con add type bond-slave ifname enp0s3 con-name enp0s3 master bond0 nmcli con add type bond-slave ifname enp0s8 con-name enp0s8 master bond0
Информация о сетевых соединениях
Чтобы вывести результирующую информацию о сетевых настройках, выполните команду nmcli:
После завершения настройки проверьте, что интерфейс bond0 активен и ошибок не обнаружено:
cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v5.15.72-1.el7.3.x86_64 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): 0 Peer Notification Delay (ms): 0 802.3ad info LACP active: on LACP rate: slow Min links: 0 Aggregator selection policy (ad_select): stable System priority: 65535 System MAC address: 08:00:27:40:07:b4 Active Aggregator Info: Aggregator ID: 1 Number of ports: 1 Actor Key: 9 Partner Key: 1 Partner Mac Address: 00:00:00:00:00:00 Slave Interface: enp0s3 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 08:00:27:40:07:b4 Slave queue ID: 0 Aggregator ID: 1 Actor Churn State: none Partner Churn State: churned Actor Churned Count: 0 Partner Churned Count: 1 details actor lacp pdu: system priority: 65535 system mac address: 08:00:27:40:07:b4 port key: 9 port priority: 255 port number: 1 port state: 77 details partner lacp pdu: system priority: 65535 system mac address: 00:00:00:00:00:00 oper key: 1 port priority: 255 port number: 1 port state: 1 Slave Interface: enp0s8 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 08:00:27:21:5c:6a Slave queue ID: 0 Aggregator ID: 2 Actor Churn State: churned Partner Churn State: churned Actor Churned Count: 1 Partner Churned Count: 1 details actor lacp pdu: system priority: 65535 system mac address: 08:00:27:40:07:b4 port key: 9 port priority: 255 port number: 2 port state: 69 details partner lacp pdu: system priority: 65535 system mac address: 00:00:00:00:00:00 oper key: 1 port priority: 255 port number: 1 port state: 1
Дата последнего изменения: 19.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.