Configuração do Bonding (RedHat) PDF Imprimir
Avaliação do Usuário: / 4
PiorMelhor 
Tutoriais
Escrito por Penna   
Qui, 25 de Fevereiro de 2010 09:01

Este artigo tem como objetivo, demonstrar a configuração do Bonding no Sistema Operacional Linux RedHat.

Pontos a ser abordados:

  1. Abordagem do que é Bonding
  2. Configurar o Modulo do Bonding.
  3. Configuração dos arquivos das interfaces de rede.
  4. Realizaçao de testes.

1º Abordagem do que é Bonding?

Se trata da junção de duas placas fisicas, sendo gerenciadas pelo modulo do bonding.

Imagem demonstra a situação:

O Bonding possui diversos modos de operação mas vou apresentar aqui os dois principais

balance-rr ou modo 0
Neste modo todas as interfaces estão ativas e fazem balanceamento de carga (load balance) trabalhando em velocidade igual a soma de suas velocidades separadas (duas placas de rede 10/100 trabalharão como uma de 200) e ainda faz alta disponibiliada, pois o serviço continua ativo mesmo se alguma dessas interfaces pararem por qualquer motivo (como cabo rompido).


active-backup ou modo 1
Neste modo apenas a alta disponibilida é implementada. Não é feito o balancemento de carga pois uma placa fica como master e outra como slave. Se a marter parar de responder a slave assume.


Terminamos o 1º passo.
------------------------------------------------------------------------------------------------------------------------------------------------

2º  Configurar o Modulo do Bounding.

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, você pode recompilar o kernel e abilitar o módulo "bonding".

Para verificar se a sua possue o modulo utilize o seguinte comando:

# 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

# lsmod | grep -i bond
bonding               105696  0

Verificado o modulo, vamos configurar para subir o modulo manualmente:

# modprobe bonding
# lsmod | grep -i bond
bonding               105696  0

Com isso feito, vamos passar para configuração na inicialização do servidor:

Editar o arquivo:

#vi /etc/modprobe.conf

Adicionar as linhas abaixo:
alias bond0 bonding
options bond0 mode=1 miimon=100

Neste exemplo estamos colocando o mode=1, significa que o modulo funcionará com uma ativa e a outra em backend, aguardando que a outra caia para que ele possa assumir.

Caso queira colocar o mode=0, a placa vai trabalhar com a velocidade duplicada, e com alta disponibilidade, caso um nó caia o outro continua funcionando, com a sua velocidade original.


Terminamos o 2º passo

---------------------------------------------------------------------------------------------------------------------------------------------------

3º Configuração dos arquivos das interfaces de rede.

Editar os arquivos ifcfg-ethx e colocar o seguinte conteúdo:

#vi /etc/sysconfig/network-script/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=00:00:00:00:00:00 -> OBS:Colocar aqui o mac address correspondente a interface, evidencia do ifconfig –a, caso isso não seja feito a configuração não irá funcionar!
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

#vi /etc/sysconfig/network-script/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
HWADDR=00:00:00:00:00:01 -> OBS:Colocar aqui o mac address correspondente a interface, evidencia do ifconfig –a, caso isso não seja feito a configuração não irá funcionar!
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no


#vi /etc/sysconfig/network-script/ifcfg-bond0

DEVICE=bond0
BROADCAST=172.xxx.xxx.xxx
IPADDR=172.xxx.xxx.xxx IP
NETMASK=255.255.255.0
NETWORK=10.80.31.0
ONBOOT=yes
USERCTL=no

Feito isso, dai um start na placa do bond para que a confiuração tenha efeito:

# service network restart
ou
# /etc/init.d/network restart

Depois disso, verificar o status do bonding.

#cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:00:00:00:00:00

Slave Interface: eth1
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:00:00:00:00:01

Configurado os arquivos e verificado o status do bonding, vamos para o proximo passo.

Terminado o 3º passo.

---------------------------------------------------------------------------------------------------------------------------------------------------

4º Realizaçao de testes.

Caso queira fazer um teste, faça o seguinte:

Baixe a eth0 e depois verifique o arquivo de status do bonding.

Comandos:

#ifconfig eth0 down

ou

#ifdown eth0

#cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: down
Link Failure Count: 2
Permanent HW addr: 00:00:00:00:00:00

Slave Interface: eth1
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:00:00:00:00:01

Neste caso estamos colocando e mode=1, significa que, uma está odando e a outra fica em backend esperando uma falha no sinal para que essa assuma.

Caso estivessemos usando o mode=0, a placa juntaria as velocidades e teria altadisponibilidade, caso uma fique fora a outra continua rodando em sua velocidade nativa.

Para voltar as configurações, execute:

Comandos:

#ifconfig eth0 up

ou

#ifup eth0

Verificar o status
#cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:00:00:00:00:00

Slave Interface: eth1
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:00:00:00:00:01

Terminado os testes, a configuração foi feita com sucesso.

Agora é só alegria.

Espero ter ajudado com este breve tutorial.

Rodrigo Penna

LAST_UPDATED2