+ Responder ao Tópico



  1. #1
    efloriani
    Visitante

    Padrão Duas Placas de rede em 1 Servidor.

    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

  2. #2
    efloriani
    Visitante

    Padrão O motivo é redundancia de switchs

    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

  3. #3
    efloriani
    Visitante

    Padrão Bonding Driver é a solução??

    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á..

  4. #4
    efloriani
    Visitante

    Padrão Resposta.

    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

  5. #5

    Padrão Duas Placas de rede em 1 Servidor.

    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

  6. #6

    Padrão Duas Placas de rede em 1 Servidor.

    Citação Postado originalmente por leonardoss
    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ção

  7. #7

    Padrão Re: Duas Placas de rede em 1 Servidor.

    Citação Postado originalmente por efloriani
    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
    Channel Bonding com failover

    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

  8. #8
    efloriani
    Visitante

    Padrão Sucesso

    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

  9. #9
    levalim
    Visitante

    Padrão Re: Duas Placas de rede em 1 Servidor.

    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. :?