ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

博科光纤交换机实用指南:常用命令与Zoning配置详解

博科光纤交换机实用指南:常用命令与Zoning配置详解 简介面向存储网络运维人员与网络工程师博科光纤交换机操作手册docx版是一份入门与日常管理并重的参考资料内容围绕交换机的串口、以太网口和光纤口三种交互方式缺省串口参数及IP地址配置命令行与图形界面管理用户账号和SNMP安全机制等模块展开可帮助读者快速理解并掌握博科光纤交换机的配置、监控与维护要点。资源为单个docx文档压缩包约26KB信息密度较高适合按需查阅与随身参考。已有784人学习下载。手册详细说明了ipAddrSet、Telnet、portcfg等常用命令的使用方法覆盖admin、user、root、factory四个用户账号的功能定位也介绍了Fabric Manager、Web Tool等管理工具及串口管理环境的搭建方式从首次登录、修改密码到利用configure upload/download存档与恢复交换机配置均给出了可实操的指引适合需要搭建或维护SAN存储网络的技术人员使用。1. 博科光纤交换机上手前先搞懂这台设备到底在管什么在存储网络里摸爬过几年的工程师基本都遇到过这样的场景新接手的机房里有几台博科光纤交换机上一任留下的交接文档只有一张拓扑图和一句“zone 已经配好了”。等你真正登录设备面对一整屏的switchshow输出发现端口状态、设备 WWN、Alias 这些概念混在一起才意识到操作手册和真实设备之间隔着多少坑。这篇内容就是围绕博科光纤交换机操作手册里最常用的那批命令和配置思路展开的目标是让你带着具体问题来走的时候能照着命令把 zone 配明白、把固件升完、把故障查清。无论你是刚接触博科交换机的存储新手还是被莫名故障折磨过几次的系统运维这里的每条命令和排错思路都来自实际现场可以直接拿来用。博科光纤交换机Brocade FC Switch在 SAN 环境里的角色就是一块“光纤交叉矩阵”它不像以太网交换机那样关心 IP 和 MAC核心只做两件事转发 Fibre Channel 帧以及通过 zoning 控制哪些主机能看到哪些存储。很多初学者最不适应的就是这一点——所有操作都建立在 WWNWorld Wide Name和 Port ID 上而不是我们熟悉的 IP 地址。所以理解博科交换机命令之前先接受“设备认 WWN 不认 IP”这个事实后面的操作就不会那么别扭了。博科光纤交换机常用命令本质上都是围绕端口查看、别名管理、zone 配置、配置保存和固件维护这几类需求展开的我们逐个拆开讲。2. 博科光纤交换机常用命令从登录到端口管理的十来个必会命令2.1 登录与版本确认串口/SSH 首次进场怎么操作第一次接手博科交换机最常见的登录方式有两种串口线直连和 SSH 远程连接。串口登录通常在交换机 IP 还没配置或者网络不通时使用博科交换机默认的串口参数是 9600 波特率、8 位数据位、无校验、1 位停止位用 SecureCRT 或者 minicom 连接都行。登录后默认进入Brocade提示符输入root和默认密码password就能进入 shell但如果是首次配置推荐用admin账号登录进入的是命令行配置环境FOS CLI也就是我们日常操作的主要界面。登录后第一件事不是急着敲命令而是先确认设备的型号和固件版本这决定了后续命令的语法兼容性。执行version或者show version能看到类似Fabric OS v9.0.1这样的输出。不同大版本的博科 FOS某些命令有细微差别比如老版本用cfgshow新版本仍然兼容但更推荐用switchshow这类通用命令。另外用switchshow就能看到这台交换机是不是在 Fabric 里、Domain ID 是多少、总端口数和已用端口数。这些信息是后续规划 zone 的基础。# 通过 SSH 登录到博科交换机 ssh admin192.168.100.10 # 登录后先看版本和交换机状态 switchshow version逻辑说明switchshow输出里第一行是交换机名字和逻辑状态通常显示switchName: SAN_A、switchType: 172.8、switchState: Online这表示交换机管理层面是健康的。version显示的是 FOS 版本和机箱型号。这两条命令能帮你快速判断设备是否在线、固件是否偏低以及端口数量是否匹配预期。参数说明switchshow最关键的几列是Port、Type、State和PID。Port是物理端口号从 0 开始编号Type显示端口类型常见的有U上行口、N节点口、F光纤通道端口如果是E表示级联口ISLState显示Online或No_LightPID是端口在 Fabric 里的地址标识。如果 State 显示Fault那基本就是光模块或对端设备的问题需要进一步查。2.2 端口状态与光模块信息switchshow 和 sfpshow 怎么读端口状态是 SAN 运维最基础也最常用的信息。很多新手一上来就switchshow看到一堆端口全Online就觉得没问题其实Online只代表物理链路通了不代表光纤质量好。要判断光模块的健康度必须用sfpshow看光功率。博科交换机里每个 SFP 模块都有独立的诊断信息包括发送光功率、接收光功率、温度、电压等。执行sfpshow 1会显示 1 号端口的光模块信息重点关注RX Power和TX Power单位是 mW 或者 dBm不同模块的阈值不一样但一般来说接收功率低于 -20dBm 就有风险了。另外一个常用命令是porterrshow它统计每个端口的历史错误计数包括 CRC 错误、信号丢失、同步丢失等信息。这个命令特别适合排查间歇性故障比如主机偶尔 I/O 超时但switchshow看端口又是 Online。此时通过porterrshow能看到端口的CRC_Errors或者Enc_Out计数在快速增长就能定位到光纤链路或者光模块质量不行。# 查看所有端口状态 switchshow # 查看指定端口的光模块信息 sfpshow 5 # 查看端口错误计数 porterrshow逻辑说明porterrshow的输出是一个矩阵每一行对应一个端口每一列对应一种错误类型。比较关键的列是CRC_Errors循环冗余校验错误通常表示光纤信号质量差、C3_timeouts超时错误可能因为链路拥塞或设备问题、ELP扩展链路服务错误常见于与对端设备协议协商失败。如果某个端口的 CRC 错误在持续增长基本能肯定是链路问题而不是主机或存储的问题。参数说明sfpshow后面跟端口号端口号从 0 开始。如果你记不住端口号先用switchshow找到端口对应的Port列数字。光功率的显示格式通常是RX Power: -18.9 dBm有些模块显示为-1.89 dBm注意单位差异。正常满光模块的接收光功率在 -10 到 -15 dBm 之间低于 -20 dBm 就要警惕了。2.3 常用配置命令alias、zone、cfg 的增删改Zoning 是博科交换机配置的核心也是操作手册里篇幅最多、最容易配错的地方。博科 zoning 有三个层级Alias别名、Zone区域、Configuration配置。Alias 是把一串 WWN 或端口起一个易读的名字比如把两台数据库主机的 HBA 卡 WWN 起名为DB_HBA1、DB_HBA2Zone 是 Aliases 或 WWN 的集合定义哪些主机能访问哪些存储Configuration 是 Zone 的集合并且一个配置里可以包含多个 Zone配置必须激活才能生效。创建 zone 的常用命令是zonecreate基本语法是zonecreate zone_name, member1; member2。成员可以是 WWN、Alias、DomainPort 或者端口索引。比如zonecreate DB_Zone, DB_HBA1; STORAGE_A1这里的DB_HBA1是之前定义好的 Alias。创建完 zone 之后还要将 zone 加入配置命令是cfgcreate最后用cfgenable激活配置。注意配置激活后是立即生效的但不会自动保存到配置文件里要执行cfgsave才能持久化。# 创建别名把 WWN 映射为易读名字 alicreate DB_HBA1, 10:00:00:90:fa:12:34:56 alicreate STORAGE_A1, 50:00:09:69:00:00:12:34 # 创建 zone成员用别名 zonecreate DB_Zone, DB_HBA1; STORAGE_A1 # 创建配置 cfgcreate Production_CFG, DB_Zone # 激活配置 cfgenable Production_CFG # 保存配置 cfgsave逻辑说明alicreate里的 WWN 格式是冒号分隔的十六进制对注意是 8 对每组两个字符大小写都行但建议统一小写。zonecreate的成员分隔符是分号可以混用别名和实际 WWN但生产环境强烈建议统一用别名这样后期更换 HBA 卡时只需改别名不用动 zone。cfgenable之前可以用cfgshow查看当前的配置确保配置逻辑符合预期。参数说明alicreate支持两种成员类型一种是 WWN另一种是 Domain/Port比如1,5表示 Domain 1 的 5 号端口。实际生产环境多用 WWN因为端口变化会导致 zone 失效。cfgenable时有几个细节如果当前已经有激活的配置新配置必须包含旧配置里所有 zone否则会提示风险另外激活配置过程中整个 Fabric 中所有交换机上的 zone 会重新同步所以不要在生产业务高峰期做这件事。3. 把 Zoning 配置落到纸上从规划到命令行执行的完整流程3.1 命名规范与片区规划别等配完再改别名很多运维工程师直接在交换机上边想边配结果 zone 数量一多最后自己都分不清哪条是干什么的。我一般会先画一张简化表格把主机名、HBA 卡的 WWN、连接的交换机端口、存储前端端口 WWN 一一列出来。这张表不仅是配置的依据也是后续故障排查的索引。表头通常包括主机名、HBA 型号、WWN、交换机端口号、存储系统、存储端口 WWN、Zone 名称建议。命名规范上我习惯采用“业务_角色_序号”的格式比如DB_Host_App01、STORAGE_Array1_FA2。Zone 名则用“业务名_主机别名_存储别名”拼接比如APP01_DB_STORAGE01。这样做的好处是通过 zone 名就能判断出哪些主机和哪些存储端口在同一个 zone 里不用每次登录设备去解析 WWN。如果公司有多个业务环境在 Alias 名里加上环境前缀如Prod_、Dev_、DR_避免不同环境之间混淆。规划时还有一个常见误区就是给一个 Zone 放太多主机。正常情况下一个 Zone 应该只包含一台主机的一个 HBA 端口和一台存储的一个前端端口或者按存储厂商的最佳实践指定多个端口。如果把多台主机和多个存储端口混在同一个 Zone 里虽然也能通一旦出现乱访问或故障隔离时你根本说不清楚是谁的问题。所以宁可 zone 数量多也不要图省事把成员堆在一起。3.2 命令行创建别名、zone、配置生效的步骤按照前面规划好的表创建别名、zone 和配置的完整步骤如下。首先执行alicreate创建所有主机和存储的别名。此时建议一次性把所有别名敲完然后再创建 zone避免中途穿插其他命令导致遗漏。当然你也可以编写一个脚本文件通过 SSH 批量执行但要注意博科 CLI 在批量执行时如果某条命令报错后续命令可能不会继续执行所以脚本里最好加错误判断。创建完别名后用zoneshow查看确认每个别名是否对应正确的 WWN。然后创建 zone每创建一个 zone 就用zoneshow zone名确认成员。全部 zone 创建完成后创建配置。注意一个交换机在同一时间只能激活一个配置。如果你的环境是双机冗余的理论上两台交换机各自有独立的配置但实际生产中一般会用级联的方式做成一个 Fabric此时配置会在 Fabric 内同步所以要确保两台交换机上的配置一致或者只在主交换机上操作。# 批量创建别名示例 alicreate Prod_App1_HBA1, 10:00:00:00:c9:aa:bb:01 alicreate Prod_App1_HBA2, 10:00:00:00:c9:aa:bb:02 alicreate Prod_App2_HBA1, 10:00:00:00:c9:aa:bb:03 alicreate Prod_Store1_FA1, 50:00:09:69:11:22:33:44 alicreate Prod_Store1_FA2, 50:00:09:69:11:22:33:45 # 创建 zone zonecreate Prod_App1_Store1, Prod_App1_HBA1; Prod_Store1_FA1 zonecreate Prod_App2_Store1, Prod_App2_HBA1; Prod_Store1_FA2 # 创建配置并激活 cfgcreate Prod_CFG, Prod_App1_Store1; Prod_App2_Store1 cfgenable Prod_CFG cfgsave逻辑说明上面的命令如果放在真实环境里alicreate后系统会提示Alias defined。zonecreate时成员用的都是别名不需要再写 WWN。cfgcreate的第二个参数是 zone 列表用分号分隔。执行cfgenable时系统会先列出将要生效的 zone 列表然后询问Are you sure to enable the config?输入y确认。这里要特别留意cfgenable之后配置进入内存状态此时如果交换机断电配置就丢了所以一定要立刻执行cfgsave。有些版本里cfgenable会自动提示是否保存但为了保险手动cfgsave已经成为我的固定动作。参数说明cfgenable前可以用cfgshow查看当前生效配置和预置配置。cfgshow的输出分两段第一段是定义的 config第二段是每个 config 里的 zone 和成员。如果发现某个 zone 不在预置配置里说明还没被加入 config需要cfgadd加入。cfgadd Prod_CFG, New_Zone可以把新 zone 添加进已有配置再cfgenable Prod_CFG激活如果配置已经在激活状态重新激活一次也能让新 zone 生效但要小心影响。3.3 验证与回滚cfgshow、cfgactv、cfgdisable 的使用配置完成后验证环节不能省。首先用cfgshow看所有配置和 zone 的内容确认没有多余的成员或多删的别名。然后用cfgactvshow或者cfgshow中的 active 部分查看当前激活的配置。如果发现新配置导致某些主机失联需要立即回滚。博科交换机支持配置回滚但前提是你知道之前激活的配置名。用cfgdisable可以停用所有 zone 配置让交换机进入无 zoning 状态即所有设备互通这通常用于灾难恢复场景不建议在生产环境随便用。更稳妥的回滚方式是重新激活旧的配置。假设之前的配置名是Old_CFG你只需要执行cfgenable Old_CFG系统就会覆盖当前的激活配置。不过这里有个坑如果旧配置里的 zone 在当时的 config 里但后来被删除了那么旧配置可能不完整重新激活可能报错。因此最保险的做法是在每次重大变更前先用configupload备份完整配置出问题时通过configdownload恢复。这个操作在后面的备份章节会详细说。# 查看当前生效的配置 cfgactvshow # 查看完整配置内容 cfgshow # 停用所有 zone cfgdisable # 重新启用之前的配置回滚 cfgenable Old_CFG cfgsave逻辑说明cfgactvshow输出中Effective configuration下面显示了当前激活的 config 名以及该 config 下的所有 zone。cfgshow则会显示所有定义的 config 和 zone与激活状态无关。cfgdisable后会提示Zoning is disabled此时所有端口之间没有访问限制这是非常危险的除非是紧急排障否则尽量不要用。回滚时cfgenable Old_CFG需要确保 Old_CFG 里的所有 zone 成员仍然存在如果有成员被删了命令会报错需要先把删掉的成员补回来。4. 博科交换机固件升级与配置备份操作步骤与参数细节4.1 备份配置configupload 的完整参数博科交换机的配置备份最标准的方法是使用configupload。这个命令有两种工作模式交互式和非交互式。交互式模式下命令会一步一步提问包括协议选择ftp/ftp/scp、服务器 IP、路径和文件名非交互式模式可以通过参数一次性指定适合写进脚本。我强烈建议用非交互式因为如果你使用configupload的交互模式很容易因为打错一个路径导致备份失败而且交互过程对新手不友好。执行configupload时重要参数包括-p备份类型可选all全部配置或chassis仅机箱配置-f指定服务器地址和路径。此外备份文件格式有二进制和文本两种文本文件便于查看和对比但恢复时可能丢失一些时序敏感参数所以生产环境推荐用二进制备份。命令格式如下# 以 FTP 方式备份全部配置到远程服务器 configupload -p all -f ftp://192.168.1.100/backup/san_a_config.txt -u ftpuser -pw ftppassword # 以 SFTP 方式备份 configupload -p all -f sftp://192.168.1.100/backup/san_a_config.bin -u admin -pw Admin123逻辑说明-p all表示备份所有配置包括 zoning、alias、switch attributes、snmp 配置等。-f后面指定的是 URL 格式其中协议可以是ftp://、sftp://、scp://IP 地址是服务器地址路径是文件保存的相对路径或绝对路径。-u和-pw分别指定服务器登录用户名和密码。注意密码不要写在明文脚本里如果环境允许先用sftp交互方式登录一次把主机 key 存下来然后再用命令。参数说明如果备份文件需要保留多个版本建议在文件名中加入日期例如san_a_20250120.bin。另外备份完成后最好在另一台终端上show config或者configshow导出一份文本配置方便快速查看。configupload备份的是运行配置也就是当前生效的配置如果你刚改过配置但没有cfgsave备份里不会包含最新的修改这一点务必注意。4.2 固件升级firmwaredownload 的流程与前后检查固件升级是博科交换机操作手册里风险最高的操作之一很多工程师遇到升级后端口异常或交换机反复重启的案例。博科交换机的固件升级使用firmwaredownload命令它可以从 FTP/SCP/HTTP 服务器拉取固件包然后自动安装到主控和备用控制板如果有。升级前必须做好以下检查第一确认当前固件版本和目标版本的兼容性博科官网有兼容矩阵一般建议跨大版本升级时先升到中间版本。第二确认所有端口正常没有处于Fault状态的端口。第三确认交换机处于稳定状态没有进行中的配置变更。执行firmwaredownload时需要提供固件文件的路径、协议、服务器信息等。这个过程根据交换机型号不同持续 10 到 30 分钟。升级期间交换机会重启业务会中断所以必须提前申请维护窗口。博科 FOS 在升级时有一种机制叫“非破坏性升级”Non-disruptive upgrade如果交换机有双主控可以做到不中断现有流量但前提是所有端口和链路都健康并且固件包支持。单主控设备就不要想了老老实实停机升级。# 从 FTP 服务器下载并升级固件 firmwaredownload -f ftp://192.168.1.100/fos_v9.0.2.bin -u ftpuser -pw ftppassword逻辑说明firmwaredownload执行后会先检查固件包的完整性和兼容性然后提示你确认升级。确认后交换机会自动进入升级流程期间你可能看到终端反复断开连接这是正常的。升级完成后交换机自动重启登录后执行version确认版本号。如果升级过程中断比如网络中断或服务器不可达交换机会尝试回滚到之前的版本但也有可能卡在启动状态所以建议提前准备好串口线用于紧急恢复。参数说明升级前强烈建议先执行fosconfig和supportshow收集当前状态。有些交换机型号在升级前需要先更新FOS的许可证否则升级后某些高级功能会失效。另外firmwaredownload命令在较新的 FOS 版本中支持-b参数指定 Backup Firmware也可以从本地 USB 升级但生产环境最常见还是 FTP/SFTP 方式。4.3 升级失败后的恢复要点升级失败并不等于变砖但需要冷静处理。最常见的失败场景是交换机反复重启或者升级后所有端口都No_Light。如果遇到反复重启可以尝试进入单用户模式或者从备用分区启动。博科交换机通常内置有主备两个固件分区firmwareshow可以看到当前激活分区和备份分区的版本。升级失败后可以通过firmwarecommit和firmwareclean等命令管理分区状态但在设备不稳定时第一选择是通过重启时按Esc进入 boot loader 菜单选择从旧分区启动。如果你的交换机还能进入 CLI先执行firmwareshow查看两个分区的状态。如果当前启动的分区是新的升级后但不正常执行firmwareactivate切换到旧分区然后重新启动。这种方法可以让你快速恢复业务之后再慢慢排查升级失败的原因。如果是单分区设备那就只能通过串口连接在 boot 阶段中断手动输入启动参数加载旧固件镜像。# 查看固件分区状态 firmwareshow # 切换到旧的激活分区 firmwareactivate # 重新确认版本 version逻辑说明firmwareshow输出中Active标记了当前激活的分区Standby是备用分区。升级前standby 分区是旧版本激活分区也是旧版本升级过程会先写入 standby 分区然后重启后激活新分区。如果新分区启动失败通常情况下交换机会自动回退到旧分区。不过这个自动回退机制不是万能的如果失败损坏了 boot 区就需要用命令手动切换。5. 博科光纤交换机避坑指南五个让我翻车的现场与解法5.1 现象zone 配置没生效主机还是看不到磁盘有次给存储接新服务器zone 配好了cfgenable也执行了但主机系统里就是扫不到磁盘。用cfgactvshow看名字确实在生效配置里。排查了一下发现问题的根因在于博科交换机支持两种 zoning 模式基于端口和基于 WWN。如果交换机的端口配置为portBinding类型那么即使 zone 里写的是 WWN实际生效的还是端口访问限制。当时就是有一台主机的 HBA 连到了交换机的 16 口但 zone 里写的另一个端口导致请求被端口级的安全策略拦掉。解决方法是先检查 zone 成员类型执行zoneshow zone名看成员显示的是 WWN 还是 Domain/Port。如果成员是1,16这样的格式说明是基于端口的 zone需要把成员改成 WWN 或别名或者调整 HBA 物理连接。另外检查交换机端口上有没有挂portaccesspolicy这个策略会覆盖 zone 的访问控制需要portaccessshow确认。5.2 现象光模块信号弱但 sfpshow 显示正常一次存储链路 intermittently timeout用sfpshow查看光功率接收功率 -17dBm看起来还在阈值内但就是丢帧。后来用porterrshow才发现该端口的 CRC 错误计数每几个小时就跳动几百而且信号丢失计数Loss_of_Sync也在增长。这说明光模块或光纤已经处于不稳定状态虽然功率值勉强达标但信号质量已经不行了。解决的办法是把这条链路的光纤两端都清洁一下用光纤清洁笔擦一下接头或者直接换一根跳线。如果问题依旧再更换 SFP 模块。经验是不要只看sfpshow的数值要结合porterrshow的增长趋势和主机的 I/O 错误综合判断。光模块的Temperature也很重要如果温度过高模块会逐渐劣化建议在交换机机房增加通风降温。5.3 现象交换机 IP 改完就失联修改博科交换机管理 IP 时没有用ipaddress命令的正确语法导致改了 IP 后网络配置没保存重启后恢复原地址但期间你连不上设备。还有一次改错 IP 网关管理网段根本不通你只能去机房串口连。这里最容易踩的坑是执行ipaddress命令后新 IP 立即生效但原来连接会断掉如果你没把新 IP 记清楚然后再也找不到设备了。我的习惯是改 IP 前先用configupload备份然后在在线状态下把新 IP 记在纸上再执行修改。修改完成后ipaddress命令会显示当前配置确认无误后不需要cfgsave因为 IP 变化是立即生效的。如果你远程操作建议借用带外管理卡如交换机自身的串口模块或找机房同事协助别当孤胆英雄。5.4 现象固件升级后部分端口起不来升级 FOS 到新版本后发现几个端口的状态变成Fault但升级前明明是Online。查了porterrshow发现这些端口报ELP错误说明与对端设备协商失败。原因很可能是对端设备的固件太老与新版博科 FOS 不兼容。博科的 Fabric OS 在升级后可能会改变 ELS 帧的交互方式老设备不支持就会协议握手失败。解决方法是先确认对端设备型号和固件版本到博科的兼容性矩阵查一下必要时升级对端设备固件。如果暂时没法升可以通过portcfgpersistentenable强制端口不参与协商但不推荐长期使用。另外升级后如果某些端口的速率配置被重置也可能导致无法协商到一致速率用portcfgshow检查端口的速率模式是否还是 Auto-Negotiation。5.5 现象批量端口禁用后忘记启用的尴尬这个案例很蠢但真实存在。一次清理僵尸端口用portdisable一下禁用了 10 多个口然后去处理其他问题回来忘记恢复导致业务主机全部断连。博科的portdisable命令可以加-p参数来持久化否则只是运行时禁用然后我把这个命令写在脚本里没有注意区分。更麻烦的是有些端口被禁用后switchshow里显示Persistent Disable你可能以为它是故障端口就没去管。解决方法是在任何批量操作前先执行switchshow截一个端口状态基线操作后立即执行portenable恢复。如果你已经无法确认哪些端口曾经启用就从交换机日志里找portdisable的记录命令是porterrshow或faboshow。为了避免复发我现在都会把批量端口变更记录在变更单里并且操作前用configupload备份这个习惯帮我挽回了不少“翻车”现场。6. 从操作手册到日常运维用脚本把巡检这件事自动化6.1 巡检脚本抓 switchshow、porterrshow、sfpshow 的关键字段操作手册看十遍不如自己写一个巡检脚本用起来。我通常会写一个简单的 shell 脚本通过 SSH 登录到博科交换机执行几条常用命令然后把输出保存到本地文件。这样可以形成历史记录下次巡检时通过diff对比哪些端口状态发生了变化。#!/bin/bash # 简易博科交换机巡检脚本 HOST192.168.100.10 USERadmin PASSyour_password DATE$(date %Y%m%d_%H%M%S) OUTDIR./brocade_check mkdir -p $OUTDIR # 使用 sshpass 自动登录并执行命令 sshpass -p $PASS ssh -o StrictHostKeyCheckingno $USER$HOST \ switchshow; porterrshow; sfpshow $OUTDIR/check_$DATE.txt # 提取端口状态为 Online 和 Fault 的行方便快速定位 grep -E Online|Fault $OUTDIR/check_$DATE.txt $OUTDIR/port_status_$DATE.txt echo 巡检完成结果保存在 $OUTDIR逻辑说明脚本用sshpass实现自动输密码如果生产环境不允许明文密码可以改用配置 SSH 密钥。switchshow输出中包含所有端口的行porterrshow中有错误计数的矩阵sfpshow会显示所有端口的光模块信息但实际内容较多这里直接全量输出到文件。grep提取关键行后你可以快速浏览端口状态变化。参数说明脚本中的pass变量建议放在单独配置文件中并设置权限或者用专用的巡检账号。HOST可以定义多个交换机 IP用循环执行。如果你需要对多个交换机巡检可以在脚本外层写一个for循环但注意每次 SSH 连接会消耗交换机资源建议巡检频率控制在每日一次。6.2 配置变更的审计与对比用 diff 做“后悔药”配置变更前备份变更后备份然后对比这一招是防止配置漂移和误操作的最佳手段。博科交换机配置导出后是文本文件虽然里面包含一些动态的运行时参数但 zoning、alias 这些静态配置是完全可比的。# 导出当前配置为文本 configupload -p all -f ftp://192.168.1.100/backup/config_date %Y%m%d_%H%M%S.txt -u ftpuser -pw ftppassword # 或者直接输出到终端重定向 ssh admin192.168.1.10 cfgshow cfg_before_20250120.txt # 变更后再次执行 ssh admin192.168.1.10 cfgshow cfg_after_20250120.txt # 对比差异 diff cfg_before_20250120.txt cfg_after_20250120.txt逻辑说明diff命令会输出两个文件之间的不同行你可以一眼看出新增或删除了哪些 zone、别名。如果是配置发现被未知操作修改这个对比结果就是最直接的审计证据。这个习惯在多人维护的环境里尤其重要因为很多时候你根本不知道谁在什么时间改了配置只有通过对比才能定位问题窗口。参数说明cfgshow只是配置的一部分如果要做完整对比建议用configshow需要权限或者configupload备份文本后对比。对比时忽略交换机的动态信息比如运行时间、端口状态等只关注 zone、alias、snmp 这些静态配置。最后说一句我自己的习惯每次变更前都先导出一次配置变更结束后再导出一次如果两次之间业务出了问题第一件事就是看差异。这套方法帮我解决过不少“幽灵改动”的问题希望帮到你。本文还有配套的精品资源点击获取
返回列表