Mantendo sistemas “alive” com uso de Bond’s
Posted by: Carlos Mangini in Linux, Network, Dicas, High AvailabilityRecentemente precisei colocar um grupo de servidores em alta disponibilidade (High availability) e resolvi usar um recurso conhecido como “bond”.
Fácil de implementar, tudo que você irá precisar são 2 placas de rede, 2 cabos de rede, sendo cada um destes conectado a 1 switch. Dessa forma, um dos switch’s ficando indisponível, conseguiremos manter o Servidor atendendo à demanda.
Vamos as configurações:
Precisamos manter as configurações das 2 interfaces de rede sem IP’s. Isso acontece, porque o bond vai assumir as duas placas de rede ele pode balancear a carga de dados entre elas, a opção default do bond, ou no caso, fazer a soma dos links, ou seja, se tivermos cada interface trabalhando a 1Gb o “throughput” do link será de 2Gb.
Abaixo a conf de cada eth:
/etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82571EB Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=none
HWADDR=”seu MAC ADDRESS”
IPV6ADDR=
IPV6PREFIX=
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no/etc/sysconfig/network-scripts/ifcfg-eth1
# Intel Corporation 82571EB Gigabit Ethernet Controller
DEVICE=eth1
BOOTPROTO=none
HWADDR=”seu MAC ADDRESS”
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
Além da configuração das 2 eth’s, precisamos criar um arquivo com as configurações do bond.
Iremos chamá-lo de /etc/sysconfig/network-scripts/ifcfg-bond0 e seu conteúdo será:
#bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.10.4.0
NETMASK=255.255.255.0
IPADDR=10.10.4.1
USERCTL=no
Agora, para subirmos a interface de bond, precisamos setar algumas variáveis no arquivo /etc/modprobe.conf
alias bond0 bonding
options bonding max_bonds=1 mode=0 miimon=100
- A primeira linha, irá criar um alias para a interface virtual bond0 baseado nas informações contidas no arquivo /etc/sysconfig/network-scripts/ifcfg-bond0.
- A segunda linha diz max_bonds=1 para termos um bond no servidor e mode=0 onde os links onde os links trabalharão em balanceamento roudrobin. Caso queira aumentar somar o link, esse valor deverá ser alterado.
Caso seu servidor precise mais de um bond (4 ou mais placas de rede), você precisará aumentar o valor da variável max_bonds para o numero de bonds necessários.
Pronto! As configurações estão feitas, apenas reinicie a rede e você acaba de ter um servidor rodando com alta disponibilidade dos links de rede.
Você pode testar o balanceamento olhando o arquivo /proc/net/bonding/bond0. Rode o comando abaixo e tire um dos cabos. Em tempo real ele lhe informará se o link está down ou up de cada interface agregada ao bond
Para mais informações, consulte:
/usr/share/doc/iputils-20020927/README.bonding

Entries (RSS)