这几天一直在测试和学习HPUX 11.31操作系统的新功能,横向比较11.31和11.23以及11.11版本的HPUX操作系统的不同之处,不想今天在安腾平台(rx3600,操作系统版本11.23)的机器上发现一个问题,花了不少时间,最后在老大的帮助下解决。
首先要谈一下故障现象,在SAM的图形界面给一块网卡配IP地址时,系统弹出错误提示“device busy”,截图如下所示:
在此之前,这块网卡没有经过任何配置,“ifconfig lan3”查看网卡状态也是"up",那么为什么会出现这样的错误提示呢?之前在umount某个文件系统的时候,提示“device busy”倒是比较常见,那是因为和这个文件系统相关的某个进程存在。比如说这个文件系统是“/cdrom”,那么解决办法就是先用"fuser /cdrom"查看所占用的进程,然后通过"kill -9 process name"来杀掉这个进程,再umount,就没有什么问题了。但这次是网卡出现这种状况,一般来说网卡是不存在占用某个系统进程的,这就相对比较难处理一些。
这时想到了几个办法,第一,在命令行下对网卡进行关闭再打开,"ifconfig lan3 down",然后"ifconfig lan3 up",系统仍然提示"device busy";
第二,在/etc/rc.config.d/netconf文件中强制写入lan3的ip地址等
代码: 全选
信息,然后通过重启网络进程来尝试:
[console]#/sbin/init.d/net stop
#/sbin/init.d/net start[/console]
系统仍然提示"device busy";
第三,也是通用的做法,通过重启主机或者在单用户下重新对lan3进行ip地址的配置,仍然无果。
在这样骑虎难下的情况下,我自然而然又想到向老大求助,老大三下五除二就把这个问题给解决了,姜还是老的辣。看到问题被解决,我心花怒放,同时吸收了另一个知识点,那就是HPUX下的网卡聚合功能。
在问到老大是怎么解决的,老大在MSN上简单回答了四个字"网卡聚合"。这个东西引起了我的兴趣,因为之前从来没有做过这方面的工作,也无怪乎碰到这样的问题的时候显得力不从心。在HP官方主页上搜索了一下网卡聚合这方面的相关内容,才算是有了一点了解。
网卡聚合,英文全称是Auto-Port Aggregation,HP产品号是J4240AA,在11.31之前版本的操作系统中需要单独安装,并提供licence才能使用。在11.31版本操作系统中系统自带,全路径是#sam----->networking and communications-------->network interface------->a--Auto-Port Aggregation,在11.23版本操作系统中路径是#sam----->networking and communications----->AutoPort Aggregation,这里贴图表示说明:
[attachment=6]2.png[/attachment][attachment=5]3.png[/attachment]
网卡聚合功能主要目的是通过多网卡绑定来实现网卡冗余,对系统安全性有很高的保障。举个简单的例子,通过网卡聚合功能,将两块物理网卡lan1和lan2绑定到一起,在系统中显示为逻辑网卡lan900(默认从900开始显示),并配置一个ip地址。如果其中一块网卡发生故障,另一块网卡就会顶上,这就将故障发生的几率降低很多。配合HP的双机软件MC一起使用,威力成倍增长,安全性也得到了更大保障。具体实例后面会演示,下面先具体谈谈这次故障的解决过程。
前面提到了,在给未被使用的网卡lan3配置ip地址的时候,系统弹出"device busy"的报错信息,导致配置过程失败。这就是网卡聚合所造成的,因为物理网卡lan3这时被逻辑网卡lan900所占用,要强令对lan3进行配置那就不可能了。下面给出"lanscan“的信息如下:
[console][ECDSAP02@/]#lanscan
Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI
Path Address In# State NamePPA ID Type Support Mjr#
0/4/2/0 0x001A4B0944BC 1 UP lan1 snap1 1 ETHER Yes 119
0/5/2/0 0x001F290DE672 4 UP lan4 snap4 2 ETHER Yes 119
0/7/1/0/6/0 0x0022643450D6 5 UP lan5 snap5 3 ETHER Yes 119
0/7/1/0/6/1 0x0022643450D7 6 UP lan6 snap6 4 ETHER Yes 119
0/2/1/0 0x001F290DE632 0 UP lan0 snap0 5 ETHER Yes 119
0/4/2/1 0x001A4B0944BD 2 UP lan2 snap2 6 ETHER Yes 119
LinkAgg0 0x000000000000 900 UP lan900 snap900 10 ETHER Yes 119
LinkAgg1 0x000000000000 901 DOWN lan901 snap901 11 ETHER Yes 119
LinkAgg2 0x000000000000 902 DOWN lan902 snap902 12 ETHER Yes 119
LinkAgg3 0x000000000000 903 DOWN lan903 snap903 13 ETHER Yes 119
LinkAgg4 0x000000000000 904 DOWN lan904 snap904 14 ETHER Yes 119[/console]
通过这个命令,系统列出了使用中以及未使用的所有网卡信息,包括物理网卡和逻辑聚合网卡。这里可以看到一个有趣的现象,那就是物理网卡lan3在lanscan所列出来的网卡信息中消失了,但通过SAM又能看到lan3的客观存在。毫无疑问,物理网卡lan3的消失是因为被规划给了逻辑网卡lan900,所以在lanscan命令中显示不出来。
怎么解决呢?在了解聚合网卡的原理和功能之后,问题就比较好办了。这就需要在SAM中将逻辑网卡lan900设置为不可用,那么lan3就从lan900中释放出来了,请看下图:
[attachment=4]4.png[/attachment]
进入到#sam----->networking and communications----->AutoPort Aggregation中,选中要操作的逻辑网卡,比如这里是lan901,再选中目录菜单中Actions下的"Deconfigure Link Aggregate"这一项,就可以把逻辑网卡lan901给拆除掉了,拆除掉之后,lan901的状态显示为"down“,物理网卡也自动释放出来。这幅图片没有用到操作中那一幅,但实际操作过程都是一样的。操作完毕之后,再通过lanscan命令就可以看到结果了:
[console][ECDSAP02@/]#lanscan
Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI
Path Address In# State NamePPA ID Type Support Mjr#
0/4/2/0 0x001A4B0944BC 1 UP lan1 snap1 1 ETHER Yes 119
0/5/2/0 0x001F290DE672 4 UP lan4 snap4 2 ETHER Yes 119
0/7/1/0/6/0 0x0022643450D6 5 UP lan5 snap5 3 ETHER Yes 119
0/7/1/0/6/1 0x0022643450D7 6 UP lan6 snap6 4 ETHER Yes 119
0/2/1/0 0x001F290DE632 0 UP lan0 snap0 5 ETHER Yes 119
0/4/2/1 0x001A4B0944BD 2 UP lan2 snap2 6 ETHER Yes 119
0/5/1/0 0x001F290DE656 3 UP lan3 snap3 7 ETHER Yes 119
LinkAgg0 0x000000000000 900 DOWN lan900 snap900 10 ETHER Yes 119
LinkAgg1 0x000000000000 901 DOWN lan901 snap901 11 ETHER Yes 119
LinkAgg2 0x000000000000 902 DOWN lan902 snap902 12 ETHER Yes 119
LinkAgg3 0x000000000000 903 DOWN lan903 snap903 13 ETHER Yes 119
LinkAgg4 0x000000000000 904 DOWN lan904 snap904 14 ETHER Yes 119[/console]
效果已经很明显了,第一,逻辑网卡lan900状态显示为"down",第二,物理网卡lan3顺利释放出来,且状态为"up",通过linkloop命令可以进行验证:
[console][ECDSAP02@/]#linkloop -i 3 0x001F290DE656
Link connectivity to LAN station: 0x001F290DE656
-- OK[/console]
再到SAM里面进行配置,或者通过命令"ifconfig lan3 ip_address netmask"手工配置,抑或是在路由表文件/etc/rc.config.d/netconf中进行配置都行得通。到这里,故障就算解决了。
故障解决了,皆大欢喜。下面要简单说说有关网卡聚合的补充内容。
1,在11.23版本HPUX操作系统下,按照路径#sam----->networking and communications----->AutoPort Aggregation进入到图形界面中,可以查看能被用作聚合的所有可用的物理网卡,如下图所示:
[attachment=3]5.png[/attachment]
选中目录菜单List下的"Network Physical Ports that Support HP APA",所有物理网卡就罗列出来:
[attachment=2]6.png[/attachment]
在这里,硬件路径7/0/1/1/0/6/0和7/0/1/1/0/6/1对应的是一块双口网卡,已经被加入到逻辑网卡lan900中,剩下的7/0/2/1/0以及7/0/9/1/0作为未使用物理网卡,可以添加到逻辑网卡lan901当中。仔细观察图表中的"Config Mode“就可以看出哪些网卡被逻辑使用,而哪些网卡未被使用且可以添加到逻辑网卡中。
一旦添加成功,可以进入到lan901中具体查看它和物理网卡的对应关系,如下图:
[attachment=1]7.png[/attachment][attachment=0]8.png[/attachment]
至于具体步骤,通过图形界面SAM这个工具实现起来比较简单,因为我没有实际操作过,这里就不细说了,需要大家多实践、多操作。
通过这次故障处理过程,熟悉了HP下APA,也即网络聚合这一功能,也对故障应即能力提出了更高的要求和挑战,那就是对知识的把握要尽量做到多角度、全方位,这样处理起故障来才不容易进入死胡同,希望大家引以为戒。
全文完。