networking && bonding devices em linux

From: Carlos J. G. Duarte <cgdarrobasdf-eu.org>
Date: Tue Jun 22 2004 - 00:02:42 UTC

Em linux existe um módulo que permite agregar vários interfaces de rede
num só, virtual. Os primeiros ficam em modo slave enquanto o último
envia os pacotes através destes. Esse módulo chama-se bonding.

Exemplo real. No meu caso tenho uma placa de rede ethernet, eth0,
100Mb/s, e uma placa de rede wifi, wlan0, 11Mb/s. Para pôr ambas a
funcionarem como uma só, executo os seguintes procedimentos:

(primeiro adicionar a /etc/modprobe.conf a linha "alias bond0 bonding")

# ifconfig bond0 up
# pump -i eth0
# pump -i wlan0
# ifenslave bond0 eth0
# ifenslave bond0 wlan0
# pump -i bond0
# ifenslave bond0 eth0
# ifenslave bond0 wlan0

O pump é um dhcp client. Neste caso, primeiro estabeleço o bond0 device,
mas sem qualquer configuração. Depois configuro ambos os interfaces de
rede fisicos via pump e ponho-os sob o control do bond device. Agora sim
configuro o bond device via pump. Aparentemente o pump reconfigura
totalmente o interface pelo que o eth0 e wlan0 deixam de estar em modo
slave. Sendo assim volto a colocá-los sobre domínio do bond device ...

Com configurações manuais (IPs estáticos) as três últimas linhas, em
princípio, não eram necessárias. Cuidado com a tabela de routing que
resulta deste processo. No meu caso ficou bem (apenas com entradas
referentes ao IP e device bond0).

Performance

Ter um bond device "per se" a enwrappar (cuidado com esta palavra) os
outros não causa lentidão. Se eu apenas enwrappar o eth0, a performance
é semelhante a usar directamente o eth0, e o mesmo para o wlan0.

Com a minha configuração de rede, obtive os seguintes valores:
eth0 apenas: 11.3MB/s (teórico máximo 12.5MB/s)
wlan0 apenas: 530KB/s (teórico máximo: 1.375MB/s)
bond0 (wlan0+eth0): 6.4MB/s

Neste caso o bond0 faz perder velocidade porque, presumo eu, faz passar
pacotes pelo interface lento alternadamente com o rápido. O resultado
final assemelha-se à media dos dois devices. Infelizmente não tive
oportunidade de fazer este teste usando duas placas de rede (no hw!).

-- 
carlos
Received on Tue Jun 22 00:03:26 2004

This archive was generated by hypermail 2.1.8 : Thu Dec 30 2004 - 23:07:46 UTC