quarta-feira, 18 de fevereiro de 2009

Configuração de IPMP (Multipath - Failover virtual de interfaces de rede) - Solaris

O IPMP (Multipath - Failover virtual de interfaces de rede) é uma ferramenta que foi disponibilizada a partir do Solaris 8 para garantir uma maior disponibilidade da conexão de rede.

Importante:
Duas placas de rede ( caso das placas QUAD-GIGA será necessário 2, pois senão não terá redundância)
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 .

Exemplo:

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

É necessário a criação do grupo relacionadas as interfaceis de redes fisicas:

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.

Nenhum comentário: