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!