Ola,
Tenho duas placas de rede em 1 servidor, e preciso fazer com que quando uma delas caia, a outras assuma o seu ip. Isto na mesma máquina.
Tentei fazer com heartbeat mas nao tive mto sucesso
Abracos
Ola,
Tenho duas placas de rede em 1 servidor, e preciso fazer com que quando uma delas caia, a outras assuma o seu ip. Isto na mesma máquina.
Tentei fazer com heartbeat mas nao tive mto sucesso
Abracos
Ola,
Eu preciso fazer essa configuração, pois tenho de implementar uma redundancia de switchs. Quando 1 switch cair, a outra placa de rede assume, pois está ligada em outro switch.
Abraços, e fico no aguardo por um help :toim:
Edwin Floriani
Ola pessoal,
Estive dando uma olhada na documentacao do kernel, e achei o eql e o bonding drivers.
O eql acredito que nao tenha capacidade para trabalhar em gigabit.. acho que nao será eficiente.
Porém, achei o bonding driver, talvez este seja bem útil nesta tarefa. Estou ainda estudando ele, e verificando requisitos...
Terei de fazer essa estrutura funcionar em um RedHat 2.1 ES.
A figura ficaria mais ou menos assim:
Host 1 : com a eth0 ligada ao switch 1 e eth1 ligada ao switch 2.
Se alguem tiver mais idéias, favor postar...
obrigado desde já..
Bom, acredito ter chego a uma resposta final.
Esta noite farei um laboratório prático.
Deve-se habilitar o driver bonding como módulo no kernel. De preferencia ao kernel >= 2.4.12
Com este driver, pode-se até utilizar um load balance, através de trunk com switch.
No diretório
Documentation/networking encontra-se o arquivo bonding.txt e uma ferramenta importante e necessária para compilação. O ifenslave.c
Para instalar o ifenslave.c temos que ir no diretório Documentation/networking do código fonte do kernel e entrar com o comando:
# gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux/include ifenslave.c -o ifenslave
# cp ifenslave /sbin/ifenslave
Pronto, agora a primeira parte está pronta.
Porém, sobre a minha necessidade, coloquei uma placa de rede eth0 em um switch A e a eth1 no switch B.
Entrando no modo de alta disponibilidade, entro com o comando abaixo:
# modprobe bonding mode=1 miimon=100 downdelay=200 updelay=200
Assim, o modulo bonding antes compilado, está carregado.
Agora, podemos configurar um MAC ADDRESS que será utilizado pela interface bond0. Se nao configurarmos, ele assumirá o endereço mac do primeiro SLAVE.
# ip link set dev bond0 addr 00:80:c8:e7:ab:5c
# ip addr add 192.168.100.33/24 brd + dev bond0
# ip link set dev bond0 up
# ifenslave bond0 eth0 eth1
The interface eth0 is up, shutting it down it to enslave it.
The interface eth1 is up, shutting it down it to enslave it.
Pronto, agora a interface bond0 está trabalhando e configurada, para o caso que eu necessito.
Talvez há algumas alterações na tabela de roteamento para se fazer, como nao deixar a interface slave acima da master, para nao ocorrer equivocos com o ARP,
Se alguém tiver mais alguma idéia, favor contribuir.
Abraços
Estive um problema parecido com esse, gostaria de ter as duas placas de rede funcionando em paralelo, distribuindo a carga, e quando uma cair a outra assume, mas como não tive resposta não estou usando essa solução.
To usando o Redhat Enterprise Linux 3.0 em um servidor e no outro Redhat Enterprise Linux 4.0.
Att
Leonardo
O channel bonding pode ser configurado para executar failover, loadbalancing e failover+loadbalancing, consulte a documentaçãoPostado originalmente por leonardoss
Channel Bonding com failoverPostado originalmente por efloriani
Arquivo /etc/sysconfig/networking-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NETMASK=255.255.255.0
IPADDR=10.55.0.26
NETWORK=10.55.0.0
GATEWAY=10.55.0.9
Arquivo /etc/sysconfig/networking-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
Arquivo /etc/sysconfig/networking-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
Arquivo /etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=9 mode=1
alias eth1 3c59x
alias eth0 3c59x
Script para ativar rapidamente o link reserva no caso de falha do principal...
#!/bin/bash
ADMIN_EMAIL="[email protected]"
while true
do
sleep 10
if [ -n "`cat /proc/net/bonding/bond0|grep "MII Status: down"`" ] then
ping -c 10 10.55.0.9
mail -s "*** Link de eth0 com falha ***" $ADMIN_EMAIL
exit 0
fi
done
[]'s
Marcos Pitanga
Ola pessoal,
Como eu mesmo havia me respondido hehehehe, funcionou perfeitamente conforme eu havia escrito acima.
Somente seguir aqueles passos fáceis.
Documentação suficiente consta em seu código fonte do kernel em Documentation/networking/bonding.txt
Se alguem precisar de alguma ajuda neste tópico, manda uma noticia, que tenho prazer em ajudar...
Abracos
To com o mesmo problema, só que pra dividir(balance) e utilizar o failover em dois links adsl, mas não compreendi como minhas placas de rede pegam as informações via DHCP dos meus modems adsl, e o que eu vou setar no servidor como default gw para navegar?
Bom eu fiz a configuração como é passada e seto o default gw como o IP do bond0, mas não navega desse jeito. :?