niedziela, 9 stycznia 2011

NIC bonding i agregacja linków

Co zrobić aby kilka interface'ów stało się jednym wirtualnym i były odporne na błędy?
Odpowiedź jest prosta użyć interfacu lagg.

Poniżej krótki how-to:

Załadować moduł if_lagg

[root@] ~ # kldload /boot/kernel/if_lagg.ko

Stworzyć nowy interface za pomocą ifconfiga

[root@] ~ # ifconfig lagg0 create
[root@] ~ # ifconfig lagg0 up laggproto failover laggport em0 laggport em1
 
W rezultacie otrzymamy :

lagg0: flags=8843 metric 0 mtu 1500
    options=9b
    ether 08:00:27:a8:15:2f
    media: Ethernet autoselect
    status: active
    laggproto failover
    laggport: em1 flags=1c
    laggport: em0 flags=1c



Teraz wystarczy przypisać adres IP:

[root@] shamrock # ifconfig lagg0 172.16.79.132 netmask 255.255.255.0

lagg0: flags=8843 metric 0 mtu 1500
    options=9b
    ether 08:00:27:a8:15:2f
    inet 172.16.79.132 netmask 0xffffff00 broadcast 172.16.79.255
    media: Ethernet autoselect
    status: active
    laggproto failover
    laggport: em1 flags=0<>
    laggport: em0 flags=1
 


Żeby całość zachowała sie po restarcie w konfiguracji /etc/rc.conf należy wpisać:




ifconfig_em0="up"
ifconfig_em1="up"

cloned_interfaces="lagg0"

ifconfig_lagg0="laggproto failover laggport em0 laggport em1"

ipv4_addrs_lagg0="172.16.79.132/32"

defaultrouter="172.16.79.2"

Natomiast w /boot/loader.conf musi się znaleźć :


if_lagg_load="YES"