Portál AbcLinuxu, 30. dubna 2025 15:24
IP MultiPathing (IPMP) slouží k zaručení dostupnosti IP sítě pro servery/stanice v případě výpadku některé síťové komponenty. Takový výpadek může být způsoben například HW problémem přímo připojeného switche, síťové karty nebo ethernetového kabelu.
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 interfaců 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ý interface.
IPMP podporuje jak režim failover, tak i load-balance. Na linuxu 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 interface, 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, protože metodu link-based nemám vyzkoušenu.
Tato metoda je podporována od Solaris verze 8. Všechny síťové interfacy 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.
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 interface e1000g0: 10.125.210.8
Testovací IP pro interface e1000g1: 10.125.210.9
IP adresa určená pro provoz: 10.125.210.10
Hostname (nodename): srv-01
Hostname pro interface e1000g0: srv-01-e1000g0
Hostname pro interface e1000g1: srv-01-e1000g1
Jméno skupiny: mpgrp-one
root@srv-01 # eeprom "local-mac-address?"
local-mac-address?=truePokud není proměnná nastavena na „true“, provedeme nastavení na požadovanou hodnotu:
root@srv-01 # eeprom "local-mac-address?=true"
# # 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
srv-01-e1000g0 netmask + broadcast + group mpgrp-one deprecated -failover up addif srv-01 netmask + broadcast + failover up
srv-01-e1000g1 netmask + broadcast + group mpgrp-one deprecated -failover standby up
root@srv-01 # init 6
Pokud chceme konfiguraci aktivovat bez restartu systému, provedeme něco jako (e1000g0 máme aktivní, e1000g1 je neaktivní):
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
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
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
root@srv-01 # if_mpadm -r e1000g0
Mar 28 17:18:11 srv-01 in.mpathd[167]: Successfully failed back to NIC e1000g0Další nastavení a informace
ifconfig
lze nálézt v …man ifconfig
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.