以下是本人在某工程中所应用到的、切实可行的案例。
(注意 solaris 的版本需要是 solaris 8 10/00后,包括该版本)
hme0 和hme1 两块物理网卡互为热备份的配置
其配置步骤如下:
1) 修改EPROM中local-mac-address?= 的参数值:
#eeprom local-mac-address?=true

2) 建立/etc/notrouter文档:
#touch /etc/notrouter

3) 建立/etc/init.d/rdisc文档,并将其和/etc/rc2.d/S70rdisc建立硬连接:
#cat >/etc/init.d/rdisc
case "$1" in
'start')
if [ -x /usr/bin/pgrep ]
then
/usr/bin/pgrep -x -u 0 in.rdisc >/dev/null 2>&1 || \
/usr/sbin/in.rdisc -f >/dev/msglog 2>&1
else
logger cannot execute /usr/bin/pgrep, in.rdisc not started.
fi
;;
'stop')
/usr/bin/pkill -x -u 0 in.rdisc
;;
*)
echo "Usage: $0 {start | stop}"
;;
esac
exit 0

最后按“CTRL D”组合键。

#ln /etc/init.d/rdisc /etc/rc2.d/S70rdisc

4) 编辑 /etc/hostname.hme0 和 /etc/hostname.hme1 文档:
双网卡热备份的配置 :
/etc/hostname.hme0的内容:
hostnameA
6.40.5.129 netmask broadcast group radius failover up \
addif 6.40.5.130 deprecated -failover netmask broadcast up

/etc/hostname.hme1的内容:
hostnameA-slave
6.40.5.131 netmask broadcast group radius failover up \
addif 6.40.5.132 deprecated -failover netmask broadcast up
对客户公开的IP地址为 6.40.5.129和6.40.5.131(6.40.5.130和 6.40.5.132不为应用程式所使用)。两个网卡的逻辑组名需要一致,这里组名是radius 。

当hme0链路出现问题时,hme1自动生成一个hme1:2的逻辑网卡,其IP地址为6.40.5.129,当hme0恢复正常后,hme1:2 自动撤掉,hme0使用原来的IP地址6.40.5.129。

同理,当hme1链路出现问题时,hme0:2接替hme1工作。
(注意,该处的任何的IP地址需要处于同一网段,)

5)配置文档 /etc/default/mpathd 中的内容基本上能够不用改变,假如想加快
failover的时间,能够将FAILURE_DETECTION_TIME的值设小点,

6) reboot机器 ,使参数生效
#init 6
重启后,可通过 ps 看到有/sbin/in.mpathd进程在后台运行。

race 回复于:2003-05-28 00:06:15
网线线怎么连?同时接到一台交换机上吗?

houji 回复于:2003-05-28 09:26:40
接到同一台交换机形成回路,不行。

南非蜘蛛 回复于:2003-05-28 09:33:09
机器的网线连接是怎么连的????

gztommyt 回复于:2003-05-28 09:47:52
能够连接在同一交换机上,此时的交换机能够用hub代替。

当连接在同一交换机时,只是起到网卡的冗余备份,此时还存在单点故障(交换机)。假如想消除单点故障,能够用两台交换机做HA (如cisco 两台cat6509间 起HSRP,sun上的hme0接cat6509-1,sun 的hme1 接cat6509-2)。

chly63 回复于:2003-05-28 09:48:25
对啊,能讲讲连接方面的实践吗?

fieryfox 回复于:2003-05-28 10:01:51
http://www.eng.auburn.edu/~doug/howtos/multipathing.html

随意江湖行 回复于:2003-05-28 10:44:45
[quote:de85c7a4fe="gztommyt"]6.40.5.129 netmask broadcast group radius failover up [/quote:de85c7a4fe]

其中的netmask和broadcast要用实际值替换吗?

gztommyt 回复于:2003-05-28 10:55:39
其中的netmask和broadcast不用实际值替换 " "就是表示让系统自动计算

只要在安装OS时, /etc/netmasks 配置正确就能够了。

段誉 回复于:2003-06-08 22:04:39
感觉有些问题,在此提出一个疑问,请楼主及大家解惑,感谢!

假如一台机器的话,那么,我对外公开的IP地址按照常规的方式来说,应该只有一个,而在这里却有两个,这是为什么?不能在这个group上做一个IP地址吗?

elk 回复于:2003-06-08 22:21:43
我的配的IPMP的工作记录

SunFire V480 Server
自带两个10/100/1000M自适应的网口,设备名分别是ce0和ce1;
在PCI槽中又扩了一块四口网卡X1034A,设备名分别是qfe0,qfe1,qfe2,qfe3;
用来做ipmp(IP MultiPath)的是ce0和qfe0,其中ce0为主网口,IP为220.192.216.x,提供对外服务;而qfe0配置为备用网口;
ce0和qfe0组成一个名为ipmp_group的NIC Group;
IP 192.168.0.1和192.168.0.2是为了检测用途的两个IP,用来测试所在网卡的状态;
/sbin/in.mpathd是检测、恢复、回复多个网卡的系统进程。

在/etc/rc2.d下创建如下启动脚本,并重新启动机器:
root@AAA1# more /etc/rc2.d/S99ipmp
ifconfig qfe0 plumb
ifconfig ce0 group ipmp_group
ifconfig qfe0 group ipmp_group
ifconfig ce0 addif 192.168.0.1 -failover deprecated up
ifconfig qfe0 192.168.0.2 -failover deprecated standby up

将主网口ce0的网线拔下,出现如下情况:
root@AAA1#
Dec 22 15:44:24 AAA1 genunix: WARNING: ce0: fault detected external to device; service degraded
Dec 22 15:44:24 AAA1 genunix: WARNING: ce0: xcvr addr:0x01 - link down
Dec 22 15:44:32 AAA1 in.mpathd[339]: NIC failure detected on ce0 of group ipmp_group
Dec 22 15:44:32 AAA1 in.mpathd[339]: Successfully failed over from NIC ce0 to NIC qfe0

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!