Como Configurar Alta Disponibilidade de Interfaces de Rede com Bonding no Linux

Como Configurar Alta Disponibilidade de Interfaces de Rede com Bonding no Linux

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 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
  • 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?

CURSOSCONSULTORIA    CONTATO

Anterior Entenda o poder do SystemD e Journald no gerenciamento de sistemas Linux
Próxima 4Linux busca talentos: vagas para DBA, Analista Linux e Trainee Python

About author

Alisson Machado
Alisson Machado 22 posts

Alisson Menezes, atua como Gerente de T.I, 9 anos de experiência em projetos FOSS (Free and Open Source Software) e Python. Formação em Análise de Sistemas pela FMU e cursando MBA em BigData pela FIA, possui certificações LPI1, LPI2 e SUSE CLA, LPI DevOps e Exim - DevOps Professional. Autor dos cursos Python Fundamentals, Python for Sysadmins, MongoDB for Developers/DBAs, DevSecOps, Co-Autor do Infraestrutura Ágil e Docker da 4Linux e palestrantes em eventos como FISL, TDC e Python Brasil. É entusiasta das mais diversas áreas em T.I como Segurança, Bancos de dados NoSQL, DataScience mas tem como foco DevOps e Automação.

View all posts by this author →

Você pode gostar também

Monitoramento TI

Novidades do PostgreSQL 16

Com o lançamento da nova versão 16 do PostgreSQL, teremos melhorias significativas em seu desempenho, com notáveis aprimoramentos na paralelização de consultas, carregamento em massa de dados e replicação lógica.

DevOps

Kubernetes – Configurando um Cluster Multi-Master

Neste post vamos configurar um cluster Kuberentes Multi-Master apenas com a sua máquina. Mas antes de falarmos sobre um cluster em Kubernetes trabalhando em modo Multi-Master… Uma palavra sobre containers…

Infraestrutura TI

Descubra o poder do comando sed para manipulação de texto no Linux

No vasto universo de linha de comando, existem ferramentas extremamente versáteis e poderosas que podem ser utilizadas em diversas situações, e dentre dezenas de ferramentas, podemos facilmente destacar o sed,