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.

[ Hits: 111.961 ]

Por: Gabriel Knepper Mendes em 08/05/2006


A configuração do BONDING



A configuração anterior era:

eth0 192.168.1.11 - IP DINÂMICO (o roteador ADSL que forneceu no BOOT)

eth1 sem IP levantado apenas usando:

# ifconfig eth1 up

A configuração onde 192.168.1.11 é o da placa de rede que vai entrar no bonding:

# modprobe bonding
# ifconfig bond0 192.168.1.11 netmask 255.255.255.0
# ifenslave -v bond0 eth0 eth1

ifenslave.c:v1.1.0 (December 1, 2003)
o Donald Becker (becker@cesdis.gsfc.nasa.gov).
o Detach support added on 2000/10/02 by Willy Tarreau (willy at meta-x.org).
o 2.4 kernel support added on 2001/02/16 by Chad N. Tindel
(ctindel at ieee dot org).
ABI ver is 2
Interface 'eth0': flags set to 1062.
Interface 'eth0': address cleared
Master 'bond0': hardware address set to 00:13:d4:24:c4:3c.
Interface 'eth1': flags set to 1042.
Interface 'eth1': address cleared

A configuração do bonding fez com que a rota padrão se perdesse:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.1        0.0.0.0         255.255.255.255 UH    0      0        0 plip0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 bond0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo

Então vamos colocar a rota padrão de novo na tabela de roteamento:

# route add default gw 192.168.1.1
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.1        0.0.0.0         255.255.255.255 UH    0      0        0 plip0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 bond0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 bond0
Página anterior     Próxima página

Páginas do artigo
   1. O módulo BONDING
   2. O programa IFENSLAVE
   3. A configuração do BONDING
   4. O teste de São Tomé
Outros artigos deste autor

Flash 9 com som OSS

Leitura recomendada

Análise da distribuição Mandrake Security

Uso eficiente do IPCOP firewall

Migrando do ipchains para o iptables

Port Scan Attack Detector (PSAD) com iptables

Firewall e NAT em FreeBSD com controle de banda e redirecionamento de portas e IPs

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts