Escolar Documentos
Profissional Documentos
Cultura Documentos
Tabela de conteúdo
• 1 Introdução
• 2 Modos de operação do Bonding
• 3 Módulo bonding
• 3.1 Configurando o módulo bonding
• 3.2 Configurando multiplas interfaces bonding
• 4 Interface virtual bond
• 5 Configurando as interfaces físicas
• 6 Testes
• 7 Automatizando o processo
• 8 Erros
• 9 Referências
• 10 Autor
Módulo bonding
Nas distribuições mais novas o módulo bonding já vem compilado como módulo do kernel,
precisando apenas ser configurado carregado. Se a sua distribuição não possúi, vc pode recompilar
o kernel e abilitar o módulo "bonding".
Para verificar se a sua possúe utilize o seguinte comando:
1
# find /lib/modules/`uname -r`/ | grep bonding
/lib/modules/2.6.16.21-0.25-default/kernel/drivers/net/bonding
/lib/modules/2.6.16.21-0.25-default/kernel/drivers/net/bonding/bonding.ko
Se você conseguiu um resultado parecido o seu sistema já possúe o módulo bonding compilado.
Para carregarmos o módulo utilizamos a seguinte sintaxe:
# modprobe bonding
Fazendo desta forma não temos a opção de configurar o módulo e ele trabalhará com a
configuração default (modo balance-rr) e não subirá na inicialização.
Veja que aqui temos diferentes tipos de bonding configurado. Podemos especificar quantas
intancias quanto quiser.
2
Atribuiremos um ip e sua respectiva máscara (neste caso 255.255.255.0 ou /24) e subiremos a
placa
# ip addr add 192.168.0.254/24 brd + dev bond0
# ip link set dev bond0 up
Testes
Neste ponto o bonding já deve estar funcionando. Você pode testar mandando a máquina pingar
em algum canto (seu roteador por exemplo) com os dois cabos de rede. Faça o teste de tirar um
cabo e veja se parou de pingar. Coloque novamente e tire o outro. Verifique se parou de pingar. Se
não parou está correto.
Automatizando o processo
As configurações funcionaram perfeitamente mas e se seu servidor reiniciar? Logicamente ele
não vai funcionar. O que faremos? Simples. Colocaremos um script que faça estes comandos para
nós. Este script estará em /etc/inid.d/ com o nome de bond:
#!/bin/bash
#
# Script criado para subir as placas de rede eth0 e eth1
# em bonding mode=0 (alta disponibilidade e load balance)
# Este Script é colocado em /etc/inid.d/bond
#
# É também criado um link para este em:
# /etc/inid.d/rc2.d/wbond
# /etc/inid.d/rc3.d/wbond
# /etc/inid.d/rc5.d/wbond
# O nome do link wbond é para ele ser iniciado depois de todos os
processos
# Na verdade só é necessário que rode depois do script de rede
#
# É também criado o link em /bin/bond para que o comando "bond" fique no
PATH
#
3
# Data de criação: 24/11/2006
# Última Alteração: 29/11/2006
# Autor: Willian Itiho Amano - WhiteTiger (willian@underlinux.com.br)
#
#
#
#Faz um include para utilizar o comando que mostra quando a opção terminou
corretamente ou com falha
. /etc/rc.status
case "$1" in
start*)
echo "Iniciando as placas de rede em modo bonding"
#Derruba todas as placas
ifconfig eth0 down
ifconfig eth1 down
ifconfig eth2 down
ifconfig bond0 down
4
;;
stop)
echo "Derrubando as placas de rede em modo bonding"
Agora temos de configurar para iniciar nos diversos init (2, 3 e 5). Para isto temos de colocar
um link simbólico nas respectivas pastas rc2.d, rc3.d e rc5.d que encontram-se dentro de /etc/inid.d.
Os arquivos desas pastas são iniciadas por ordem alfabética então colocaremos o script do bond
por último mudando o nome do link simbólico da sequinte maneira:
# ln - /etc/inid.d/bond /etc/inid.d/rc2.d/wbond
# ln - /etc/inid.d/bond /etc/inid.d/rc3.d/wbond
# ln - /etc/inid.d/bond /etc/inid.d/rc5.d/wbond
Erros
Referências
• http://linux-net.osdl.org/index.php/Bonding
• http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4564&
• http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ref-guide/s1-
networkscripts-interfaces.html
• http://www.gentoo.org/doc/pt_br/handbook/handbook-x86.xml?part=4&chap=3
Autor
• White Tiger (itihoitiho@gmail.com)
5
6