Link Aggregation Control Protocol (LACP) — протокол, предназначенный для объединения нескольких физических каналов в один логический в сетях Ethernet.
Агрегированные каналы LACP используются как для повышения пропускной способности, так и повышения отказоустойчивости. Использование LACP в некоторых случаях позволяет обнаружить повреждённый канал, который бы при использовании обычной статической агрегации обнаружен бы не был. Описывается стандартом IEEE 802.3ad. (с) Wiki
Рассмотрим только вопрос настройки на стороне сервера. Операционная система FreeBSD 8.2, 2 внешних Ethernet-порта – vr0 и vr1.
Для использования LACP нам потребуется модуль lagg. Добавьте в L/boot/loader.conf строку:
if_lagg_load=”YES”
Или пересоберите ядро с опцией:
device lagg
Можно модуль загрузить в работающую систему вручную командой:
# kldload if_lagg
Проверьте загрузился ли он:
# kldstat
Id Refs Address Size Name
1 3 0xc0400000 bd97b4 kernel
2 1 0xc0fda000 9824 if_lagg.ko
Поднимаем интерфейсы:
# ifconfig vr0 up
# ifconfig vr1 up
Создадим и настроим сам интерфейс lagg, который будет заниматься балансировкой:
# ifconfig lagg0 create laggproto lacp laggport vr1 laggport vr0 77.***.***.10
netmask 255.255.255.0
Добавим шлюз:
# route add default 77.***.***.1
Проверим:
# ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
ether 00:40:63:ec:73:19
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vr1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
ether 00:40:63:ec:73:19
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
…
inet 77.***.***.10 netmask 0xffffff00 broadcast 77.***.***.255
media: Ethernet autoselect
status: active
laggproto lacp
laggport: vr0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: vr1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
Нам важны две последние строки – они показывают что оба интерфейса в агрегации подняты и активны.
Все, сеть должна работать.
Что бы все это загружалось вместе с системой – добавим в /etc/rc.conf:
cloned_interfaces=”lagg0″
ifconfig_vr1=”up”
ifconfig_vr0=”up”
ifconfig_lagg0=”laggproto lacp laggport vr1 laggport vr0 77.***.***.10
netmask 255.255.255.0″
defaultrouter=”77.***.***.1″