Como configurar o Bonding para balanceamento e alta disponibilidade

Como configurar o Bonding para balanceamento e alta disponibilidade

O Bonding vem se tornando popular entre os usuários Linux, em especial, porque ele é módulo do Kernel Linux e que permite usar várias interfaces de rede em uma única interface lógica. Não é tão complicado de fazer, e por sinal, anda bem documentado, mas é bem complicado encontrar tutoriais claros que orientem como configurar o Bonding para balanceamento e alta disponibilidade.

Bonding: Modos e configuração

Para configurar várias interfaces de rede em um servidor para que haja balanceamento de carga e alta disponibilidade. Usaremos o pacote ifenslave no Debian, execute os comandos abaixo como ROOT:

apt-get install ifenslave

Depois da instalação é hora de decidir qual modelo de bond aplicar nas interfaces. Uns são fáceis de aplicar, já outras, necessitam de configurações especiais sobre os router e switch.

  • Mode=0 (balanceamento round-robin) – Neste modo é feito um balanceamento round-robin entre as interfaces slaves. Por exemplo. Se tivermos 2 interfaces slaves ao recebermos 2 pacotes o primeiro irá pela interface1 disponível e o segundo irá pela inteface2. Um terceiro pacote irá novamente pela interface1 e assim por diante. Este modo provê balanceamento de carga e tolerância a falhas.
  • Mode=1 (ativo-backup) – Neste modo as interfaces participantes do bond funcionarão no modo ativo/backup, ou seja, somente 1 interface física será usada. A outra somente será usada caso a primeira falhe. Este modo provê somente tolerância a falha.
  • Mode=2 (balanceamento XOR) – Neste modo o MAC de destino do pacote será associado a uma interface slave participante. Assim uma mesma conexão será usada pela mesma interface.
  • Mode=3 (broadcast) – Este modo é similar ao modo=0 porém o balanceamento é feito de forma aleatória. Provê somente tolerância a falha.5).
  • Mode=4 (802.3ad) – Este modo também é conhecido como DLA ( Dynamic Link Aggregation ). Ele agrupa interfaces com mesmas características de velocidade e configuração duplex. Neste modo é necessário um switch que suporte o padrão IEEE 802.3ad.
  • Mode=5 (balanceamento-tlb) – Também conhecido como Balanceamento de Carga com transmissão adaptativa ( Adaptative transmit load balance ). O tráfego de saída é balanceado de acordo com a carga e fila ( queue ) em cada interface slave.
  • Mode=6 (balanceamento-alb) – Conhecido como Balanceamento de carga adaptativa ( Adaptative load balance ). Inclui rlb+tlb ( receive load balance + transmitt load balance ). Neste modo o bond intercepta do pacote ARP respondido pelo servidor alterando o MAC de origem para o MAC da interface slave elegida.

Em meu caso, usei em um servidor de arquivos, logo minha opção foi a bond-mode 0

Usei duas interfaces de rede (eth0 e eth1). Para configurar o bond edite o arquivo interfaces:
vim /etc/networking/interfaces
Minha configuração ficou da seguinte forma:
 
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo #iface lo inet loopback auto bond0 iface bond0 inet static address 10.1.1.58 netmask 255.255.255.0 gateway 10.1.1.1 bond-mode 0 bond-slaves eth0 eth1 bond-miimon 100 bond-downdelay 400 bond-updelay 800

Considerações

  • bond-mode – vou usar o bond para balanceamento de carga e backup;
  • bond-slaves – São minhas interfaces que trabalharam no bond, se eu tivesse mais interfaces iria incluir junto a eth0 e eth1 separando-as apenas por espaço;
  • bond-miimon – Diz ao kernel que o link será inspecionado a cada 100 milissegundos (no meu caso);
  • bond-downdelay – É o tempo que o sistema irá aguardar antes de concluir que uma interface ativa caiu, assim, fazendo a outra assumir sozinha (no meu caso 400 milissegundos);
  • bond-updelay – ao contrário do downdelay.

Essas são as minhas configurações, mas podem ser alteradas ou acrescentadas novas opções conforme sua necessidade. Então, feitas as configurações basta reiniciar o servidor ou reiniciar o serviço de rede.

Testando a configuração Bond

Se até agora tudo ocorreu bem o comando ifconfig deve retornar algo assim:
Execute o comando abaixo como ROOT e aguarde as saídas no terminal:
ifconfig
Saída do terminal devem ser parecidas com as abaixo:
 
bond0 Link encap:Ethernet HWaddr 00:1f:d0:e2:06:93 inet addr:10.1.1.58 Bcast:10.1.1.255 Mask:255.255.255.0 inet6 addr: fe80::21f:d0ff:fee2:693/64 Scope:Link  UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1  RX packets:2393283 errors:0 dropped:0 overruns:0 frame:0  TX packets:32679 errors:0 dropped:0 overruns:0 carrier:0  collisions:0 txqueuelen:0  RX bytes:569079706 (542.7 MiB) TX bytes:2918345 (2.7 MiB) eth0 Link encap:Ethernet HWaddr 00:1f:d0:e2:06:93  UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1  RX packets:1196664 errors:0 dropped:0 overruns:0 frame:0  TX packets:16344 errors:0 dropped:0 overruns:0 carrier:0  collisions:0 txqueuelen:1000  RX bytes:284857293 (271.6 MiB) TX bytes:1438910 (1.3 MiB) eth1 Link encap:Ethernet HWaddr 00:1f:d0:e2:06:93  UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1  RX packets:1196619 errors:0 dropped:0 overruns:0 frame:0  TX packets:16335 errors:0 dropped:0 overruns:0 carrier:0  collisions:0 txqueuelen:1000  RX bytes:284222413 (271.0 MiB) TX bytes:1479435 (1.4 MiB) lo Link encap:Local Loopback  inet addr:127.0.0.1 Mask:255.0.0.0  inet6 addr: ::1/128 Scope:Host  UP LOOPBACK RUNNING MTU:65536 Metric:1  RX packets:1 errors:0 dropped:0 overruns:0 frame:0  TX packets:1 errors:0 dropped:0 overruns:0 carrier:0  collisions:0 txqueuelen:0  RX bytes:84 (84.0 B) TX bytes:84 (84.0 B)
É mostrado acima que o bond0 esta ativo (MASTER) com determinado IP, logo abaixo, mostra as interfaces eth0 e eth1 como SLAVE. Você pode consultar o arquivo bond0 para ver as especificações da sua configuração executando os comandos abaixo:

cat /proc/net/bonding/bond0[simterm]
Terá como saída algo como:
[terminal]Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 800
Down Delay (ms): 400
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:1f:d0:e2:06:93
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 5c:d9:98:4c:0e:25
Slave queue ID: 0[/terminal]
Um campo interessando nesse arquivo é o “Link Failure Count” que mostra as falhas que a interface teve.
Para testar se realmente seu bond esta funcionando, faça o seguinte:
Feita as configurações acima, reinicie seu servidor que subirá com as configurações do bond;
Instale o iptraf para monitorar as transmissões de pacote, execute o comando abaixo como ROOT:
apt-get install iptraf
Teste do iptraf
Baixe algum arquivo grande (como uma iso) usando o wget por exemplo
No momento que o arquivo esta sendo baixado, inicie o iptraf para que ele possa monitorar o download da iso.
Com o Iptraf ativo, vá em “IP Traffic monitor” -- “All interfaces”, você verá as duas interfaces dividindo a recepção do pacote. Concluimos que o modo balanceamento funciona.
Agora desconecte um o cabo de rede da eth0, você verá somente a eth1 funcionando, reconecte, para as duas balancear a carga, retire da eth1, você verá apenas a eth0 funcionando, reconecte. Portanto, o backup também funciona.
Esses teste foi realizado numa máquina física, não funcionou em máquina virtual. 
Você pode acompanhar o processo de desativação de interface em um outro tty, de o comando:
[simterm]tail -f /var/log/syslog

Neste artigo, você viu como configurar o Bonding para balanceamento e alta disponibilidade, esperamos que ter ajudado.

Artigo enviado por: Benedito Gonçalves

O post Como configurar o Bonding para balanceamento e alta disponibilidade apareceu primeiro em SempreUPdate.




Fonte: https://sempreupdate.com.br/como-configurar-bonding-para-balanceamento-alta-disponibilidade/
Como configurar o Bonding para balanceamento e alta disponibilidade Como configurar o Bonding para balanceamento e alta disponibilidade Reviewed by MeuSPY on dezembro 14, 2019 Rating: 5

Nenhum comentário:

Antes de deixar um comentário, acesse o site meuspy.com e veja como é fácil espionar celulares.

Tecnologia do Blogger.