简介:Cisco MDS9148是数据中心常用的存储区域网络(SAN)交换机,这份PDF资源面向网络工程师与SAN管理员,完整梳理MDS9148首次上电初始化到业务配置的完整流程。资源基于命令行交互实录展开,涵盖管理员密码设置、基本系统配置对话、管理接口mgmt0的IP与网关配置、SSH/Telnet及HTTP服务开关、NTP时间同步、交换机端口默认状态与trunk模式选项,以及SAN环境关键的Zoning区域策略与zoneset分布设置。每个步骤均附具体命令提示和配置参数说明,便于读者对照实际操作,有效规避常见配置误区。压缩包内为单个PDF文档,大小约39KB,内容精炼,便于随时查阅。该资源自发布以来已有1817人学习下载,适合需要快速上手MDS9148或进行SAN交换机基础配置的工程师参考。
1. Cisco MDS9148配置从零开始:一次存储割接的完整动作拆解
新存储上架、服务器 HBA 卡死活看不到 LUN、光纤链路状态翻来覆去不对——这类问题十有八九出在 FC SAN 交换机的 zone 配置上。Cisco MDS9148 是数据中心里常见的存储区域网络交换机,首次上电时它是一台"裸机",不初始化就没有管理 IP、没有 zone、所有端口默认 shutdown,连图形界面都进不去。这份配置记录把 MDS9148 从串口初始化、图形化 zone 配置到 CLI 验证的完整路径走了一遍,适合刚接手 SAN 环境、被交换机初始化和 zone 划分绕晕的存储运维,也适合要在割接窗口里快速完成两台交换机配置的人。配置本身不难,难的是搞清楚每个对话项在干什么——尤其是那个默认 zone policy 和 trunk mode,选错了后面会非常被动。
2. 初始化配置:串口会话里的每个交互项都意味着什么
2.1 为什么第一步必须走串口
MDS9148 出厂时管理接口 mgmt0 没有 IP 地址,HTTP 服务默认关闭,此时网线插上去没有任何反应,只能通过随机附带的串口调试线缆连接 console 口做初始化。连接参数是 Cisco 设备通用的 9600 波特率、8 数据位、1 停止位、无校验,Windows 上用超级终端或者 SecureCRT、Xshell 都可以,连接后回车就会出现登录提示。
第一次进入时设备会让你给 admin 用户设置密码并确认一次。这里有个细节:设备会校验密码强度(password strength-check),密码太简单是过不去的。项目正文里后面登录图形界面用的示例密码“123ibm!@#IBM”,就是在这个步骤里设置的,那个大小写加特殊字符的组合就是为了满足强度要求。
初始化之后所有交互项都汇总在一个 Basic System Configuration Dialog 里,这个对话看似繁琐,实际上它只做一件事:给交换机一个足够用于远程管理的初始配置——管理 IP、路由、远程访问方式、默认端口策略和默认 zone 策略。后面的功能配置,包括详细的 zone、zoneset、VSAN 划分,都可以通过 CLI 或图形界面接着做。
2.2 系统配置对话逐项解读
把整个对话的交互项整理成一张表,可以看得更清楚:
| 对话项 | 本资源中的选择 | 含义与影响 |
|---|---|---|
| Create another login account | n | 只保留 admin 一个账户,后续可再建 |
| SNMP community string | n | 暂不配置 SNMP,监控纳管时再补 |
| Switch name | localhost | 交换机名,会出现在 CLI 提示符里 |
| Mgmt0 IPv4 address / netmask | 10.77.77.77 / 255.255.255.0 | 管理地址,图形界面就靠它访问 |
| Configure default gateway | n | 管理网段无跨路由需求时可跳过 |
| Enable ssh service | n | 先不开 SSH,后续需要再手动启用 |
| Enable telnet service | y | 远程 CLI 通道,注意 telnet 明文传输 |
| Enable http-server | y | 必须开,Device Manager 图形界面靠它 |
| Configure clock / timezone / summertime / ntp | n | 先跳过,生产环境建议补 NTP |
| Default switchport interface state | shut | 所有 FC 端口默认关闭,必须手动 no shutdown |
| Default switchport trunk mode | auto | 端口 trunk 模式自动协商 |
| Default switchport port mode F | n | 不默认强制为 F 端口,留给设备自动协商 |
| Default zone policy | deny | zone 外设备默认禁止互通,白名单思路 |
| Enable full zoneset distribution | n | 双机场景下不同步 zoneset,后面要手动处理 |
| Default zone mode | basic | 基本 zone 模式,enhanced 用于更细粒度控制 |
这里最值得说的是 Default zone policy 选 deny。SAN zone 本身就是为了隔离——服务器 A 只能看到存储端口 1 和 2,不能看到别人。deny 表示不在 zone 里的设备互相不可见,这是存储安全的基本盘。如果你在初始化时手快选了 permit,后面所有设备默认互通,等于给整个存储网络开了个大口子,再想收回来必须逐个建 zone 去挡,比从头配 zone 麻烦得多。
还有一个容易忽略的点:默认 switchport state 是 shut。项目正文里初始化完成后没有配置任何 FC 端口,直接进了图形界面做 zone。但在实际接线时,如果你发现光纤插上后交换机端口灯不亮、服务器端 HBA 卡也起不来,第一反应应该是去 CLI 里看这个端口是不是 shutdown 状态。这个坑在本文第 5 章会单独展开。
2.3 初始化完成后先做这些检查
配置对话结束时设备会打印一句“Use this configuration and save it? (yes/no) [y]”,这里必须回车确认保存。保存动作把初始化配置写入 startup-config,否则断电重启后交换机又回到出厂状态,前面所有输入全部白费。
保存完成后建议先在 CLI 里确认三条信息:
switch# show switchname localhost switch# show interface mgmt0 mgmt0 is up Internet address is 10.77.77.77/24 switch# show feature | include http http-server enabled第一条确认交换机命名生效,第二条确认 mgmt0 地址写进去了,第三条确认 http-server 确实在跑。这三条没问题,再打开浏览器访问http://10.77.77.77才会出得了页面。很多人初始化后浏览器打不开,回头一看是 http-server 没启用,或者 mgmt0 地址没写对,都是这个环节的疏漏。
到这里初始化就算真正完成了。接下来进入图形化界面配置 zone 的阶段。
3. 图形化入口:Device Manager 的安装、登录与首次启动
3.1 http-server 与 Device Manager 的关系
MDS9148 的管理方式有两套:CLI 和基于 Web 的 Device Manager。CLI 适合脚本化和批量操作,Device Manager 则是图形化配置 zone、查看端口的直观途径。初始化对话里那个 http-server 选项,本质上是给 Device Manager 提供 Web 承载服务的开关——不开它,浏览器访问管理 IP 就只会有连接拒绝的提示。
浏览器地址栏输入http://10.77.77.77后,页面会给出两个入口:一个是 Cisco Device Manager,另一个是 DCNM 的链接。对本资源来说,直接点 Cisco Device Manager 即可,不需要另外安装独立的 DCNM Server。
3.2 Java Web Start 安装过程与证书警告
点进 Device Manager 后会出现一个 Continue 页面,接下来你会发现这套图形界面不是普通网页,而是基于 Java Web Start 的桌面应用——它需要在本地下载并运行客户端。项目正文里的“Next、Install、是”这一串点击,就是 Java Web Start 在拉取客户端程序并在本机安装的过程。
这里有个很多年没碰过 SAN 的人会翻车的点:MDS9148 的 Device Manager 对 Java 版本有兼容性要求,Java 8 的某些新版本或者 Java 11 以上经常跑不起来,页面点击 Install 后没反应,或者提示证书错误。常见做法是装一个较老的 Java 8 版本,并且在 Java 控制面板里把http://10.77.77.77加入站点例外列表。设备自带的是自签名证书,浏览器和 Java 都会提示“不受信任”,属于正常现象,选择信任并继续即可。
证书警告处理完、客户端安装完成后,Device Manager 会弹出登录窗口,要求输入密码。注意:这里的密码不是新设的,而是第 2 章初始化时给 admin 设置的那个密码,项目正文里的“123ibm!@#IBM”就是原样输入。输错三次会导致管理会话锁定,需要等几分钟自动解锁,不要反复尝试。
3.3 登录后的界面与控制台布局
密码验证通过后点击 Open,Device Manager 会启动主控制界面。界面左侧是导航树,有 FC、IP、Fabric 等分类。FC 菜单下最重要的两个入口是 Quick Config 和 Zones。Quick Config 是面向新手和快速配置的向导模式,Zones 则是更细粒度的管理页签。
对于第一次配置 zone 的场景,走 Quick Config 是最不容易出错的路径。它会自动列出当前交换机上的物理端口、端口状态、连接的设备 WWN,让你勾选哪些端口要互通。相比手敲 CLI,这个向导把 zone 成员关系可视化了,减少“WWN 抄错一个字符导致 zone 失效”这种低级事故。
4. zone 配置实战:从 Quick Config 向导到 CLI 双重确认
4.1 zone、zoneset、vsan:三个概念先理清
在动手配 zone 之前,必须把三个层级的关系理清楚,否则配置界面里的选项会让你抓狂:
- zone:一组端口的集合,定义"哪些端口可以互相通信"。比如 FC1/5 和 FC1/1 放进同一个 zone,这两个口连的设备就能互相看到。
- zoneset:一组 zone 的集合,是真正在交换机上激活生效的单位。zone 建了不代表生效,必须被加进 zoneset 并且激活。
- vsan:虚拟 SAN,可以把一台物理交换机切成多个相互隔离的逻辑 SAN。不同 vsan 里的 zone 完全隔离,就像不同 VLAN。
三者的关系和操作顺序是:在 vsan 下建 zone → 把 zone 加进 zoneset → 激活 zoneset。项目正文里的 zone 命名Z_FC1_5_FC1_1_V1,按这个命名规则拆开就是:Z(zone)+ FC1/5(第一个成员端口)+ FC1/1(第二个成员端口)+ V1(属于 vsan 1)。这种命名规范非常实用,端口拓扑一眼就能看出来,强烈建议沿用。
4.2 Quick Config 向导:从端口到 zone 的映射
在 Device Manager 里进入FC -> Quick Config,向导会列出交换机所有 FC 端口及其状态。这里需要先把物理连线搞清楚——哪些端口接服务器 HBA,哪些端口接存储控制器。项目正文里展示的 zone 结构是典型的"双 HBA 接四个存储端口"拓扑:
| zone 名 | 成员 1 | 成员 2 | 用途 |
|---|---|---|---|
| Z_FC1_5_FC1_1_V1 | fc1/5 | fc1/1 | 主机 1 HBA 接存储端口 1 |
| Z_FC1_5_FC1_2_V1 | fc1/5 | fc1/2 | 主机 1 HBA 接存储端口 2 |
| Z_FC1_6_FC1_3_V1 | fc1/6 | fc1/3 | 主机 2 HBA 接存储端口 3 |
| Z_FC1_6_FC1_4_V1 | fc1/6 | fc1/4 | 主机 2 HBA 接存储端口 4 |
这是一个 zone 只放两个成员的最小化模型。生产环境里更常见的做法是 zone 里放"主机 HBA 的 WWN + 存储端口的 WWN",但 MDS9148 的 Quick Config 也支持按物理端口直接划 zone。按端口划的优点是在同一个机柜内、物理连线固定时配置最快;缺点是端口插拔后 zone 自动失效,不如按 WWN 划稳定。项目正文选择按端口划 zone,是机房内设备位置基本锁定的前提下的合理选择。
向导里勾选端口、填好 zone 名后,点击 Next 会显示即将创建的 zone 摘要。这里一定要逐条核对,重点看每个 zone 的成员是否正好包含一个主机端口和一个存储端口。如果出现一个 zone 里有两个主机端口、没有存储端口,那意味着两台服务器会互相看到对方的 HBA——这是配置失误,会在存储层面造成不可预期的访问。核对无误后点 Finish,向导会把 zone 和 zoneset 一次性写入交换机。
4.3 CLI 二次确认:show zone active 与 show zoneset
向导点完 Finish 不代表万事大吉。Device Manager 界面显示的是"配置已下发",但真正生效的是交换机上的活跃 zone 表。强烈建议回到 CLI 做二次确认,这也是项目正文第 10、11 步做的事情。
admin# show zone active zone name Z_FC1_5_FC1_1_V1 vsan 1 * fcid 0xb80500 [interface fc1/5 swwn 20:00:00:05:73:da:b1:50] * fcid 0xb80000 [interface fc1/1 swwn 20:00:00:05:73:da:b1:50] zone name Z_FC1_5_FC1_2_V1 vsan 1 * fcid 0xb80500 [interface fc1/5 swwn 20:00:00:05:73:da:b1:50] * fcid 0xb80200 [interface fc1/2 swwn 20:00:00:05:73:da:b1:50]show zone active看的是"当前正在生效"的 zone 表,每条记录里的fcid是交换机动态分配的 FC 地址,swwn是交换机自身的 WWN。注意这里的 WWN 是交换机端口的 WWN,不是服务器 HBA 或存储端口的 WWN——zone 成员以物理接口加交换机 WWN 的形式锁定,说明 zone 是按端口划的。
查看 zoneset 是否保存成功,则用show zoneset。它的输出与 zone active 略有不同,多了interface描述而少了fcid,因为 zoneset 是静态定义,未激活前不分配 FCID:
admin# show zoneset zoneset name ZONESET_V1 vsan 1 zone name Z_FC1_5_FC1_1_V1 vsan 1 interface fc1/5 swwn 20:00:00:05:73:da:b1:50 interface fc1/1 swwn 20:00:00:05:73:da:b1:50两条命令配合着看:show zoneset确认配置没丢,show zone active确认配置已生效。如果前者有内容、后者空,说明 zoneset 定义了但没激活,这是向导配置后最容易出现的问题。
4.4 zoneset 激活:向导没告诉你的那一步
Quick Config 向导在创建 zone 的同时会生成一个 zoneset 并自动激活,这是它比手敲 CLI 省事的地方。但如果后续在 CLI 里手动新增 zone,就需要手动把它加进 zoneset 并重新激活:
admin# config terminal admin(config)# zone name Z_FC1_7_FC1_8_V1 vsan 1 admin(config-zone)# member interface fc1/7 admin(config-zone)# member interface fc1/8 admin(config-zone)# exit admin(config)# zoneset name ZONESET_V1 vsan 1 admin(config-zoneset)# member zone Z_FC1_7_FC1_8_V1 admin(config-zoneset)# exit admin(config)# zoneset activate name ZONESET_V1 vsan 1最后这条zoneset activate是关键。zoneset 是"定义",activate 才是"生效"。每次修改 zoneset 里的 zone 成员后都要重新 activate 一次,否则改动不会进入活跃表。这里的逻辑是:zone 是静态条目,zoneset 是组织单位,active zoneset 是运行时状态。三个概念各管一段,缺一个 zone 都不会出现在show zone active里。
5. zone 与 zoneset 排查:四个高频翻车场景与处理记录
5.1 浏览器打不开管理页面,连接超时或拒绝
现象:按项目正文配置完 mgmt0 地址后,浏览器访问http://10.77.77.77直接超时,或者提示无法连接。
原因有三种:第一是 http-server 服务没启用,初始化对话里选了 n;第二是 mgmt0 地址或掩码写错,交换机管理口根本不在你电脑所在的网段;第三是交换机名写成 localhost 后,某些浏览器对裸 IP 访问策略过严,但这种情况通常不会超时,而是出证书或拦截页。
解决:先在 CLI 里跑show feature | include http确认 http-server 是 enabled,再跑show interface mgmt0确认 IP 和掩码,最后从电脑上 ping 一下 10.77.77.77。如果 IP 没问题但页面还是打不开,检查电脑是否开了代理——浏览器走代理访问内网设备 IP 是常见翻车主因,关掉代理或者加例外即可。
5.2 zone 配置了,但 show zone active 里一片空白
现象:在 Device Manager 里建好了 zone,点击 Finish 后回到 CLI 执行show zone active,输出里只有一行zone name $default_zone$ vsan 1,自己建的 zone 全都不在。
原因:向导生成的 zoneset 没有被激活。Quick Config 在部分软件版本下只创建 zoneset 定义,不会自动执行 activate 操作。配置写进了show zoneset,但活跃表里是空的。
解决:回到 CLI 执行zoneset activate name ZONESET_V1 vsan 1,然后再show zone active确认。从那以后我每次配完 zone 都养成了一个习惯:show zoneset和show zone active两条命令连在一起敲,前一条错了是定义问题,后一条空了是激活问题,一眼就能定位。
5.3 telnet 能通,但 SSH 客户端怎么也连不上
现象:初始化时 telnet 选了 y、ssh 选了 n。后来想要更安全的远程管理,在电脑上用 SSH 客户端连交换机,连接被拒绝。
原因:MDS9148 的 SSH 服务不是默认启用的。初始化对话里选 n 之后,设备不会自动生成 SSH key,feature ssh也没打开。telnet 能用是因为它不需要身份密钥,但明文传输在存储网络里风险很高。
解决:在 CLI 里按顺序执行:
admin# config terminal admin(config)# feature ssh admin(config)# exit admin# crypto key generate rsacrypto key generate rsa会生成 SSH 所需的 RSA 密钥对,生成完成后 SSH 服务才会真正监听端口。注意 feature ssh 启用后如果没生成密钥,SSH 客户端连上来会直接报 "no matching key exchange method",别急着怀疑客户端版本,先看密钥。
5.4 双机场景下 zone 只在一台交换机上生效
现象:两台 MDS9148 通过 ISL 互联组成双 Fabric,在 A 交换机上配好了 zoneset 并激活,但 B 交换机上show zone active看不到任何 zone,服务器通过 B 交换机也访问不到存储。
原因:初始化对话里的Enable full zoneset distribution选了 n。这个选项控制 zoneset 是否在 Fabric 内自动分发。选了 n 的话,每台交换机各管各的 zoneset,A 上的配置不会同步到 B。
解决:在 B 交换机上也手动配置相同的 zone 和 zoneset,或者开启 full zoneset distribution 让配置自动同步。生产环境强烈建议开启分发,否则两台交换机配置漂移后,故障切换时会发现备机上的 zone 完全对不上。项目正文最后提到的"两台交换机中的 WWN 号",就是双机场景下需要核对的关键信息——两台交换机各自的 swwn 不同,按物理端口划的 zone 在每台交换机上都要用本机的 swwn 重新确认一遍。
5.5 端口插了光纤但灯不亮,show interface 显示 down
现象:物理连线都接好了,服务器 HBA 和存储端口的灯也亮了,但 MDS9148 上对应端口指示灯不亮,show interface fc1/1输出一直是 down。
原因:初始化对话里的Default switchport interface state选了 shut,所有 FC 端口默认处于 shutdown 状态。不手动no shutdown,端口永远不会 up,即使对面设备已经准备好了。
解决:找到对应的 FC 端口,执行:
admin# config terminal admin(config)# interface fc1/1 admin(config-if)# no shutdown admin(config-if)# exit如果是新划 zone 时加的端口,这个操作要在加 zone 之前做,否则 zone 里的端口全是 down 的,设备和设备之间根本建不了链路。很多新手在 Quick Config 里看到端口状态是 down,以为是光模块坏了,换了模块还是 down,最后发现只是没敲no shutdown——这个坑值得单独记一笔。
6. 配置保存与恢复:给后续割接留的后悔药
6.1 保存配置:running-config 到 startup-config
MDS9148 和所有 Cisco 设备一样,你敲的命令默认只存在 running-config 里,断电重启就没了。做完 zone 配置后,必须把配置固化成 startup-config:
admin# copy running-config startup-config这个命令没有回显确认,敲完就写入了。保险起见再看一眼show startup-config里有没有 ZONESET_V1,确认写入成功。
6.2 备份与恢复的常用做法
配置备份比想象中简单。show running-config的输出就是完整的文本配置,把它复制到本地文件,就是一份可恢复的备份。恢复时通过 CLI 粘贴回去,或者用copy start tftp:之类的远程拷贝方式。没条件搭 TFTP 服务器的话,纯文本备份也够用。注意备份文件里包含管理员密码密文和 SNMP 字符串,存放要按敏感信息对待。
6.3 重置与后悔药
万一配置改乱了,有两条路可以回退。单条命令错了用no前缀撤销;整个配置乱到没法收拾,可以erase startup-config再reload,让设备回到出厂状态重新初始化。后一条是核弹级别的操作,会把所有 zone 和 zoneset 全部清空,执行前务必确认手里有备份。我见过有人在业务割接时把这两条命令当成配置回滚用,结果整个 SAN 网络趴窝,从那以后我每次动 zone 之前都强制走一遍同样的流程:先行备份配置、做完改动马上show zoneset和show zone active双确认、最后copy running-config startup-config固化。这套动作用不到两分钟,但能在下一次故障来临前给你留好后悔药。希望帮到你。
本文还有配套的精品资源,点击获取