LACP
Материал из Xgu.ru
Link Aggregation Control Protocol (LACP) — протокол, предназначенный для объединения нескольких физических каналов в один логический в сетях Ethernet. Агрегированные каналы LACP используются как для повышения пропускной способности, так и повышения отказоустойчивости. Использование LACP в некоторых случаях позволяет обнаружить повреждённый канал, который бы при использовании обычной статической агрегации обнаружен бы не был. Описывается стандартом IEEE 802.3ad.
Содержание |
[править] LACP в Linux
[править] LACP в Linux через bonding
В Linux поддержка LACP осуществляется с помощью модуля bonding, как и всякая другая агрегация на канальном уровне. Режим агрегации: 4.
Пример загрузки модуля[1]:
bonding miimon=100 mode=4 lacp_rate=1
[править] LACP в Linux через teaming
Teaming - новый механизм создания агрегированных линков в Linux, более архитектурно правильны. Состоит из ядерной части, которая реализует базовые механизмы обработки трафика, и части пространства пользователя, которая отвечает за сигнализацию и управление ядерной частью.
Необходимые опции ядра (отмечаем только те режимы коммутации, которые будем использовать):
CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_BROADCAST=m CONFIG_NET_TEAM_MODE_ROUNDROBIN=m CONFIG_NET_TEAM_MODE_RANDOM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_LOADBALANCE=m
Конфигурационный файл (/etc/network/team0.conf):
{ "device": "team0", "runner": { "name":"lacp", "active":true, "fast_rate":true, "tx_hash":["eth", "ipv4", "ipv6"] }, "link_watch": {"name": "ethtool"}, "ports": { "eth0": {}, "eth2": {} } }
Стоит заметить, что интерфейсы-порты должны быть в состоянии down, иначе агрегированный линк не запустится.
Запускаем демон teamd:
teamd -g -f /etc/network/team0.conf -d
Проверяем работу:
# teamdctl team0 state setup: runner: lacp ports: eth0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up runner: aggregator ID: 2, Selected selected: yes state: current eth2 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up runner: aggregator ID: 2, Selected selected: yes state: current runner: active: yes fast rate: yes
Добавляем адрес
ip link set up dev team0 ip address add X.X.X.X/X dev team0
Выключаем
teamd -t team0 -k
[править] LACP в FreeBSD
На FreeBSD (одна сторона):
# ifconfig lagg0 create # ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1
На Cisco (другая сторона):
interface FastEthernet0/1 channel-group 1 mode active channel-protocol lacp ! interface FastEthernet0/2 channel-group 1 mode active channel-protocol lacp
На коммутаторе, при этом, информация о LACP-соседях должна выглядеть так:
switch# show lacp neighbor Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode Channel group 1 neighbors Partner's information: LACP port Oper Port Port Port Flags Priority Dev ID Age Key Number State Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D
[править] Дополнительная информация
- Link Aggrigation в ExtremeXOS
- LACP в Cisco (англ.)
- LACP в AIX (англ.)
[править] Примечания
- ↑ Подробнее: http://backdrift.org/howtonetworkbonding