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=none
Agora 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?