«

»

jul 29

Imprimir Post

Unindo placas de rede com BOND

0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×

bond2Algumas pessoas simplesmente tem medo de tentar, veja, tentar configurar BOND, uma funcionalidade muito bacana e que qualquer um que inicie no mundo Linux, pode fazer sem maiores problemas.

Para esse post, foi utilizado o CentOS como distro, lembrando que, na maioria das distros, o padrão é sempre o mesmo, o que muda na realidade, são os nomes dos scripts ou até mesmo dos dos arquivos de configurações das interfaces de rede.

Para realizar essa configuração, é necessário ter no mínimo, duas interfaces de rede, pois vamos utilizar elas para que, caso uma apresente problema, o servidor não fique indisponível.

No CentOS o diretório onde ficam as configurações de placas de rede é o “/etc/sysconfig/network-scripts”, nesse diretório, temos os arquivos de configuração de rede, geralmente iniciados por “ifcfg-ethX”, onde o “X” é o número da interface de rede, sempre iniciando em 0 depois 1 e assim por diante. Dessa forma, se tivermos duas interfaces de rede, vamos ter “ifcfg-eth0” e “ifcfg-eth1”.

Importante, para configurar BOND, precisamos ter um arquivo que será o principal e que controlará as placas de rede, esse arquivo terá o nome de ifcgf-bond0 e deve ser criado no diretório informado acima, veja abaixo o caminho absoluto do arquivo, bem como o conteúdo dele.

Important!

vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=10.0.0.16
NETMASK=255.0.0.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no
BONDING_OPTS=”mode=0 miimon=100″

Um dos parâmetros mais importantes desse arquivo é o BONDING_OPTS, que nos permite informar, qual o parâmetro que deve ser utilizado para o caso de ter uma placa com problema.

Esse parâmetro pode ter as seguintes opções:

  • balance-rr or 0 — Define uma política round-robin para tolerância a falhas e balanceamento de carga.
  • active-backup or 1 — Define uma política de backup ativo para tolerância a falhas. Transmissões são recebidas e enviadas através da primeira interface escravo ligado disponível. Outra interface escravo ligada só será utilizada se a interface escrava ligada ativa falhar.
  • balance-xor or 2 — Define uma política (ou-exclusivo) para tolerância a falhas e balanceamento de carga XOR. Usando este método, a interface combina o endereço MAC da solicitação de entrada com o endereço MAC de um dos NICs de escravos.
  • broadcast or 3 — Define uma política de difusão para tolerância a falhas. Todas as transmissões são enviados em todas as interfaces escravas.
  • 802.3ad or 4 — Define um IEEE 802.3ad ligação dinâmica política de agregação. Cria grupos de agregação que compartilham a mesma velocidade e configurações duplex.
  • balance-tlb or 5 — O tráfego de saída é distribuído de acordo com a carga atual em cada interface escrava.
  • balance-alb or 6 — Balanceamento de carga recebido é conseguido através de uma negociação ARP.

     

Os outros parâmetros do arquivo, são de simples interpretações, como por exemplo “IPADDR” que é o parâmetro que colocamos o endereço IP.

Uma vez criado esse arquivo, precisamos informar ao Kernel que vamos trabalhar com BOND e para isso, o arquivo “/etc/modprobe.d/bonding.conf” deve ser criado com o seguinte conteúdo:

Important!

vi /etc/modprobe.d/bonding.conf

alias bond0 bonding

 

Obs.: Esse arquivo não existe e realmente deve ser criado com o conteúdo acima. Nesse exemplo, temos apenas uma interface BOUD, mas se tivéssemos mais, deveria ser adicionado nesse arquivo.

OK, uma vez feito essa configuração, precisamos informar os arquivos reais das interfaces de rede, aqueles, “ifcfg-ethX” que eles são dependentes do BOND criado e o conteúdo dos arquivos fica da seguinte maneira:

Important!

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet
ONBOOT=yes
MASTER=bond0
SLAVE=yes
NM_CONTROLLED=no
BOOTPROTO=none

Important!

vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

TYPE=Ethernet
ONBOOT=yes
MASTER=bond0
SLAVE=yes
NM_CONTROLLED=no
BOOTPROTO=none

 

Arquivo simples também e com parâmetros que são de fácil interpretação.

Pronto, BOND configurado. Claro que agora precisa reiniciar a rede para que tenha efeito e isso deve ser realizado da seguinte maneira:

service network restart

Após o serviço iniciar, rode o comando ifconfig que o resultado deverá ser algo como mostrado abaixo.

bond0   Link encap:Ethernet  Endereço de HW C8:1F:66:B9:60:FE  

             inet end.: 10.0.0.16  Bcast:10.0.0.255  Masc:255.0.0.0

             endereço inet6: fe80::ca1f:66ff:feb9:60fe/64 Escopo:Link

             UP BROADCASTRUNNING MASTER MULTICAST  MTU:1500  Métrica:1

             RX packets:213079 errors:0 dropped:0 overruns:0 frame:0

             TX packets:41961 errors:0 dropped:0 overruns:0 carrier:0

             colisões:0 txqueuelen:0 

            RX bytes:131153460 (125.0 MiB)  TX bytes:3558971 (3.3 MiB)

eth0    Link encap:Ethernet  Endereço de HW C8:1F:66:B9:60:FE  

           UP BROADCASTRUNNING SLAVE MULTICAST  MTU:1500  Métrica:1

           RX packets:44349 errors:0 dropped:0 overruns:0 frame:0

           TX packets:10494 errors:0 dropped:0 overruns:0 carrier:0

           colisões:0 txqueuelen:1000 

           RX bytes:23666738 (22.5 MiB)  TX bytes:889743 (868.8 KiB)

           IRQ:35 

eth1    Link encap:Ethernet  Endereço de HW C8:1F:66:B9:60:FE  

           UP BROADCASTRUNNING SLAVE MULTICAST  MTU:1500  Métrica:1

           RX packets:64336 errors:0 dropped:0 overruns:0 frame:0

           TX packets:10490 errors:0 dropped:0 overruns:0 carrier:0

           colisões:0 txqueuelen:1000 

           RX bytes:44135798 (42.0 MiB)  TX bytes:888264 (867.4 KiB)

           IRQ:38 

Até o próximo POST.

Abraços …

Jardel.

 

 

Jardel Fernandes Fernandes da Costa (15 Posts)


0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×

Sobre o autor

Jardel Fernandes Fernandes da Costa

Link permanente para este artigo: http://comunidade.aw2net.com.br/unindo-placas-de-rede-com-bond/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×