IPMP(IP Multipathing)是Solaris操作系统中重要特性,它将几个网络接口绑定在一起作为一个IPMP组,做到网络接口的冗余。即使其中的一个网络接口发生故障,IPMP上的业务IP不会丢失,会failover到其他接口上,避免了单点故障。IPMP可用于Oracle的RAC的公用网络或私有网络上。
基于link的IPMP(Link Based IPMP)
在Solaris中mpathd守护进程负责探测网络接口的故障与修复,它所用的参数配置文件为/etc/default/mpathd。IPMP根据mpathd探测网络接口故障的方法不同,可分为基于link的IPMP和基于probe的IPMP。
基于link的IPMP具有以下特点
–mpathd利用网络接口驱动程序进行探测(需要接口硬件支持)
–不需要额外的测试IP地址,节省IP资源
–默认可用(如果接口硬件支持)
在配置IPMP时,有两种模式:Active-Active模式和Active-Standby模式。在Active-Active模式中所有网络接口都要在线处于active状态;在Active-Standby模式中,至少有一个网络接口在线处于active状态,其他网络接口处于standby状态。查看IPMP组中各个网络接口的状态信息可用ipmpstat命令。
# ipmpstat
usage: ipmpstat [-n] [-o [-P]] -a|-g|-i|-p|-t
output modes: -a display IPMP data address information
-g display IPMP group information
-i display IPMP-related IP interface information
-p display IPMP probe information
-t display IPMP target information
options: -n display IP addresses numerically
-o display only the specified fields, in order
-P display using parsable output mode
在Solaris 11上配置Link Based IPMP示例
1. 设置NCP (network configuration profile) 为DefaultFixed.
# netadm enable -p ncp DefaultFixed 查看ncp是否为DefaultFixed. # netadm list TYPE PROFILE STATE ncp DefaultFixed online ncp Automatic disabled loc Automatic offline loc NoNet offline loc DefaultFixed online
2. 设置IPMP的transitive-probing属性为false
#svccfg -s svc:/network/ipmp setprop config/transitive-probing=false
#svcadm refresh svc:/network/ipmp:default
查看transitive-probing属性
# svccfg -s svc:/network/ipmp listprop config/transitive-probing
config/transitive-probing boolean false
# ipmpstat -p
ipmpstat: probe-based failure detection is disabled
3. Active-Active模式 (以4个网络接口为例)
创建IPMP组ipmp1
# ipadm create-ipmp ipmp1
创建网络接口net2, net3, net9和net10
#ipadm create-ip net2
#ipadm create-ip net3
#ipadm create-ip net9
#ipadm create-ip net10
添加网络接口到ipmp1组中
# ipadm add-ipmp -i net2 -i net3 -i net9 -i net10 ipmp1
查看ipmp1信息
# ipmpstat -g
GROUP GROUPNAME STATE FDT INTERFACES
ipmp1 ipmp1 ok -- net10 net9 net3 net2
# ipmpstat -i
INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE
net10 yes ipmp1 ------- up disabled ok
net9 yes ipmp1 ------- up disabled ok
net3 yes ipmp1 ------- up disabled ok
net2 yes ipmp1 --mbM-- up disabled ok
为ipmp1设置IP地址
# ipadm create-addr -T static -a 192.168.57.142/24 ipmp1/v4
# ipmpstat -aADDRESS STATE GROUP INBOUND OUTBOUND
192.168.57.142 up ipmp1 net2 net10 net9 net3 net2
查看 ipmp1的 IP地址
# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
ipmp1/v4 static ok 192.168.57.144/24
4. Active-Standby模式
继续上面的例子,把net9和net10转换为standby
# ipadm set-ifprop -p standby=on -m ip net9
# ipadm set-ifprop -p standby=on -m ip net10
# ipmpstat -i
INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE
net10 no ipmp1 is----- up disabled ok
net9 no ipmp1 is----- up disabled ok
net3 yes ipmp1 ------- up disabled ok
net2 yes ipmp1 --mbM-- up disabled ok
从ifconfig命令输出中可以看到net9和net10有STANDBY标志,处于inactive状态。
# ifconfig -a inet
ipmp1: flags=108001000843 mtu 1500 index 9
inet 192.168.57.142 netmask ffffff00 broadcast 192.168.57.255
groupname ipmp1
net2: flags=100001000843 mtu 1500 index 10
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname ipmp1
net3: flags=100001000843 mtu 1500 index 11
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname ipmp1
net9: flags=100061000843 mtu 1500 index 12
inet 0.0.0.0 netmask ff000000
groupname ipmp1
net10: flags=100061000843 mtu 1500 index 8
inet 0.0.0.0 netmask ff000000
groupname ipmp1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29960937/viewspace-1347901/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29960937/viewspace-1347901/