Pular para o conteúdo

Balanceamento de carga entre 2 placas de rede

Esse artigo mostra como fazer para balancear o tráfego de rede usando duas placas de rede usando o módulo bonding, aumentando assim a segurança de seu servidor, visto que em caso de falha de uma placa, a outra estará funcionando.
Gabriel Knepper Mendes gabrielrs
Hits: 113.668 Categoria: Linux Subcategoria: Firewall
  • Indicar
  • Impressora
  • Denunciar

O módulo BONDING

Você tem diversas máquinas na mesma rede utilizando DHCP/NFS ou mesma conexão a internet e não pode de jeito nenhum deixar essa máquina de fora? Por quê não instalar uma outra placa de rede, balancear a carga e aumentar a segurança, visto que apenas uma das duas placas de rede precisa estar no ar.

Na compilação do kernel, ter certeza que compilou o módulo BONDING em:
 [ ] Device Drivers
	[ ] Network Device Support
		[ ] Bonding Driver Support

para verificar se você tem o módulo BONDING compilado execute:

# modinfo bonding

Deve aparecer algo como:

filename:       /lib/modules/2.6.14/kernel/drivers/net/bonding/bonding.ko
parmtype:       max_bonds:int
parm:           max_bonds:Max number of bonded devices
parmtype:       miimon:int
parm:           miimon:Link check interval in milliseconds
parmtype:       updelay:int
parm:           updelay:Delay before considering link up, in milliseconds
parmtype:       downdelay:int
parm:           downdelay:Delay before considering link down, in milliseconds
parmtype:       use_carrier:int
parm:           use_carrier:Use netif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default)
parmtype:       mode:charp
parm:           mode:Mode of operation : 0 for round robin, 1 for active-backup, 2 for xor
parmtype:       primary:charp
parm:           primary:Primary network device to use
parmtype:       lacp_rate:charp
parm:           lacp_rate:LACPDU tx rate to request from 802.3ad partner (slow/fast)
parmtype:       xmit_hash_policy:charp
parm:           xmit_hash_policy:XOR hashing method : 0 for layer 2 (default), 1 for layer 3+4
parmtype:       arp_interval:int
parm:           arp_interval:arp interval in milliseconds
parmtype:       arp_ip_target:array of charp
parm:           arp_ip_target:arp targets in n.n.n.n form
license:        GPL
version:        2.6.4
description:    Ethernet Channel Bonding Driver, v2.6.4
author:         Thomas Davis, tadavis@lbl.gov and many others
vermagic:       2.6.14 preempt K7 gcc-3.3
depends:
srcversion:     1E88D1C30D529F921F5B399

Se aparecer algo como:

modinfo: could not find module bonding

O módulo não está disponível no sistema, verifique.

Tenha certeza que selecionou a opção no menu do kernel:

# make xconfig

Tenha certeza que compilou os módulos:

# make modules

Tenha certeza que instalou os módulos:

# make modules_install

   1. O módulo BONDING
   2. O programa IFENSLAVE
   3. A configuração do BONDING
   4. O teste de São Tomé

Flash 9 com som OSS

Firewall iptables com NAT

Mandrake Firewall - Firewall com interface amigável

Como construir um firewall de baixo custo para sua empresa (parte 2)

UFW e GuFW, firewall simples ao alcance de todos

Squid + iptables (método ninja)

#1 Comentário enviado por vitor.jjb em 08/05/2006 - 09:52h
Eu ia escrever um artigo de bonding essa semana! Passou na frente!
Parabens!! :) aueaehueahuea

O pessoal aqui usou bonding em uns servidores dell...
manero!
abraços!
#2 Comentário enviado por thelinux em 08/05/2006 - 10:21h
Gabriel Knepper ,
Parabéns pelo tuto. Vou experimentar isto amanhã. Um tutorial prático e feito para o ambiente corporativo. É ISSO.
#3 Comentário enviado por ths_sp em 08/05/2006 - 11:25h
Legal. No meu caso em um servidor interno. Tb é possivel eu ter 2 placas de rede? Melhoraria a perfermance do servidor?
#4 Comentário enviado por efloriani em 08/05/2006 - 13:07h
Nao é balanceamento, é Failover.... para balanceamento switch tem de aceitar trunking e fazer configuração conforme descrita em um tutorial passado...

Parabens pelo artigo...

Abraços
#5 Comentário enviado por gabrielrs em 08/05/2006 - 13:54h
Pessoal

Esta correto o colega efloriani. É Failover mesmo, visto que se romper um cabo de rede o outro automaticamente segura o serviços. MAS a solução foi implementada para um servidor Linux Boot-Remoto + Samba onde o trafego de rede era demasiadamente alto (dhcp + TFTP + NFS + SMB) para prover maior seguranca nos serviços. Quanto a trunking realmente voce tem razão e aproveito para lembrar que não é chamado somente de TRUNKING mas tambem de PORT AGREGATION e IEEE 802.3ad. No caso de performance tem que ver onde esta o gargalo do seu servidor. No processamento ? No Acesso ao Disco ? Na rede ? Existe alguns parametros que podem ser setados nesse modulo bonding que define se sera failover ou balancing. Assim que tiver um tempinho eu escrevo quando utilizar um e o outro.

Abração a todos !!!
#6 Comentário enviado por gilberto.russo em 08/05/2006 - 16:06h
Gabriel,

solucoes corporativas de FailOver é muito bem vinda principalmente quando envolve redes.
Parabéns pelo artigo. Muito bom mesmo!

Gilberto Russo
Conductor Tecnologia SA
#7 Comentário enviado por removido em 08/05/2006 - 23:18h
ae mano nota dez, eu estava procurando hoje exatamente por isso ai e nao achei nada de boa qualidade ai venho aqui por rotina e vejo seu artigo muito bom gostei
#8 Comentário enviado por wagner05 em 20/06/2006 - 11:37h
Cara amei o artigo mas ainda não solucionou meu problema vejamos nesse caso as duas conexões q estão entrando vem de um IP fixo certo! mas se eu quiser colocar uma de IP fixo e a outro de um IP dinamico! isto é tenho VELOX vindo de um modem roteado com ip 192.168.0.1 e o virtua vindo do cable modem com ip dinamico como junto esses dois?
#9 Comentário enviado por gilps em 26/07/2006 - 06:01h
Parabéns Muito bom! Este artigo!
É bem o que eu estou precisando! 10
#10 Comentário enviado por linux.vitor em 12/12/2006 - 11:09h
olá amigos.. vamos ver se entendi...
o bonding server pra rede local??? por exemplo..
tenho um servidor banco de dados com 2 placas de rede e quero q quando eu tirar o cabo de uma placa a outra assuma.. e isso q o tutorial ta explicando???? quando uma cair a outra assume???
Obrigado.
#11 Comentário enviado por julianlinuxer em 14/12/2006 - 11:12h
Pra servidores isto é uma beleza, vou aplicar com certeza. Valeu!!!
#12 Comentário enviado por teleseg em 06/05/2007 - 00:36h
Gabriel vi o seu artigo, e fiquei na duvida qual o IP adicionar na interface bond0. É possivel juntar 02 modens adsl com bonding.

No artigo voce mencionou o IP do modem que o DHCP do mesmo deu para interface de rede que esta ligada na interface eth0, na interface eth1 tem outro modem ? e como fica a rede deste outro modem tem ser diferente voce menciona que teem que levantar eth1 sem IP. To meio confuso gostaria de receber umas dicas da comunicade.
#13 Comentário enviado por gabrielrs em 06/05/2007 - 00:47h
O Bonding serve para 2 coisas. Aumentar a largura de banda de uma interface ethernet através de balanceamento e aumentar a segurança da conexão , por exemplo montando ligações entre servidores com 4 interfaces e 2 redes distintas, onde no caso de uma falhar ( Cabo , Switch ou mesmo interface com problemas ) a outra placa segura o trafego.

Para links ADSL ou similares para internet não serve. Teriam que ser com o mesmo IP e estar no mesmo seguimento de rede.

Obrigado a todos.
#14 Comentário enviado por lipecys em 24/06/2008 - 15:48h
Obrigado pelo artigo, muito bom.
#15 Comentário enviado por lcm em 17/12/2008 - 16:17h
Caro Gabriel, seu tutorial me ajudou muito na implementação de um servidor de imagens, agradeço e espero que não se importe que eu tenha alterado seu tutorial e postado no meu blog, claro com a fonte!!!
Atenciosamente,

LCM
#16 Comentário enviado por jrwesleynunes em 16/06/2009 - 12:25h
Otimo artigo me ajudou muito....
#17 Comentário enviado por edison_filho em 10/07/2009 - 19:24h
OLÁ, ENTÃO SÓ PARA ESCLARECER..... ESTE TUTO NÃO SERVE PARA FAZER BALANCEAMENTO DE CARGA DE DOIS LINKS DE INTERNET POR EXEMPLO?

QUAL SERIA O MELHOR MÉTODO?

Abraço,

Edison de Azevedo Filho.
http://www.edisonfilho.com
#18 Comentário enviado por manoserpa em 20/07/2009 - 17:03h
Não conhecia, legal parabéns.
#19 Comentário enviado por rskmacho em 23/08/2010 - 10:31h
Pessoal, preciso de ajuda

quando eu tiro o cabo de rede da eth0 e pingo, alguns pacotes se perdem, alguns funcionam..... o que será?

Contribuir com comentário

Entre na sua conta para comentar.