Pesquisa de site

Como instalar e configurar Network Bonding ou Teaming no RHEL/CentOS 7 - Parte 11


Quando um administrador de sistema deseja aumentar a largura de banda disponível e fornecer redundância e balanceamento de carga para transferências de dados, um recurso do kernel conhecido como ligação de rede permite realizar o trabalho de maneira econômica.

Leia mais sobre como aumentar ou limitar a largura de banda no Linux

Em palavras simples, ligação significa agregar duas ou mais interfaces de rede física (chamadas de escravos) em uma única interface lógica (chamada de mestre). Se uma NIC (placa de interface de rede) específica apresentar um problema, as comunicações não serão afetadas significativamente, desde que as outras permaneçam ativas.

Leia mais sobre ligação de rede em sistemas Linux aqui:

  1. Network Teaming ou NiC Bondin em RHEL/CentOS 6/5
  2. Ligação ou agrupamento de NIC de rede em sistemas baseados em Debian
  3. Como configurar o Network Bonding ou Teaming no Ubuntu

Habilitando e configurando Network Bonding ou Teaming

Por padrão, o módulo de kernel de ligação não está habilitado. Portanto, precisaremos carregá-lo e garantir que seja persistente durante as inicializações. Quando usado com a opção --first-time, modprobe nos alertará se o carregamento do módulo falhar:

modprobe --first-time bonding

O comando acima carregará o módulo de ligação para a sessão atual. Para garantir a persistência, crie um arquivo .conf dentro de /etc/modules-load.d com um nome descritivo, como /etc/modules-load .d/bonding.conf:

echo "# Load the bonding kernel module at boot" > /etc/modules-load.d/bonding.conf
echo "bonding" >> /etc/modules-load.d/bonding.conf

Agora reinicie o seu servidor e assim que ele reiniciar, certifique-se de que o módulo bonding seja carregado automaticamente, conforme visto na Fig. 1:

Neste artigo usaremos 3 interfaces (enp0s3, enp0s8 e enp0s9) para criar um vínculo, convenientemente denominado bond0.

Para criar bond0, podemos usar nmtui, a interface de texto para controlar o NetworkManager. Quando invocado sem argumentos na linha de comando, nmtui traz uma interface de texto que permite editar uma conexão existente, ativar uma conexão ou definir o nome do host do sistema.

Escolha Editar conexão –> Adicionar –> Vínculo conforme ilustrado na Fig. 2:

Na tela Edit Connection, adicione as interfaces escravas (enp0s3, enp0s8 e enp0s9 no nosso caso) e dê a eles um nome descritivo (perfil) (por exemplo, NIC #1, NIC #2 e NIC #3, respectivamente).

Além disso, você precisará definir um nome e um dispositivo para o vínculo (TecmintBond e bond0 na Fig. 3, respectivamente) e um endereço IP para bond0, insira um endereço de gateway e os IPs dos servidores DNS.

Observe que você não precisa inserir o endereço MAC de cada interface, pois nmtui fará isso para você. Você pode deixar todas as outras configurações como padrão. Veja a Fig. 3 para mais detalhes.

Quando terminar, vá até a parte inferior da tela e escolha OK (veja a Fig. 4):

E pronto. Agora você pode sair da interface de texto e retornar à linha de comando, onde habilitará a interface recém-criada usando o comando ip:

ip link set dev bond0 up

Depois disso, você pode ver que bond0 está UP e está atribuído a 192.168.0.200, como pode ser visto na Fig.

ip addr show bond0

Testando Network Bonding ou Teaming no Linux

Para verificar se bond0 realmente funciona, você pode executar ping em seu endereço IP de outra máquina ou, o que é ainda melhor, observar a tabela de interface do kernel em tempo real (bem, o tempo de atualização em segundos é dado pelo opção -n) para ver como o tráfego de rede é distribuído entre as três interfaces de rede, conforme mostrado na Fig.

A opção -d é usada para destacar alterações quando elas ocorrem:

watch -d -n1 netstat -i

É importante ressaltar que existem vários modos de colagem, cada um com suas características distintivas. Eles estão documentados na seção 4.5 do guia Red Hat Enterprise Linux 7 Network Administration. Dependendo de suas necessidades, você escolherá um ou outro.

Em nossa configuração atual, escolhemos o modo Round-robin (veja a Fig. 3), que garante que os pacotes sejam transmitidos começando com o primeiro escravo em ordem sequencial, terminando com o último escravo e começando com o primeiro escravo. primeiro novamente.

A alternativa Round-robin também é chamada de modo 0 e fornece balanceamento de carga e tolerância a falhas. Para alterar o modo de ligação, você pode usar nmtui conforme explicado anteriormente (veja também a Fig. 7):

Se mudarmos para Backup Ativo, seremos solicitados a escolher um escravo que será a única interface ativa em um determinado momento. Se tal cartão falhar, um dos escravos restantes tomará o seu lugar e se tornará ativo.

Vamos escolher enp0s3 para ser o escravo primário, colocar bond0 para baixo e para cima novamente, reiniciar a rede e exibir a tabela de interface do kernel (veja a Fig. 8).

Observe como as transferências de dados (TX-OK e RX-OK) agora são feitas apenas em enp0s3:

ip link set dev bond0 down
ip link set dev bond0 up
systemctl restart network

Alternativamente, você pode visualizar a ligação como o kernel a vê (veja a Fig. 9):

cat /proc/net/bonding/bond0

Resumo

Neste capítulo discutimos como instalar e configurar a ligação no Red Hat Enterprise Linux 7 (também funciona no CentOS 7 e no Fedora 22+ ) para aumentar a largura de banda junto com balanceamento de carga e redundância para transferências de dados.

Ao explorar outros modos de vínculo, você dominará os conceitos e práticas relacionados a este tópico da certificação.

Se você tiver dúvidas sobre este artigo ou sugestões para compartilhar com o resto da comunidade, sinta-se à vontade para nos informar usando o formulário de comentários abaixo.