Curiosidades, dicas e notícias de Linux, Windows e muito mais!



Failover de placas de rede no Solaris (IPMP)

Publicado em 15/2/2008 | Autor Márcio


Atendendo a inúmeros pedidos.

O IPMP (Multipath – Failover virtual de interfaces de rede) é uma ferramenta utilizada a partir do Solaris 8 para garantir uma maior disponibilidade da conexão de rede.Para que tenhamos essa disponibilidade, é necessário ter pelo menos 2 interfaces de rede. Essas interfaces poderão ser de tipos diferentes como “hme” ou “eri” (usada na SunFire 280R), mas é essencial que tenham a mesma velocidade.

Requisitos:
Duas placas de rede
3 endereços IP (1 para alta disponibilidade, os outros 2 serão usados um em cada interface)
Os 3 endereços IP devem ser cadastrados no arquivo /etc/hosts com . Por exemplo:

10.0.0.1 serv
10.0.0.2 serv_int1
10.0.0.3 serv_int2
# IP que será colocado em “alta disponibilidade”
# IP interno da primeira interface
# IP interno da segunda interface

Essas interfaces deverão fazer parte de um mesmo grupo.

Usando como exemplo as interfaces hme0 e hme1 e o grupo PUB, temos:

Estando a interface hme0 já configurada como o IP de “alta disponibilidade”, digite os comandos:

# ifconfig hme0 group pub
# ifconfig hme0 addif serv_int1 netmask + -failover deprecated up

Obs.: após esse comando será criado uma interface virtual hme0:1 com o ip de serv_int1. O ip de serv já deverá estar na hme0.

Para a interface standby (hme1) digite os comandos:

# ifconfig hme1 plumb *(habilita a placa)
# ifconfig hme1 group pub
# ifconfig hme1 serv_int2 netmask + -failover deprecated standby up

Obs.: Os ip´s de serv e serv_int1 estarão na interface hme0 e o ip de serv_int2 estará na interface hme1. Caso a interface serv_int1 cair, o ip de serv passará para a interface hme1:1.
Quando o problema for sanado, o IP voltará automaticamente para a interface default.

Exemplo de ifconfig -a após a configuração do failover:


ce0: flags=9040843 mtu 1500 index 2
inet 10.0.0.1 netmask fffff000 broadcast 10.4.15.255
groupname pub
ether 0:3:ba:3:ca:b2

ce0:1: flags=1000843 mtu 1500 index 2
inet 10.0.0.2 netmask fffff000 broadcast 10.4.15.255

ce1: flags=69040843 mtu 1500 index 3
inet 10.0.0.3 netmask fffff000 broadcast 10.4.15.255
groupname pub
ether 0:3:ba:3:ca:7a

Obs.: Uma das interfaces fica em modo STANDBY, INACTIVE, ela será ativada e receberá o ip de alta disponibilidade caso ocorra algum problema na interface principal.

/var/adm/messages quando ocorre a troca:

Feb 15 16:24:14 amon genunix: WARNING: ce0: fault detected external to device; service degraded
Feb 15 16:24:14 amon genunix: WARNING: ce0: xcvr addr:0×01 – link down
Feb 15 16:24:14 amon in.mpathd[118]: The link has gone down on ce0
Feb 15 16:24:14 amon in.mpathd[118]: NIC failure detected on ce0 of group pub
Feb 15 16:24:14 amon in.mpathd[118]: Successfully failed over from NIC ce0 to NIC ce1

As configurações via linha de comando são esquecidas após um reboot do servidor, para preservar essas configurações no boot, edite /etc/hostname.hme0 e /etc/hostname.hme1.
Por exemplo:

/etc/hostname.hme0
serv_int1 netmask + broadcast + group pub deprecated -failover up
addif serv netmask + broadcast + failover up

/etc/hostname.hme1
serv_int2 netmask + broadcast + group pub deprecated -failover standby up

Depois reinicie o servidor e verifique se está funcionando corretamente retirando um cabo de rede de cada vez.

Dica: Se sua rede estiver com escassez de endereços IP, configure os IPs de serv_int1 e serv_int2 com IPs de outra rede, por exemplo 192.168.0.1 e 192.168.0.2, enquanto que serv fica com o IP 10.0.0.1 . Você perderá a funcionalidade de pingar em cada placa individualmente, mas economizará 2 IPs.

Comments

2 Responses to “Failover de placas de rede no Solaris (IPMP)”

  1. Vicente via Rec6
    February 15th, 2008 @ 13:00
    Blog do Vicente ? Failover de placas de rede no Solaris (IPMP)…

    leia mais……

  2. Usu?rio vicentesloboda no diHITT
    February 15th, 2008 @ 13:01
    Failover de placas de rede no Solaris (IPMP)…

    leia mais……

Deixe um comentário!





CommentLuv Enabled
  • Assine nossa lista: