Linux Bonding: Alta Disponibilidade em Interfaces de Rede
25 de set. de 2018
Quando falamos de infraestrutura, um dos pré-requisitos é se pensar em alta disponibilidade, seja ela de:
- Máquinas Virtuais
- Storages
- Máquinas Físicas
- Links de Internet
E etc.
Nesse post vou explicar como pode-se configurar um Bonding no Linux.
O Bonding, é uma técnica utilizada para fazer a alta disponibilidade de interfaces de rede, sendo assim podemos ter duas ou mais interfaces vinculadas a um único IP e fazer um Load Balance através das interfaces de modo que o tráfego de rede fica dividido entre elas.
Todas as configurações abaixo foram feitas em um CentOS 7.
O primeiro passo é acessar o diretório: /etc/sysconfig/network-scripts/
Dentro dele vamos criar um arquivo assim: ifcfg-bond0
DEVICE=bond0 IPADDR=10.2.0.202 NETMASK=255.0.0.0 BOOTPROTO=none ONBOOT=yes BONDING_OPTS="mode=0 miimon=100"Agora dentro desse mesmo diretório temos os arquivos das placas de rede: - ifcfg-enp11s0 - ifcfg-enp21s0 Deixe os arquivos da seguinte forma:
DEVICE=enp11s0 ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none
DEVICE=enp21s0 ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=noneAgora use o comando nmcli con reload e veja que as interfaces já estão funcionando. Os modos de configuração do Bonding, podem ser encontrados diretamente na documentação do kernel do linux. Uma breve lista dos modos segue abaixo: - balance-rr or 0 - active-backup or 1 - balance-xor or 2 - broadcast or 3 - 802.3ad or 4 - balance-tlb or 5 - balance-alb or 6 Referência: https://www.kernel.org/doc/Documentation/networking/bonding.txt?