Jedná se tedy o tzv. failover řešení, které se používá zejména pro HA řešení. IPMP využívá více síťových rozhraní s různými IP adresami, které jsou sloučeny do jedné skupiny a nakonfigurovány do stejné sítě. V případě výpadku dojde k automatickému překonfigurování IP adresy na jiné rozhraní.
(mé poznámky z roku 2008)
IPMP podporuje jak režim failover, tak i load-balance. Na GNU/Linux existuje alternativa „bonding.“ Na Solarisu existují dvě možné konfigurace IPMP: probe-based a link-based. Metoda probe-based využívá tzv. testovacích adres k monitorování stavu síťového rozhraní, naproti tomu metoda link-based využívá ke zjištění stavu jaderný ovladač.
V následujícím popisu bude uvedena metoda probe-based.
IPMP probe-based
Tato metoda je podporována od Solaris verze 8. Všechny síťové rozhraní musí mít unikátní MAC adresy a tzv. testovací IP adresy. Tyto adresy jsou ve stavu „deprecated,“ tzn. nejsou použity pro běžný provoz.
Konfigurace IPMP probe-based
Následující řádky jsou platné pro server SunFire T2000, nicméně pro ostatní systémy stačí zaměnit e1000g0 nebo e1000g1 za dostupné (hme0, ce0, bge1, …).
Pro nastavení budeme používat následující hodnoty:
Testovací IP pro rozhraní e1000g0: 10.125.210.8
Testovací IP pro rozhraní e1000g1: 10.125.210.9
IP adresa určená pro provoz: 10.125.210.10
Hostname (nodename): srv-01
Hostname pro rozhraní e1000g0: srv-01-e1000g0
Hostname pro rozhraní e1000g1: srv-01-e1000g1
Jméno skupiny: mpgrp-one
Každé jednotlivé rozhraní je samozřejmě připojeno do jiného switche.
- Zjistíme nastavení unikátnosti MAC adres na síťových kartách (pouze architektura SPARC)
1 2 |
root@srv-01 # eeprom "local-mac-address?" local-mac-address?=true |
Pokud není proměnná nastavena na „true“, provedeme nastavení na požadovanou hodnotu:
1 |
root@srv-01 # eeprom "local-mac-address?=true" |
- Přidáme IP a hostname do souboru /etc/inet/hosts
1 2 3 4 5 6 7 |
# # Internet host table # 127.0.0.1 localhost 10.125.210.10 srv-01 loghost 10.125.210.8 srv-01-e1000g0 10.125.210.9 srv-01-e1000g1 |
- Provedeme konfiguraci rozhraní e1000g0 v souboru /etc/hostname.e1000g0
1 |
srv-01-e1000g0 netmask + broadcast + group mpgrp-one deprecated -failover up addif srv-01 netmask + broadcast + failover up |
- Provedeme konfiguraci rozhraní e1000g1 v souboru /etc/hostname.e1000g1
1 |
srv-01-e1000g1 netmask + broadcast + group mpgrp-one deprecated -failover standby up |
- Restartujeme systém
1 |
root@srv-01 # init 6 |
Pokud chceme konfiguraci aktivovat bez restartu systému, provedeme (e1000g0 máme aktivní, e1000g1 je neaktivní):
1 2 |
root@srv-01 # ifconfig e1000g1 plumb srv-01-e1000g1 netmask + broadcast + group mpgrp-one deprecated -failover standby up root@srv-01 # ifconfig e1000g0 srv-01-e1000g0 netmask + broadcast + group mpgrp-one deprecated -failover up addif srv-01 netmask + broadcast + failover up |
Test konfigurace
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
root@srv-01 # ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 e1000g0: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 10.125.210.8 netmask ffffff00 broadcast 10.125.210.255 groupname mpgrp-one ether 0:14:4f:94:ca:2a e1000g0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.125.210.10 netmask ffffff00 broadcast 10.125.210.255 e1000g1: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 3 inet 10.125.210.9 netmask ffffff00 broadcast 10.125.210.255 groupname mpgrp-one ether 0:14:4f:94:ca:2b |
- Detach interface
1 2 3 |
root@srv-01 # if_mpadm -d e1000g0 Mar 28 17:17:54 srv-01 in.mpathd[167]: Successfully failed over from NIC e1000g0 to NIC e1000g1 |
- Reattach interface
1 2 3 |
root@srv-01 # if_mpadm -r e1000g0 Mar 28 17:18:11 srv-01 in.mpathd[167]: Successfully failed back to NIC e1000g0 |
Další nastavení a informace
Nastavení dalších vlastností lze v konfiguračním souboru /etc/default/mpathd. Popis jednotlivých parametrů příkazu ifconfig
lze nálézt v …man ifconfig
.
Pingback: Nastavení IP MultiPathing v režimu failover na OS Solaris – link-based | brichacek.net