运维人最怕网络出故障。先抛开一些闲话不谈,网络故障从大体上来讲,有下面几种情况:
硬件问题
既然网络设备是一台机器,就有可能出现“疲劳”,从而导致各种各样的硬件故障出现。硬件的故障,一般有下面几种情况。
第一种是造成整机停机的故障。
停机属于重大安全问题,造成停机的原因一般有以下几点:
(1)设备电源模块损坏,常见于一些单电源的盒式交换机;
(2)设备在搬移过程中,因为碰撞,摔打造成的主板芯片受损;
(3)一些使用超年限的设备,在重启的时候出现问题,起不来了;
(4)因为机房环境不好,设备温度过高造成“假死”的现象。
设备停机属于重大安全问题,也是特别紧急的事件,需要马上更换设备。即使是假死,都要把备机准备好了再操作,防止假死的设备重启时真的挂了。
第二种是设备的模块、板卡损坏,不至于造成停机,但是引起了单点故障的隐患或者部分网络业务中断。
比如,Cisco 6509一般都会配备两款引擎板卡,如果其中一块引擎板卡损坏了,不至于造成该交换机停机,也不会导致网络业务中断。但如果不及时换掉这块坏引擎板,就造成了这台Cisco 6509单引擎运行,这肯定就是单点故障的隐患。如果这台Cisco 6509坏掉的是一块48口的千兆电口板呢?那肯定连接在这块电口板上的业务全部中断了。这种情况,就看根据整体的网络业务有没有受到影响来确定紧急程度了。对于客户来说,坏一个板卡也是需要立即更换的。
第三种情况是,设备上某个小部件损坏。
比如说一台H3C 12508上插了6块电源,其中坏了那么一块;再或者是4个风扇,停了其中一个。这种情况看起来对这台H3C 12508的正常运转暂时没啥影响,在处理的时候,也不是什么紧急事件了。那这种情况,就要给客户说明情况,根据要求来决定什么时候进行处理。
软件问题
软件问题一般分为操作系统自身BUG,还有人为因素导致的操作系统拷贝不完整造成的一系列问题。操作系统本来是一类软件,或多或少都会有一些BUG,可能体现在一些功能上面。
比较经典的一个BUG就是H3C R6600系列,出厂自带的操作系统Comware v7.1.059, ESS 0322,在配置BFD和BGP联动的时候(对端是Cisco),BFD就不生效,需要升级为v7.1.064, Release 7618才可以。这也就是为什么说官网经常对一些设备的操作系统软件提供一些新版本的软件包或者补丁包。
人为因素则是因为在对设备做软件升级的时候,因为对设备操作系统软件.bin文件拷贝不完整导致设备重启以后就起不来了。导致这个问题的原因一般都是在拷贝软件到设备的Flash里时,没有仔细核对拷贝后文件的大小。
实施造成的问题
实施造成故障,这也算是一种比较常见的问题。网络割接实施本来就有风险。如果是操作人员经验不足或者技艺不精,对割接的风险评估不足,前期的测试准备不充分,就有可能在网络割接的时候不仅没能对网络完成优化改造,反而带来一些新的故障。
一个很典型的例子,就是思科的设备换成华为或者H3C。比如拿一个拓扑图来说:
第一个风险点就是私有协议要改通用协议。
之前的Cisco 4503E使用的网关冗余协议是HSRP,换成华为就要换成VRRP。在这里要注意的就是,HSRP的组播地址是224.0.0.2,VRRP的组播地址是224.0.0.18,这里是HSRP和VRRP最关键的一个差异点。所以,HSRP改VRRP,首先就要检查Cisco 4503E上的所有VLAN接口(SVI),看看VLAN接口下是否挂了ACL,这个ACL下必须增加放行224.0.0.18。
随后的风险点,就是这个链路捆绑。
你可能会说,LACP是通用协议,华为的设备也支持啊!但是你要知道的是,思科的链路捆绑是Port-Channel,华为是Eth-Trunk。华为Eth-Trunk捆绑的默认是手工模式,也不是LACP,所以,华为这边需要在配置Eth-Trunk的时候,加一条“mode lacp”命令。
还有呢,就是路由协议这边的风险了。
可能你也会认为,OSPF是通用协议,静态路由更是几乎所有三层设备都能支持,又能有什么问题呢?
在这个例子中,两台Cisco 4503E通过OSPF收取路由,再利用静态路由进行分流。对于Cisco设备来说,OSPF路由的AD值是110,静态路由的AD值默认是1。而华为设备,OSPF内部路由Pref值(类似于Cisco的AD值)是10,OSPF外部路由的Pref值是150,静态路由的Pref值是60。所以这里可以看见:对于Cisco设备,静态路由优先级高于OSPF;而华为设备,OSPF内部路由的优先级却高于静态路由。所以为了防止思科换华为以后分流失效,所以在华为设备上配置静态路由时,将pref值强行改为1。
如果是多路由协议混跑的骨干网中,思科设备换华为或H3C后,有时候也要在把华为或H3C上,把路由的Prefer值强行改为与Cisco一致。
当然,这里说的风险都是从宏观上就能发现的一些风险,还有一些小细节也可能是风险点。比如光模块能兼容Cisco,但不一定能兼容华为这些问题,能考虑到哪些就考虑到哪些,考虑得越细致,割接时出问题的概率就越低。
用户造成的问题
这里说的用户指的都是一些非专业用户。很多运维人员都说:不怕这个用户一点都不懂,就怕这个用户是个似懂不懂的。有时候在办公室里面悄悄接一个HUB,然后这个HUB上接满了网线,一不小心就把网线的两头就插在同一个HUB上造成环路了;还有就是有些人不知道从哪里听来的“旁门左道”,网速稍微一慢就乱改IP,认为一改IP上网就快了,结果搞得IP冲突。还有就是乱接U盘,乱下载软件,整一些ARP相关的病毒,弄得一个网段内的主机全部都掉线。
设计缺陷导致的故障
设计的缺陷分为以下几种情况:
IP地址规划问题。
任何一个企业,网络规模都是从小到大的,在最初的时候,因为用户数量少,IP地址充足,所以在规划IP地址的时候都比较“奔放”。到了后期,用户数量逐渐增加,业务分类也越来越多,IP地址的管理也会变得越来越复杂。如果在最初的时候就没有对IP地址有一个较好的规划,就很容易在后期导致IP不够用或者是把两段IP地址规划到了不同的站点里面。
一些人员技艺不精的问题。
比如设计二层网络的时候,让生成树的计算拓扑图变得比较复杂,使得STP无法收敛;还有就是OSPF的区域规划欠考虑,路由协议也是随心所欲的用,设备上重分发很多,这些都会大大提升网络中出故障的概率。