Buenas pessoal!

Neste post vou explicar como fazemos bonding, ou seja, como fazemos várias interfaces de rede ( eths ) trabalharem como apenas uma ou como fazer interfaces de backup.

Obs: este post está focado para sistemas operacionais baseados em RedHat 😉

Vamos ao conceito:

Bonding vem de encontro a necessidade dos ambientes computacionais de aumentar o throughput da rede e trazer maior disponibilidade dos servidores.

Existem 7 modos de trabalho no bonding:

  • Modo 0 (balanceamento) : envia os pacotes ( no modo Round-robin ), de forma sequencial, pelas interfaces de rede configurada. Este modo traz traz tolerância a falhas e balanceamento de carga entre as interfaces. Obs: cuidado ao usar este modo, pois o switch pode se perder ao receber pacotes com um mesmo MAC em diferentes portas! ( passei por um problema assim esses dias ;( )
  • Modo 1 (backup) : Apenas uma interface fica ativa no bonding por vez. Se a interface cair, o bond seleciona outra interface para trabalhar.
  • Modo 2 (balanceamento xor) : baseando-se no MAC de origem, mantém uma mesma NIC escrava recebendo os pacotes. Este modo traz tolerância a falhas e balanceamento de carga entre as interfaces.
  • Modo 3 (broadcast) [ modo v1d4l0k4 ] : manda os pacotes para todas as NICs associadas. Este modo traz traz tolerância a falhas.
  • Modo 4 (Dynamic link aggregation) : Segue o padrão 802.3ad. Mas o switch tem que suportar este padrão também!
  • Modo 5 (balanceamento tlb) : Adaptive transmit load balancing, ou seja, os pacotes e as NICs são usadas conforme sua carga. ( as NICs compartilham o MAC )
  • Modo 6 (balanceamento alb) : É a soma de Adaptive transmit load balancing e Adaptive receive load balancing.

COMO CONFIGURAR UMA INTERFACE BOND?

Primeiramente vamos configurar os módulos para reconhecer a interface nova:

Observe que colocamos uma linha informando que existe uma interface de bonding chamada bond0 e na outra linha configuramos o seu modo de trabalho ( mode=1 ).
O parâmetro miimon=100 significa o tempo ( em millis ) de verificação do estado do link.

Agora que nossa máquina já conhece uma interface bond, vamos configurar uma.

Crie um arquivo chamado /etc/sysconfig/network-scripts/ifcfg-bond0 e nele coloque o seguinte conteúdo:

Depois disso, reconfigure as interfaces de rede que você deseja deixar como escravas e deixe-as parecido com:

Pronto 🙂

COMO FICOU?

Agora temos uma interface bond0 com duas escravas!