华为交换机核心display命令详解:从设备健康到故障排查全指南
1. 开局一张嘴,排查全靠“show”:网络工程师的日常
如果你刚接触华为交换机,或者从其他厂商的设备转过来,面对命令行界面(CLI)那一堆命令,是不是有点无从下手?别慌,这几乎是每个网络工程师的必经之路。华为交换机的命令体系,尤其是信息查看类命令,设计得其实相当规整和强大。它们就像是设备的“体检报告”和“监控仪表盘”,是日常运维、故障排查、性能分析乃至割接变更前风险评估的基石。
我干了十几年网络,从早期的思科到现在的华为华三,一个深刻的体会是:命令记得再熟,不如理解其背后的逻辑和查看的意图。今天,我就抛开那些枯燥的命令手册,以一个老网工的角度,跟你聊聊华为交换机上那些最常用、最核心的“show”命令(华为体系里更多是display,但意思一样)。我们不止看命令怎么敲,更要搞清楚为什么要在这个时候看这个信息,以及怎么看懂它输出的海量内容。掌握了这些,你就能从“只会敲命令”进阶到“懂得看门道”。
2. 设备身份与健康状态:一切排查的起点
当你登录一台交换机,无论是通过Console线现场操作,还是远程Telnet/SSH,第一件事绝对不是急着去配什么业务。你得先搞清楚“我在哪”和“它是否健康”。这是所有后续操作的前提,忽略这一步,很可能在错误的方向上越走越远。
2.1 确认设备“身份证”:display device
这个命令是你的第一眼。输入display device,你会看到一个类似设备机框的视图。对于盒式交换机(比如常用的S5700, S6700系列),它通常只显示一个单板信息。但对于框式交换机(如CE12800系列),它会列出所有槽位和板卡。
关键看什么?
- 槽位状态(Slot):每个槽位是“Present”(在位)还是“Absent”(不在位)?这能帮你快速发现是否有板卡没插好或物理故障。
- 板卡类型(Board Type):确认设备型号是否与你预期的相符,特别是处理板、接口板。
- 状态(Status):最常见的状态是“Normal”。如果看到“Abnormal”(异常)、“Offline”(离线)或者“PowerOff”(断电),那就意味着硬件出了问题,需要立即关注。
- 注册状态(Register):通常是“Registered”。如果未注册,板卡可能无法正常工作。
一个实操心得:在大型机房,设备标签可能模糊或错误。display device输出的设备型号和软件版本,是确认设备身份最可靠的方式。我习惯在每次登录新设备时,先执行这个命令并截图存档,作为本次操作环境的基准记录。
2.2 检查核心“生命体征”:display health
设备硬件没问题,那它的“身体”是否健康呢?display health命令就是设备的全面体检报告。它会集中显示关键硬件的温度、电压、功率和风扇状态。
输出信息深度解读:
- 温度(Temperature):会列出CPU、板卡、光模块等关键部位的温度。旁边会有阈值(Threshold)和当前状态。状态分为“Normal”、“Warning”、“Minor”、“Major”、“Critical”。一旦出现“Warning”及以上,就需要分析是环境散热问题,还是设备负载过高,或是传感器故障。特别注意:光模块温度过高是光链路闪断的常见原因之一。
- 电压(Voltage):检查各路电压是否在正常范围内。电压异常通常指向电源模块故障或背板问题,比较严重。
- 风扇(Fan):显示每个风扇模块的转速和状态。如果某个风扇显示“Absent”或转速异常,会影响散热,长期可能导致设备过热保护关机。
- 功率(Power):显示电源模块的输入/输出功率、额定功率和余量。在做板卡扩容前,必须检查功率余量是否足够,否则可能导致新板卡无法上电或系统不稳定。
注意:
display health的信息非常关键,但有些型号的交换机可能需要特定的License或版本支持才能看到全部详情。如果命令报错或信息简略,可以尝试display environment或display power、display fan等更细化的命令。
2.3 查看系统“简历”与运行时间:display version与display clock
display version可能是你用得最多的命令之一。它汇总了设备的软件版本、硬件型号、启动时间、补丁信息等。
为什么这个命令如此重要?
- 故障排查:很多软件BUG是版本特定的。当你遇到一个诡异的问题,首先应该查版本,然后去官网搜索该版本的“版本说明书”或“已知问题列表”,很可能直接找到答案和解决方案。
- 功能确认:某些高级功能(如VXLAN、EVPN、NetStream)需要特定版本或License支持。
display version可以帮你快速确认。 - 运行稳定性:
display version输出的最后几行,通常包含“System uptime is”,这就是设备的连续运行时间。一台运行了几年的设备,如果突然出现奇怪问题,可能需要考虑是否因内存碎片、软件老化等原因,建议在业务低峰期重启一次。
display clock看起来简单,但时间同步是网络可管理性的基础。日志时间错乱、证书验证失败、与服务器对接异常,都可能源于时间不同步。务必确保设备时钟准确,并配置NTP(网络时间协议)同步。
3. 接口与链路:数据转发的高速公路
网络的核心是连通性,而连通性的物理体现就是接口和链路。这部分命令使用频率最高,也最需要仔细查看。
3.1 接口状态总览:display interface brief
这是最高效的接口状态速查表。命令输出一个表格,包含接口名、物理状态(PHY)、协议状态(Protocol)、入方向错误、出方向错误、描述等信息。
如何快速诊断?
- 物理状态(PHY)为 Down:这通常是物理层问题。检查网线/光纤是否插好、对端设备是否上电、本端或对端接口是否被
shutdown。如果是光口,检查光模块型号是否匹配、光纤是否插反、光衰是否在正常范围(可通过display transceiver interface查看)。 - 协议状态(Protocol)为 Down:物理层通了,但数据链路层没通。对于以太网口,这通常意味着自协商失败(速率、双工模式不匹配),或者有环路导致STP(生成树协议)将接口阻塞。需要检查两端的配置是否一致。
- 错误计数(Input errors/Output errors)持续增长:这是黄金指标!如果错误包(CRC、Giants、Runts等)数量在不断快速增加,说明链路上存在物理问题,如网线质量差、接口或光模块硬件故障、电磁干扰等。一个健康的链路,错误计数应该是极低且稳定的。
一个关键技巧:使用display interface brief | include up可以快速过滤出所有状态为Up的接口,在设备接口很多时非常有用。反之,include down可以快速定位故障接口。
3.2 接口深度探针:display interface [interface-type interface-number]
当你通过brief命令发现某个接口有异常(比如错误计数高、流量异常),就需要用这个命令进行“深度体检”。它会显示该接口极其详细的信息。
需要重点关注的数据域:
- Last 300 seconds input/output rate:过去5分钟的平均输入/输出速率。这是判断接口流量负载最直接的依据。对比接口的带宽,可以知道是否接近拥塞。
- Input/Output bandwidth utilization:输入/输出带宽利用率。百分比显示,更直观。
- 各种错误包计数明细:比
brief视图更详细,会列出CRC、Jabbers、Giants等具体类型的错误。CRC错误通常指向物理链路问题;Giants(巨帧)可能和MTU设置有关。 - 广播/组播/未知单播包计数:如果广播包数量异常高,可能网络中存在环路或病毒。
- 最后链路状态变化时间(Last link flapping):显示接口最后一次Up/Down变化的时间。如果这个时间频繁变化(即接口在“震荡”),是严重的网络不稳定信号,必须查明原因(可能是物理链路不稳定、STP计算、错误配置导致)。
3.3 光模块信息侦探:display transceiver interface
光口的问题,一半以上和光模块相关。这个命令可以查看光模块的厂商、型号、序列号、波长、以及最重要的——发送光功率(Tx Power)和接收光功率(Rx Power)。
如何判断光功率是否正常?
- 命令输出中会有“Current”值,即当前实测光功率。
- 同时会给出该型号光模块的“Alarm”阈值(报警阈值)和“Warn”阈值(警告阈值)。
- 正常情况:当前光功率应在“Alarm High”和“Alarm Low”之间,且远离“Warn”阈值。
- 常见问题:
- Rx Power 过低(接近或低于 Alarm Low):接收光太弱。原因可能是光纤过长、弯曲半径过小、连接器脏污、光纤类型不匹配(单模/多模混用)或对端发送光功率本身不足。
- Rx Power 过高(接近或高于 Alarm High):接收光太强,可能烧坏接收器。原因可能是光纤距离太短未加衰减器,或使用了放大器。
- Tx Power 异常:本端光模块发送部分可能故障。
提示:清洁光纤连接器是解决光口问题最简单有效的方法之一。在进行任何复杂配置排查前,如果光功率异常,先用专业的光纤清洁笔或清洁纸清洁两端光纤接头。
4. 网络层与路由:指挥数据包去向的大脑
接口是公路,路由就是交通指挥系统。数据包从哪个路口进,该从哪个路口出,全靠路由表来决定。
4.1 路由表总览:display ip routing-table
这是网络层排查的“总地图”。它显示了设备已知的所有IP路由路径。
看懂路由表条目:一条典型的路由条目包含:目标网络/掩码(Destination/Mask)、协议(Proto)、优先级(Pre)、开销(Cost)、下一跳(NextHop)、出接口(Interface)。
- 协议(Proto):这条路由是谁告诉交换机的?
Direct:直连路由。接口配了IP地址且物理Up,自动产生。最可靠。Static:静态路由。管理员手动配置。OSPF、IS-IS、BGP等:动态路由协议学习到的。RIP:较少见,但仍有使用。
- 优先级(Pre):当去往同一个目标网络有多条不同来源的路由时,优先级数值越小越优。直连路由优先级为0,静态路由通常为60,OSPF内部路由为10,BGP为255。设备会选择优先级最优的路由放入“活跃路由表”。
- 下一跳(NextHop)和出接口(Interface):数据包实际被转发到的下一个设备地址和本地出口。
排查路由问题的思路:
- 目标网络是否存在?
display ip routing-table x.x.x.x(x.x.x.x是目标IP)可以快速查询去往某个具体IP的路由。 - 路由是否最优?检查是否存在多条路径,当前活跃的是否是你期望的那一条。
- 下一跳是否可达?用
ping命令测试下一跳IP地址。如果下一跳不可达,即使路由表里有这条路由,数据包也发不出去。 - 出接口状态是否Up?路由指向的出口接口必须物理和协议状态都是Up的。
4.2 路由协议邻居关系:display ospf peer/display bgp peer
对于运行OSPF、BGP等动态路由协议的设备,邻居关系是路由学习的基础。邻居建立不起来,或者状态不稳定,路由自然学不到或时断时续。
display ospf peer brief:查看OSPF邻居的简要状态,重点关注“State”字段。Full状态才是正常的邻接状态。如果停留在“Init”、“2-Way”、“ExStart”等状态,说明邻居间Hello包、MTU、区域ID、认证等参数配置有误。display bgp peer:查看BGP邻居状态,重点关注“State”字段。Established状态才是正常的BGP会话状态。如果状态是“Active”、“Connect”、“Idle”等,说明TCP 179端口连接未能成功建立,需要检查IP可达性、ACL过滤、AS号配置等。
一个常见坑点:OSPF邻居在广播型网络中,需要选举DR/BDR。如果网络拓扑变更,但DR/BDR未重新选举,可能导致部分邻居无法达到Full状态。此时可以尝试在接口下执行ospf dr-priority 0让该接口不参与选举,或者重启OSPF进程来强制重新选举。
4.3 地址解析与网关:display arp与display ip interface brief
display arp查看ARP表,这是IP地址到MAC地址的映射表。如果ping不通同一个网段内的设备,但接口是Up的,很可能是ARP学习出了问题。检查ARP表里是否有目标IP对应的MAC条目。没有的话,可能是对方设备禁用了ARP响应,或者存在ARP欺骗攻击。
display ip interface brief专门查看三层接口(VLANIF接口、Loopback接口、物理三层口)的IP地址配置和状态。快速确认哪个接口承载着哪个网段,以及接口协议状态(Protocol Status)是否为Up。三层接口协议Down,通常是因为其对应的物理接口或VLAN不存在/未Up。
5. 交换与安全:数据转发的规则与安检
交换机除了路由,更基础的功能是二层交换。同时,安全策略是保障网络稳定的防线。
5.1 MAC地址表:display mac-address
这是交换机的“学习笔记”,记录了哪个MAC地址从哪个接口学习到的。对于排查二层环路、终端位置定位、非法接入等问题至关重要。
关键应用场景:
- 定位终端:已知一个用户的IP地址,可以先ARP找到其MAC地址,然后用
display mac-address | include xxxx-xxxx-xxxx查找这个MAC地址出现在哪个接口下,从而定位用户连接的物理端口。 - 检测环路:如果同一个MAC地址在短时间内频繁地在多个不同接口上出现(MAC地址漂移),这强烈暗示网络中存在二层环路。可以使用
display mac-address flapping命令专门查看MAC地址漂移记录。 - 检查MAC地址学习数量:
display mac-address summary可以查看每个接口学习的MAC地址数量。如果一个接入端口学习到了成百上千个MAC地址,那很可能其下联了一个未做端口隔离的小交换机,或者该端口被错误地配置成了Trunk/Hybrid类型且允许了大量VLAN通过。
5.2 VLAN信息:display vlan
查看设备上所有VLAN的创建情况以及每个VLAN包含了哪些接口。确认业务VLAN是否已正确创建,用户接入端口是否划分到了正确的VLAN中。display vlan [vlan-id]可以查看特定VLAN的详细信息。
5.3 端口安全与绑定:display port-security
如果配置了端口安全(如限制学习MAC数量、MAC地址绑定),这个命令可以查看端口的违规计数、绑定的MAC地址列表等。当用户无法上网时,如果其接口配置了端口安全,首先应该检查这里是否有违规记录。
5.4 ACL策略命中计数:display acl [acl-number]
访问控制列表(ACL)是常用的流量控制和安全工具。配置了ACL但感觉没生效?别急着改配置,先看看计数器。display acl命令会显示每条ACL规则匹配(命中)的数据包数量。
排查步骤:
- 查看你配置的ACL编号的命中计数。
- 如果计数为0,说明没有流量匹配这条规则。可能的原因有:流量根本就没经过应用了该ACL的接口;ACL规则的条件(源IP、目的IP、端口号)写错了,与实际流量不符;ACL的应用方向(inbound/outbound)搞反了。
- 如果计数在增加,说明ACL正在生效。你可以通过
reset acl counter [acl-number]清空计数器,然后重现问题流量,再次查看,就能明确知道是哪条规则命中了。
6. 系统日志与诊断信息:设备的“黑匣子”
当问题已经发生,或者设备行为异常时,日志和诊断信息是还原现场、定位根因的最重要依据。
6.1 实时日志:display logbuffer与terminal monitor
display logbuffer查看设备日志缓冲区中保存的历史日志信息。但更常用的是在排查问题时,开启terminal monitor和terminal trapping命令,将系统的实时日志信息打印到当前终端屏幕上。这样,当你进行某个操作(比如插拔一条线、重启一个服务)时,就能立刻看到系统产生了什么日志,对于定位一些瞬间发生的故障非常有效。
如何高效看日志?系统日志通常包含时间戳、模块名、级别、信息内容。
- 级别:从高到低有
emergency、alert、critical、error、warning、notice、informational、debugging。重点关注error和warning级别的信息。 - 模块名:指出是哪个功能模块报的错,比如
IFNET(接口网络)、ARP、OSPF、DEV(设备)等。 - 信息内容:这是关键,可能直接告诉你“链路协议Down”、“检测到CRC错误”、“邻居状态改变”、“电源故障”等。
6.2 诊断信息收集:display diagnostic-information
这是一个“万能”收集命令。当你需要向华为技术支持求助,或者自己想对设备进行一次全面的状态快照时,就使用这个命令。它会自动执行几十个常用的display命令(包括我们上面提到的几乎所有命令),并将结果保存到一个文本文件中。
使用技巧:
display diagnostic-information系统会提示你将信息保存到哪个文件(通常是flash:/diag_xxx.txt)。收集完成后,你可以用FTP/TFTP工具将这个文件下载到本地,里面包含了收集时刻设备的完整状态信息,是事后分析的宝贵资料。强烈建议:在每次进行重大变更(如升级软件、修改核心配置)之前,先执行一次display diagnostic-information并保存,作为变更前的基准状态。
6.3 进程状态与资源:display cpu-usage与display memory-usage
网络设备也是计算机,CPU和内存是其核心资源。如果设备出现响应缓慢、命令执行卡顿、协议收敛慢等问题,一定要检查资源使用率。
display cpu-usage:查看CPU利用率的历史记录(5秒、1分钟、5分钟平均值)和实时值。如果长期超过70%-80%,就需要警惕。display cpu-usage task可以查看具体哪个任务进程占用了最多的CPU。display memory-usage:查看内存利用率。交换机的内存主要用于存储路由表、MAC表、ACL表项、协议状态和报文缓冲。如果内存利用率持续高于90%,可能会导致新业务无法创建、设备性能下降甚至重启。
一个经验:在业务高峰期和低峰期分别收集display cpu-usage和display memory-usage的信息,了解设备的资源使用基线,这样当异常发生时,你才能一眼看出“不正常”在哪里。
掌握这些命令,并理解其输出背后的含义,你就拥有了独立运维华为交换机的基本能力。记住,命令是工具,解决问题的思路才是核心。每次排查时,带着“从全局到局部,从状态到原因”的思路,灵活组合使用这些命令,你就能像老中医一样,对网络设备的“健康状况”了然于胸。