简介:EMC DS5100B光纤交换机使用维护手册是一份面向数据中心和企业网络SAN运维工程师的实用资料,主要内容覆盖交换机操作准备、日常配置、状态监控与故障排除。压缩包内仅含1个docx文档,大小约392KB,内容紧凑,适合作为现场调试和运维备查手册。手册详细说明了管理主机需安装JRE 1.4.1、控制台网段需与交换机管理口相同(默认10.77.77.77),并通过Zone admin界面创建Zone、划分端口、保存并启用配置的操作流程;同时针对交换机左右LED灯的不同颜色与闪烁频率,逐一给出回路、不协调、禁用、错误等状态的判断依据和推荐处理动作。此外还附有EMC服务电话以及华建高科技术人员的联系方式,便于遇到疑难问题时快速求助。目前已有1043人学习下载,对于需要独立完成DS5100B部署调试与日常维护的工程师具有直接参考价值。
1. DS5100B 不是新设备,但不少人低估了它的维护门槛
EMC DS5100B 本质上是 Brocade 代工的一台小光纤交换机,贴了 EMC 的标,在 SAN 环境里给服务器和存储阵列之间做 FC 链路交换。这类设备二手市场一大把,价格不到一台千兆交换机的十分之一,但当生产的活干,就必须有人真正会用它:从串口进 CLI、划 Zone、看温度和端口错包、升级固件,一直到密码丢失时的恢复手段。下面按接手一台陌生 DS5100B 的完整流程,把使用和维护动作过一遍。适合刚接手 SAN 环境的小型机房运维,也适合想把这台机器纳入监控体系的存储工程师。
2. 把 DS5100B 从纸面变成在线设备:串口初始化与网络配置
拿到一台不知道前任怎么配过的 DS5100B,第一件事不是接光纤,而是把管理通道打通。很多机器在闲鱼上流转过好几手,管理 IP、admin 密码、Zone 配置都被改得面目全非,网口大概率连不上。这时候串口是唯一的救命入口,先把基础信息读出来再谈别的。
2.1 先分清 DS5100B 的两种管理口:串口为主,管理网口为辅
设备前面板通常有一个 RJ-45 样式的串口和一个管理以太网口,部分批次还会带一个 DB9 转接头。串口是 Brocade FOS 系统自带的 Console 通道,不依赖 IP,只要设备能开机就能进。管理网口则需要一个可用的 IP 地址,而这台机器上家可能设了 172.16 段的地址,也可能根本没配,跨网段试错效率太低。
我的习惯是:到手第一件事,笔记本插 USB 转串口线,连上设备 Console 口,波特率按 9600、8 数据位、无校验、1 停止位来配置。这是 FOS 初始化阶段最常用的串口参数,绝大多数 Brocade 贴牌机出厂都是这个值。如果按 9600 进不去,再试 19200,但那是极少数改了系统参数的情况。网口以后用来日常维护,串口则留在机柜后面,作为永远绕不开的物理后门。
提示:串口线一定要用真正的 USB 转串口芯片,部分国产免驱线在 Linux 下会识别成 /dev/ttyUSB0 但数据乱码,换线比调参更有效。
2.2 串口进 CLI:最快确认型号、微码和端口状态的一组命令
连接串口后,终端里敲回车,系统会提示输入登录凭据。Brocade 系交换机出厂默认账号是 admin,密码是 password。如果这台 DS5100B 被设置过密码策略,第一次登录可能强制要求改密,别跳过这一步,否则后续 SSH 和配置管理都会受限制。登录成功后,先用一组最基础的命令把设备底细摸清楚。
# Linux 下用 minicom 接管串口,-b 指定波特率 minicom -D /dev/ttyUSB0 -b 9600 # 登录后依次执行 switchshow version switchstatusswitchshow 输出里最关键的是每端口的当前状态:No_Module 代表该口没插光模块,Online 代表链路正常,Offline 代表端口被禁用或对端设备没起来。同时能读到这台交换机的 Domain ID 和交换机名字,这两个信息后面划 Zone 时要用。version 显示 FOS 微码版本号,固件升级前必须确认它。switchstatus 给一个整体健康度,后面巡检脚本也用得到。
登录失败时先看是不是密码被改过,再考虑用第 6 章的方法恢复 root 密码。如果串口完全没输出,多半是波特率不对或线有问题,先把线换掉再排查设备。注意串口参数里 8N1 的含义:8 个数据位、无校验位、1 个停止位,这是串口通信的固定格式,终端软件里要按这个设置,否则屏幕上全是乱码。
2.3 配管理 IP 与 SNMP:让交换机从「能开」变成「可管」
串口能进只是第一步,日常巡检、升级固件、接入监控系统都需要一个稳定的管理 IP。用 ipaddrset 命令交互式配置,系统会依次询问管理口 IPv4 地址、子网掩码、网关。这里最容易被忽略的是网关项,很多旧交换机上家只配了 IP 和掩码,网关留空,导致你只能在同网段访问,跨网段 SSH 死活不通。
# 串口或 SSH 登录后执行,按提示逐项输入 ipaddrset # Ethernet IPv4 Address: 192.168.10.50 # Ethernet Subnetmask: 255.255.255.0 # Gateway: 192.168.10.1配完 IP 后,同一终端里再执行 ipaddrshow 确认参数已经写入,然后用笔记本 ping 一下新地址。能通就说明管理网口工作正常,后续可以拔掉串口线改用 SSH 维护。SNMP 方面,FOS 自带 snmpconfig 命令,交互式设置 SNMPv1/v2 的 community 字符串和 trap 接收地址。存储运维通常会把交换机和存储阵列一起纳入 Zabbix 或自研监控,SNMP v2 的 public/private 社区字符串够用,但如果机房安全要求高,建议直接配 SNMPv3 的用户名和认证密码。
管理 IP 配好后,记得把这台设备的 MAC 地址记下来,在 DHCP 服务器上做绑定或者干脆用静态 IP 归档到资产表里。别指望靠 DNS 记忆,机房设备一多,交换机 IP 漂移的事情太常见了。
3. 划分 Zone:先弄懂 WWN 与别名,再动 cfg 保存
Zoning 是 FC 交换机最核心的功能,也是 DS5100B 这类设备存在的意义。划 Zone 的本质是做访问控制:决定哪台服务器的 HBA 端口能看到存储阵列的哪个端口。这一步做错了,轻则业务主机找不到盘,重则两台服务器的操作系统互相识别到对方的启动盘,直接启动错系统。
3.1 为什么 Zone 是 SAN 的访问边界:从「所有口互通」到「谁允许与谁说话」
交换机出厂默认状态下,所有端口是互通的一个大广播域。服务器只要接入这个 fabric,就能扫描到同一交换机上所有存储端口,Windows 磁盘管理器里会冒出一堆不属于自己的 LUN。生产环境绝对不能这么干,所以必须划 Zone,把访问权限限制在明确的两端之间。
Zone 的成员有两种写法:端口物理成员和 WWN 成员。端口物理成员用 Domain ID 加端口号表示,比如 "1,0" 指这台交换机 Domain ID 为 1 的 0 号端口。WWN 成员则用设备全球唯一名来标识,服务器 HBA 卡和存储前端端口都有自己的 WWN,硬编码在硬件里。两种写法各有利弊:端口成员在设备更换时不需要改 Zone,但线插错口就失效;WWN 成员更稳定,但初次配置需要准确采集所有设备的 WWN。我倾向生产环境用 WWN,原因很简单——机房理线的人不一定懂 Zone 配置,按 WWN 划的 Zone 就算光纤插错口,也不会导致访问越界。
不能把 Zone 和存储侧的 LUN Masking 混为一谈。Zone 管的是「谁能连到哪个存储端口」,LUN Masking 管的是「连上之后能看到哪些 LUN」。两层都要配,少一层都不安全。
3.2 用 alicreate 建别名:不写 WWN 裸串的维护方式
WWN 是一串 16 位十六进制数,比 IPv6 地址还难记。直接拿裸 WWN 写 Zone,配置可读性极差。FOS 的别名机制就是给 WWN 起个名字,后面所有 Zone 配置引用别名,维护时只需要记住语义化的名称。
# 数据库服务器的 HBA 端口 alicreate "HBA_DB1", "10:00:00:00:c9:66:ad:81" # 存储阵列的前端端口 alicreate "STO_SP_A0", "50:06:0e:80:06:52:cc:01" # 查看当前所有别名 cfgshow采集服务器 HBA 的 WWN,在 Linux 下最简单的方式是读 sysfs 接口,不需要装额外工具:
# 在服务器上执行,输出该主机所有 FC HBA 端口的 WWN cat /sys/class/fc_host/host*/port_name输出结果是 0x 开头的十六进制,去掉 0x 后按两个字符一组加冒号分隔,就得到 FOS 里的 WWN 格式。存储阵列那边的端口 WWN,在存储管理界面能看到,或者直接在交换机上执行 nsall,它会显示当前 fabric 里所有已注册的设备 WWN,比跑去找存储管理员要快。别名命名我习惯用「角色_用途_序号」三段式,比如 HBA_DB1 表示数据库服务器第一块 HBA,STO_SP_A0 表示存储控制器 A 的 0 号前端端口。别名里不要加空格和中文,跨版本兼容性更好。
3.3 cfgcreate 与 cfgenable:改配置前先想好后两步
Zone 建好之后要放进配置集里并激活,这一步是新手最容易卡住的地方。FOS 的 Zone 配置有三层结构:别名(alias)、Zone、配置集(Configuration)。别名是 WWN 的名字,Zone 是若干成员的集合,配置集是多条 Zone 的打包。只有配置集被激活后,Zone 规则才会真正下发到交换机转发引擎。
# 创建配置集,把两条 Zone 装进去 cfgcreate "ZoneCfg_A", "HBA_DB1;STO_SP_A0" # 保存到持久化存储,否则重启丢失 cfgsave # 激活配置,这一步才是真正生效 cfgenable "ZoneCfg_A" # 确认当前生效的配置 cfgshow三个命令缺一不可,顺序也不能乱。cfgcreate 只是把配置写进内存的草稿区,reboot 就没了;cfgsave 把草稿写入非易失存储,但系统还在跑旧的 Zone 规则;cfgenable 才让新配置成为 running 配置。改 Zone 前先用 cfgshow 看一眼当前 enable 的配置叫什么名字,改出问题要回退时,直接用 cfgenable 把旧配置切回去就行。
| 命令 | 作用 | 生效范围 | 失败后果 |
|---|---|---|---|
| cfgshow | 查看别名、Zone、配置集定义与激活状态 | 只读 | 无 |
| cfgcreate | 创建或修改配置集定义 | 仅内存草稿 | 重启丢失 |
| cfgsave | 保存配置到持久化存储 | 已保存未生效 | 无业务影响 |
| cfgenable | 激活配置集 | 立即下发 | 链路重协商,可能中断 IO |
| cfgdisable | 停用 Zone 配置(回到全通状态) | 立即生效 | 访问边界消失,风险极高 |
在现网环境做 Zone 变更,操作窗口最好选在业务低峰,因为 cfgenable 会让所有涉及端口的链路重新协商,短则几秒,长则几十秒,正在跑的数据库连接可能断开重连。我一般会在配置变更前通知业务方,然后按「cfgshow → 备份当前 cfg 内容 → 执行变更 → 确认 switchshow 端口状态恢复 Online」的流程走。改完别急着关终端,观察两三分钟,确认没有端口 flapping 再离开。
4. 日常巡检与固件维护:让交换机安稳跑过下一个五年
DS5100B 在机房里跑五年八年是常态,真正把它用坏的很少,都是维护不到位拖出问题的。日常巡检比故障处理更值钱,因为光纤交换机故障前通常有迹可循:端口错包增长、温度偏高、电源告警。把这些指标纳入周期性检查,绝大多数故障都能提前发现。
4.1 巡检先看这三项:温度、端口错包、电源状态
很多运维巡检只看端口状态 Online 就当没事,这远远不够。端口状态只是链路层通了,但光纤脏了、光模块老化了,链路会带着错包继续跑,业务数据重传率越来越高,应用表现变慢,存储侧还查不出明显报错。所以巡检要把目光放在更底层的指标上。
# 交换机侧只需这几条命令,就能覆盖 90% 的硬件健康检查 switchshow portstatsshow 0 tempshow psushowswitchshow 看端口状态有没有漂移,重点看有没有端口在 Online 与 Offline 之间反复跳。portstatsshow 后面跟端口号,输出里的 CRC 错误和 Link Reset 两列是关键——CRC 错误只要持续增长,优先怀疑光纤头和光模块,而不是交换机的配置。tempshow 显示主板当前温度,机房里一般落在 30 到 60 摄氏度之间,具体数值看机房环境,注意别把它当绝对标准,关键是看趋势,同一个端口同一季节温度逐月往上涨,就该清理设备积灰了。psushow 看两个电源模块的状态,显示 OK 就正常,出现 FAIL 或 Absent 说明冗余已经丢了。
如果是多台交换机,这些命令完全可以脚本化,定期抓一次输出存文本,用 diff 比较变化。我习惯每周跑一次巡检脚本,把交换机名、时间戳、温度、电源状态、每个端口的 CRC 错包数攒成一份纯文本日志。不需要额外装监控 agent,只要有 SSH 就能抓,脚本本身也简单。
#!/bin/bash # 每周巡检脚本,输出追加到日志文件 ssh admin@192.168.10.50 "switchshow; tempshow; psushow" >> switch_check_$(date +%Y%m%d).log脚本里直接写密码的方式不推荐,生产环境给这台交换机单独配置 SSH 密钥,管理网段再限制来源地址,比明文密码安全得多。另外注意:脚本抓取时交换机不要同时在做 Zone 变更或固件升级,否则输出不完整,日志对比会出误报。
4.2 固件升级前:确认版本基线、备份配置、准备好回退路径
固件升级是维护工作里风险最高的一项,尤其对 DS5100B 这种有年头的老设备。FOS 的固件升级通过 firmwareDownload 命令完成,从 FTP 或 SCP 服务器拉取镜像文件后自动写入系统。但「有新版本就升」是个典型翻车思路,老硬件跑最新微码有时反而出现兼容性问题。
# 先看当前版本,再决定升级路径 firmwareshow # 升级前务必备份配置,参数含义:-h FTP 服务器地址,-p 端口,-u 用户名,-f 备份文件名 configupload -p 21 -h 192.168.1.100 -u backup_user -f ds5100b_config.txtconfigupload 执行完,去 FTP 服务器上确认备份文件存在且大小非零,这一步别省。备份文件里包含 Zone 配置、别名、IP 设置、SNMP 配置,升级过程中如果出现意外需要恢复出厂,没有这份备份就得手动重建所有 Zone,工作量翻好几倍。
升级时机选业务窗口期,不要在白天高峰期做。firmwaredownload 过程中交换机会重启并中断 fabric 内链路,所有连接这台交换机的服务器和存储都会瞬断,影响范围是整个 SAN 网络。跨大版本升级时尤其注意:DS5100B 这类设备有时不支持直接从远古版本跳到最新版,需要先升到中间版本,再升目标版本。升级前在支持文档里查一下版本升级路径,或者直接联系存储厂商技术支持确认,别拿生产环境试错。
4.3 日志与支持保存(supportshow):出问题时的第一手现场
交换机出故障时,工程师最容易犯的错误是急着重启设备。一重启,内存里的事件日志、错误计数、端口状态全部清空,现场就被破坏了。正确顺序是先收集证据,再决定怎么处理。
# 收集系统诊断信息包 supportshow # 查看设备错误日志 errdumpsupportshow 会把系统版本、配置、事件日志、端口状态、路由表、trace 信息打包汇总,是给存储厂商支持人员定位问题的标准材料。errdump 侧重于严重错误,能看到出错的时间戳和错误码。设备还没完全瘫痪时,先执行这两条命令把输出保存下来,再考虑重启或者拔插光模块。很多光纤交换机的问题最后要靠日志里的时间戳和错误码才能定位,所以「先收集、后处理」这六个字,是维护 FC 交换机的底线。设备日志默认存在交换机 Flash 里,空间有限,重要操作后记得把 supportshow 的输出转存到外部服务器,避免日志被后续事件覆盖。
5. DS5100B 常见问题排查:5 个典型翻车点的现象、原因与对策
这一章把我见过最多的五个坑按「现象 → 原因 → 解决」拆开写。每一条都是有人在生产环境踩过的,有的是配置顺序问题,有的是硬件老化问题,共同点是现象都很有迷惑性,不拆开看容易误判方向。
5.1 配置保存了但「不变」:忘了 cfgenable,Zone 没进 running
现象:执行了 cfgcreate 和 cfgsave,cfgshow 也能看到新 Zone 的定义,但服务器就是看不到存储端的端口,业务主机扫描不到新 LUN。
原因:只做了创建和保存,没有执行 cfgenable。cfgsave 只是把配置写进非易失存储,不会改变当前生效的 Zone 规则。很多新手把 cfgsave 当成「保存即生效」,实际上 FOS 里这两步是严格分离的。
解决:执行 cfgenable "配置集名" 激活新配置,然后立即执行 cfgshow 确认激活状态。更稳妥的做法是:变更前先记录当前 enable 的配置集名字,变更后如果发现新配置有问题,马上执行 cfgenable 切回旧配置。注意 cfgenable 会引起端口链路重协商,操作窗口要选在业务低峰,切回旧配置同样会中断一次链路,提前通知业务方。
5.2 端口 Link 闪烁不停:SFP 光模块与光纤清洗先于一切
现象:交换机某端口状态在 Online 和 Offline 之间反复跳动,portstatsshow 显示 CRC 错误持续增长,业务侧 IO 延迟变高,甚至有超时。
原因:最常见的是光纤端面脏污或光模块老化。FC 光纤对信号质量要求高,端面沾了灰尘,收发信噪比下降,交换机端口就会反复重协商。很多工程师第一反应是查配置、查 Zone,绕了一大圈,结果只是光纤头脏了。
解决:先把该端口用 portdisable 停掉,避免反复 flapping 影响交换机 CPU。然后拔下光纤,用专用清洁笔和无尘纸清洁端面,再插回。如果清洁后仍然抖动,换一根已知完好的跳线做对比测试,还不行就换 SFP 光模块。光模块的问题经常带点玄学成分,同一个端口换一个模块就好,旧模块拿下来测试又是好的,直接替换是最省时间的处理方式。操作完之后执行 portenable 恢复端口,观察 portstatsshow 里 CRC 是否还在涨。
5.3 管理网口连不上但串口正常:IP 冲突与默认路由的坑
现象:串口能正常登录,但 SSH 和 HTTPS 管理界面都不通,笔记本直连交换机管理口也 ping 不通。
原因:一个是网关没配。前任管理员只设了 IP 和掩码,没配默认网关,导致管理口只能被同网段访问,跨网段统统不通。另一个是管理 IP 与网内其他设备冲突,交换机不强校验 IP 唯一性,冲突时表现为时通时不通。
解决:串口登录后先执行 ipaddrshow 看当前配置,然后 ipaddrset 重新配置地址、掩码、网关三个参数。配完先 ping 网关,再 ping 管理地址本身,确认链路通。如果还不行,拔掉管理网线用笔记本直连,排除交换机上行交换机端口的问题。最后检查交换机 hosts 文件里有没有残留的旧解析条目,有的话清掉,否则域名解析会指向错误地址。
5.4 升级固件后 Zoning 丢失或回退:先备份再动刀的纪律
现象:固件升级完成后重启,switchshow 正常,但 cfgshow 里只剩一个空配置,所有 Zone 和别名都没了,业务主机全部掉线。
原因:升级前没做配置备份,或者备份文件不完整。跨大版本升级时,部分内存中的配置条目没有完整迁移,重启后 Flash 里的配置结构发生变化,旧配置读不出来。少数情况下是固件镜像本身有问题,升级过程中配置文件写入失败。
解决:升级前必须 configupload 到外部服务器,并确认备份文件非空。升级后先 configdownload 恢复配置,再检查 Zone 是否完整。如果 configdownload 也恢复不了,回到升级前的固件版本,FOS 通常保留上一个镜像,可以回退。这个坑的教训就是:升级前不备份配置,等于没穿防弹衣就上战场。固件版本与设备硬件的兼容性也要提前确认,别拿生产环境当测试机。
5.5 电源告警但设备照跑:别把报警当没事
现象:psushow 显示某个电源 FAIL,但交换机仍在正常工作,业务无感知。有的机器风扇转速告警但设备也没停机,容易被忽略。
原因:DS5100B 是双电源冗余设计,一个电源故障后另一个还在供电,所以设备不会停机。但此时冗余已经丢失,如果再发生一次电源故障或者机房断电,设备直接掉电,所有链路瞬断。风扇转速下降同理,短时间温度没起来,但持续高温会加速光模块和芯片老化。
解决:看到电源 FAIL 就尽快安排更换,别拖到下次巡检。更换电源不需要停机,是热插拔模块。风扇告警则要看 tempshow 的温度趋势,温度在正常范围内可以等备件,但同样建议尽早处理。冗余类的告警最迷惑人,因为它不影响当前业务,却把系统的抗风险能力降了一半,处理优先级应该排在配置问题前面。
6. 密码失效时的后悔药:用 boot -s 进单用户模式重置 root
设备密码丢失是所有运维最后会遇到的问题。上家管理员离职没交接,或者密码策略强制过期后没人记得新密码,串口登录直接提示 Authentication Failed。这时唯一可靠的办法是从引导阶段进入单用户模式,重置 root 和 admin 密码。
前提是物理接触这台设备:串口接好,终端软件准备好。然后给交换机断电重启,在串口输出出现引导提示时,按下对应按键进入 Boot PROM 菜单。不同微码版本的提示字符略有差异,有的显示 Press b for Boot PROM,有的是按 Esc,仔细看屏幕提示。进入菜单后选择单用户模式启动,通常是在提示符下输入 boot -s,系统会跳过完整的初始化流程,直接给一个 root shell。
# 在 Boot PROM 提示符下输入(不同版本提示字符略有差异) boot -s # 进入单用户 shell 后依次执行 passwd root passwd admin reboot单用户模式下文件系统已挂载,可以直接修改 /etc/passwd 里的密码条目。passwd root 和 passwd admin 各执行一遍,把两个管理账号都重置掉。改完立即 reboot 正常启动,用新密码登录验证。整个过程建议控制在十分钟内,因为设备此时处于维护模式,业务链路是断的。
我印象最深的一次是凌晨三点被叫起来,一台跑着核心业务数据库的交换机密码过期,运维把所有能试的密码都试了一遍也没进去。当时手边没有串口线,只能等到早上机房取线才处理,业务被迫中断了一整夜。那之后我养成一个习惯:接手任何一台光纤交换机,第一周内就在测试环境演练一遍密码恢复流程,并把密码、IP、Zone 配置名写在一张硬纸卡上贴在机柜门内侧。纸上记的东西,比任何管理系统都可靠。密码恢复这种技能最好永远用不上,但用上的时候,提前演练过的人能省掉一个通宵。希望帮到你。
本文还有配套的精品资源,点击获取