ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 非常好实用的关于solaris ipmp配置文档

非常好实用的关于solaris ipmp配置文档

原创 Linux操作系统 作者:wisdomone1 时间:2009-02-28 22:27:38 0 删除 编辑

解析IPMP

IP网络多路径(IP Network Multipathing)Solaris8下的一种新特性,旨在为主机侧提供网络可用性和提高吞吐量。

IPMP主要提供三种功能:(1)故障检测及故障切换(failover):当网络适配器(包括主机一侧或与之相连的网络设备一侧)发生故障时,IP Network Multipathing的故障检测特性提供了检测功能,自动把网络访问切换到备用网络适配器,真正消除了主机网络适配器的单点故障。(2)恢复检测(failback):当发生故障的网络适配器被修复后时,IP网络多路径的修理检测特性有能力执行检测,并自动把网络访问切换到原来提供服务的主要网络适配器。(3)出网负荷分布(outbound load spreading):高层应用可以向许多网络适配器分配不同目的地址的网络数据包,来提高网络吞吐量。

配置Ipmp的需求:

1.  操作系统solaris8 以上。

2.MAC地址应当不一样,在eeprom setenv local-mac-address? True;因为这样系统中网络接口才使用不同的物理地址(MAC地址)。

3.IPMP的数个网络接口指定一个组名(group name)。

4.为每个网络接口设定一个测试地址(test IP)。

5.网络中存在一台供测试的主机,这台主机通常是默认的路由。因为这台主机提供网络接口向外测试ICMP报文的回应,连续5ICMP报文没有回应,就认为该网络接口联接失败。

IPMP的关键进程是in.mpathd进程。该进程的启动shell是在/etc/rcS.d/ S30network.sh 而在/etc/default/mpathd文件中包含了与IPMP相关的参数设置。

root#more /etc/default/mpathd

#ident  "@(#)mpathd.dfl 1.1     00/01/03 SMI"

# Time taken by mpathd to detect a NIC failure in ms. The minimum time

# that can be specified is 100 ms.

FAILURE_DETECTION_TIME=10000

# Failback is enabled by default. To disable failback turn off this option

FAILBACK=yes

# By default only interfaces configured as part of multipathing groups

# are tracked. Turn off this option to track all network interfaces

# on the system

TRACK_INTERFACES_ONLY_WITH_GROUPS=yes

root#

在通常情况下,IPMPactive/standby active/active两种模式。下面介绍一下关于这两种模式的详细配置。

1,在线配置IPMP,用命令配置,reboot后配置失效。

实验环境:sun440,solaris 8,浮动IP=192.168.1.10(当然浮动的IP可以有两个或更多)。实现active/standby模式。

root@N440 # ifconfig -a

看到原来机器上的IP地址为192.168.1.10,现在进行把它加如IPMP的组里去。

root@N440 # ifconfig ce0 group ipmptest

为网络接口ce0 指定测试ip192.168.1.11,ce1的测试ip192.168.1.12,同时把网络接口ce1加入NAFOipmptest中。

root@N440 # ifconfig ce0 addif 192.168.1.11 deprecated -failover netmask 255.255.255.0 broadcast 192.168.1.255 up

root@N440 # ifconfig ce1 plumb 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up deprecated -failover standby up

然后用命令查看ipmptest组。

root@N440 # ifconfig -a

止此,在线的ipmp配置成功,你可以做一下网络切换。拔去ce0的网线,看看能否切换到ce1上。当然了,你也可以通过命令来测试切换。下面的这个命令把浮动ip切换到ce1上,并且ce0状态是offline

root@N440 # if_mpadm -d ce0

这时你可以用ifconfig –a看到failover了。然后你可以用命令再把ce0 ONLINE

root@N440 # if_mpadm -r ce0

2.修改配置文件,重新启动后生效。本例中,Ce0的浮动IP192.168.1.10,测试IP192.168.1.11,ce1的测试IP192.168.1.12

root@N440 # vi /etc/hostname.ce0

192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up addif 192.168.1.11 deprecated -failover netmask 255.255.255.0 broadcast 192.168.1.255 up

root@N440# vi /etc/hostname.ce1

192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up deprecated -failover standby up

3,关于负载均衡active/active模式。对于网络接口的负载问题,我总结了下,一个IP地址好象不能够捆绑在两块NIC上。而对于跑两个以上的应用,把浮动IP地址分配到两块NIC上,实现负载均衡和失败切换的功能。但是对于跑一个应用的程序如何实现负载均衡呢?由于IP地址对应用程序是透明的,所以只能从客户端实现访问哪块网络接口上的浮动IP,实现负载均衡。基于上面的那个例子,我们再给ce1加两个浮动的IP(192.168.1.9,192.168.1.8),把它配置成active的。

root@N440# vi /etc/hostname.ce1

192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up addif 192.168.1.12 deprecated -failover netmask 255.255.255.0 broadcast 192.168.1.255 up

root@N440# vi /etc/hostname.ce1:1

192.168.1.9

root@N440#reboot

这样重新启动后,浮动的IP192.168.1.8,192.168.1.9192.168.1.10)同在一个IPMP组——ipmptest中。

Troubleshooting:

1,最常见的问题就是对配置了IPMP的主机,Ping能通但是却Telnet不上,这是因为网络中没有ailve的路由被test到,导致in.mpathd进程认为两块网络接口都failed,至于能ping通,可能是因为in.mpathd进程不能控制到工作在网络层的ICMP报文。

2,从网关能ping通主机,但是从主机ping不通网关,导致IPMP组失败。这可能是因为网关上的安全策略,屏蔽了ICMP报文的reply

3,网络通畅,尽管可能失败切换能成功,但是应用程序出现网络断续的情况,该问题可能是由于OBP里面的local-mac-address?没有被设为true,这样两个网卡用同样的MAC地址,导致交换机里面的转发表里的端口—MAC对应关系错乱。                   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-558170/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2149
  • 访问量
    11815446