Cisco MDS9148光纤交换机配置实战:VSAN、Zone与NPV模式详解 简介Cisco MDS9148 SAN交换机的基础配置讲解面向数据中心存储网络运维人员、系统管理员以及刚接触光纤通道交换环境的初学者适合按文档顺序从零完成上线配置也可用于在线排错复习。文档从串口控制台初始化入手完整覆盖admin密码与登录账户设置、基本系统配置对话中的SNMP读写社区字符串选项以及交换机命名、mgmt0管理地址、默认网关、SSH/Telnet/HTTP服务开关等核心环节配置范围继续延伸到接口默认状态、trunk模式、端口模式F、Zoning区域策略与全zoneset分布并顺带梳理到VLAN、FCoE、QoS等后续进阶方向令读者对MDS9148的配置体系形成整体认知。实操层面同时提供命令行对话框交互示例和浏览器端安装Cisco Device Manager、利用Quick Config向导建立并验证zone激活状态的操作路线命令输出与界面指引相互对照便于在真机或模拟环境跟做也为后续维护变更提供参考依据。包体为单份PDF文档大小约39KB内容紧凑适合离线阅读和现场速查目前已有1817人学习对首次上手MDS9148或需要快速完成基本上线配置的工程师具有实用价值。1. 为什么 MDS9148 的配置让人卡在第一步手里这台cisco MDS9148 配置步骤里最容易让人翻车的不是某条命令写错而是没搞清它是一个存储网络交换机不是以太网交换机。很多人拿它当普通交换机配配完发现主机就是发现不了存储问题不在线缆和端口而在 FC 协议栈里的 VSAN、Zone、NPV 这些概念。MDS9148 是一部 48 口的光纤交换机承载的是服务器和存储阵列之间的 FC 流量配它的核心是告诉设备哪些端口在同一个虚拟网络里、谁可以访问谁这个逻辑一旦理顺配置步骤非常机械。这篇文章面向两类人被临时叫去配 SAN 交换机的系统工程师以及准备替换旧 SAN 交换机、需要把配置迁移到 MDS9148 的存储运维。我按实际交付顺序来讲——初始接入、VSAN 与 Zone、NPV 模式、排错手法最后收在验证和备份习惯上。2. 从拆箱到能登上去MDS9148 首次接入与管理网络配置2.1 Console 线直连MDS9148 上电后的第一件事MDS9148 出厂不带管理 IP也没有 DHCP 自动获取第一次必须用 Console 线进带外管理。随机附带的 DB9-RJ45 转接头一端插交换机 Console 口一端插笔记本串口或 USB 转串口。串口参数固定为 9600 波特率、8 数据位、无校验、1 停止位。连接后上电会看到 boot 信息刷屏等出现login:提示符后用默认账号admin、密码admin登录系统会强制要求修改初始密码。login: admin password: admin You are required to change the password. Enter new password: ****** Confirm new password: ******修改密码这一步建议顺手把密码复杂度拉满至少要含大小写和数字。这个密码就是后续 SSH 登录的凭证。登录成功后进的是 NX-OS 风格的命令行MDS 系列用的是 SAN-OS 演化过来的系统命令走configure terminal这种模式和 Catalyst 交换机相似但不完全一样。需要注意一个差别MDS 上很多功能默认是关闭的不显式开就不会生效。比如 FC 接口的收发、Zone 功能、NPV 功能都有对应的开关。这和普通交换机的端口默认就是通的完全不同先有这个意识后面才不容易被坑。2.2 配置管理 IP 与默认路由没有它 SSH 就无从谈起管理口是mgmt0用普通网线接带外管理网。配置管理地址后后续所有操作都可以走 SSHConsole 线可以拔掉。switch# configure terminal switch(config)# interface mgmt0 switch(config-if)# ip address 192.168.10.25/24 switch(config-if)# no shutdown switch(config-if)# exit switch(config)# ip default-gateway 192.168.10.1 switch(config)# copy running-config startup-config管理口没有speed和duplex需要手动指定自动协商就好。ip default-gateway在 NX-OS 上对 mgmt0 生效这条必须有否则从业务网跨网段永远连不进来。配完后用show interface mgmt0确认状态重点看Internet address和MTU两行。再用一台电脑 ping 一下管理地址通了就说明带外链路没问题。如果 ping 不通大概率不是地址配错而是管理网段本身有访问限制或者笔记本的网卡没配同段地址。2.3 开启 SSH 远程管理远程交付的前提默认情况下 SSH 服务可能没启需要手动开启。MDS 上 SSH 依赖 RSA 密钥对首次启用必须先生成密钥。switch(config)# ssh key rsa 2048 switch(config)# feature ssh switch(config)# copy running-config startup-configssh key rsa 2048生成主机密钥feature ssh启动 SSH 服务。之后用任意 SSH 客户端就能登录例如ssh admin192.168.10.25登录后建议先跑一遍show version和show license usage。show version能看到系统版本和运行时间show license usage则用来确认端口授权是否生效——MDS9148 的 48 个 FC 口里默认可能只有部分口有许可。如果之后发现某个口配了no shutdown也不 up先回来查许可不用急着查光模块和线缆。3. 让两台设备互相看见VSAN 与 Zone 配置的核心逻辑与命令顺序3.1 VSAN 与 Zone 的关系先把概念理顺再动手FC 网络里有三个层级物理端口、VSAN、Zone。VSAN 是把一台物理交换机切分成多个独立的虚拟 Fabric相当于以太网里的 VLAN。Zone 是在同一个 VSAN 内部把不同的端口或 WWN 划分成允许互访的小组相当于防火墙规则。三者关系可以用一个比喻理解VSAN 是房间Zone 是房间里允许互相通话的人。不同 VSAN 之间默认完全隔离同 VSAN 下不同 Zone 之间也默认不可访问。MDS9148 的默认 Zone 策略是 deny也就是说如果只是把端口插上、把 VSAN 配好没有任何 Zone 被激活主机和存储是互相看不见的——这就是很多人配完 MDS 后业务不通的第一大原因。3.2 创建 VSAN 并分配端口先把存储链路物理打通登录设备后第一步是创建业务 VSAN。生产环境建议单独建 VSAN不要用默认的 VSAN 1。switch# configure terminal switch(config)# vsan database switch(config-vsan-db)# vsan 100 switch(config-vsan-db)# vsan 100 name PROD switch(config-vsan-db)# exitvsan database进入 VSAN 管理模式vsan 100创建编号为 100 的 VSANname PROD是别名方便后续show的时候识别。VSAN 编号范围是 1 到 4093但生产环境常用的是 100、200、300 这类分段编号方便留余量。接下来把物理 FC 口划进 VSAN。MDS9148 的 FC 口编号规律是fc1/1到fc1/48其中1是模块号。服务器和存储分别接到不同端口例如服务器接fc1/1存储阵列举接fc1/2switch(config)# interface fc1/1 switch(config-if)# switchport mode F switch(config-if)# switchport vsan 100 switch(config-if)# no shutdown switch(config-if)# exit switch(config)# interface fc1/2 switch(config-if)# switchport mode F switch(config-if)# switchport vsan 100 switch(config-if)# no shutdownswitchport mode F表示端口以 Fabric 端口模式工作也就是连接终端设备服务器 HBA 卡、存储控制器。如果一端要接另一台交换机做级联那端要配成 E 模式switchport mode E。MDS 9148 在两台同型号交换机级联时会自动协商 E 端口但如果对方是老设备手动指定更稳妥。端口配完用show interface fc1/1查看状态up表示物理链路通了。这时候还没完因为 Zone 还没配设备依然无法互相访问。3.3 Zone 与 Zone Set 配置存储业务放通的最后一道工序Zone 的配置顺序有讲究创建 Zone、加成员、创建 Zone Set、把 Zone 加进 Zone Set、激活 Zone Set。五步缺一不可顺序也不能乱。switch(config)# zone name ZONE_HOST1_STORAGE vsan 100 switch(config-zone)# member pwwn 10:00:00:90:fa:12:34:56 switch(config-zone)# member pwwn 50:00:09:ff:00:aa:bb:cc switch(config-zone)# exit switch(config)# zoneset name ZS_PROD vsan 100 switch(config-zoneset)# member zone ZONE_HOST1_STORAGE switch(config-zoneset)# exit switch(config)# zoneset activate name ZS_PROD vsan 100成员可以用 WWN 指定也可以用端口指定。WWN 是光纤设备唯一的硬件地址10:00:00:90:fa:12:34:56是某台服务器 HBA 卡的 WWPN50:00:09:ff:00:aa:bb:cc是存储阵列一个控制器的 WWPN。生产环境强烈建议用 WWN 做成员因为这样更换物理端口后 Zone 不用改服务器从 FC1/1 换到 FC1/5只要 HBA 卡没换Zone 依然有效。如果要按端口加成员写法是switch(config-zone)# member interface fc1/1端口方式的缺点是换线就得改 Zone维护量大适合临时测试环境。zoneset activate是让配置立即生效的动作这一步漏掉前面全白做。激活后可以立即查看生效配置switch# show zoneset active vsan 100看到ZONE_HOST1_STORAGE在输出里、且状态是active说明配置已生效。再让主机侧重新扫描 HBA 卡通常就能发现存储 LUN 了。3.4 保存配置与双机冗余 Zone 设计配置完成后必须存盘不然断电重启全部丢失。MDS 的运行配置保存在 running-config 里启动配置在 startup-configswitch# copy running-config startup-config多台交换机组成 Fabric 的场景需要在每台设备上都建相同名字的 VSAN 和 Zone。如果 A 交换机上建了ZONE_HOST1_STORAGEB 交换机上没建两台设备级联后会出现 Zone merge 失败Fabric 分裂主机可能只能看到一半存储路径。正确做法是在每台交换机上都统一规划好 VSAN 和 Zone 命名规范比如ZONE_主机名_存储名。这样即使未来有第三台交换机加入Zone 信息也能自动同步不用逐台手工比对。4. 被当透明设备用MDS9148 的 NPV 模式与上联收敛配置4.1 什么时候该用 NPV 模式而非全功能 FabricMDS9148 有两种主要工作方式标准 Fabric 模式和 NPVN_Port Virtualization模式。标准模式下这台交换机是独立的 Fabric 核心负责 Zone、VSAN、转发等全部功能。NPV 模式下它更像一个流量汇聚器自身不维护 Zone 和 VSAN 规则而是把终端设备的上行流量转交给上联的 SAN 核心交换机处理。何时该用 NPV典型场景是接入层已经有了一台核心 SAN 交换机例如某大型机房的 MDS 9500 系列机柜里不够放太多光纤线可以在每排机柜部署一台 MDS9148用少量上联光缆接到核心设备下联口接服务器 HBA。这样 Zone 只在核心交换机上配一次接入层交换机不需要逐台维护 Zone 配置。4.2 切换到 NPV 模式一条命令后的配置差异MDS9148 出厂默认是标准 Fabric 模式切换到 NPV 模式需要显式开启功能并且切换前要确认没有业务流量在跑——切换过程会让所有 FC 口中断一次。生产变更建议安排在维护窗口。switch# configure terminal switch(config)# feature npv switch(config)# exit开启feature npv后设备通常会自动进入 NPV 模式。此时不能用标准模式下的 Fabric 端口配置端口角色变成两类向核心交换机方向的 NP 口N_Port向下接终端设备方向的 F 口。NP 口承担上联F 口连接服务器。手动配置一个 NP 上联口switch(config)# interface fc1/47 switch(config-if)# switchport mode NP switch(config-if)# switchport vsan 100 switch(config-if)# no shutdown上面的命令把fc1/47设为 NP 模式并划入 VSAN 100。NPV 模式下 VSAN 还是要指定的表示这台接入交换机加入哪个 VSAN 域。上联口可以配一个或多个通常建议至少两个口分别上联到两台核心交换机形成冗余路径。4.3 NPV 模式下 Zone 配在哪别在这台机器上白费力气NPV 模式最大的认知误区是有人拿到 MDS9148 后直接配 Zone发现命令能敲进去但不生效因为 NPV 模式下不上报自己的 Zone 信息。正确逻辑是——在 NPV 模式下全部 Zone 规则都由上联核心交换机下发MDS9148 只是把终端的登录取证请求透明转发。所以在这个模式下验证配置的方式不是看本地 Zone 状态而是switch# show npv status switch# show npv flogi-tableshow npv status能看到上联口是否注册成功show npv flogi-table能看到所有通过本交换机登录到 Fabric 的终端设备 WWN 列表。如果上联没注册先查上联口物理状态和速率协商再查核心交换机那边的 Zone 是否包含了这台终端设备的 WWN。4.4 混合模式与迁移建议部分环境下 MDS9148 会同时承担两种角色一部分口做 NPV 上联一部分口做直连终端设备。这种场景不需要额外配置只要把不同端口分别配成 NP 和 F 即可。但要注意NPV 模式下所有 Zone 统一由核心管理如果核心交换机不可达接入层的终端也无法获取存储路径所以上联链路至少有两条不同路径才可靠。迁移老交换机到 MDS9148 时的常见做法是先把 MDS9148 切换为 NPV 模式线缆从老交换机拔下插到新设备的 F 口上联口接到核心交换机然后逐台重扫描主机 HBA。这样每台服务器停机时间大约只有拔插线缆和重新扫描的时间比逐台换交换机后再手工配 Zone 快得多——也少了很多手误。5. 常见问题与排查Zone 无效、链路起不来、配置丢失的 5 个血泪坑5.1 Zone 配完业务不通查 Zone Set 是否激活现象按标准流程创建了 Zone 和 Zone Setshow zone能看到条目但主机扫描不到存储 LUN。原因两次踩过同样的坑——只创建了 Zone Set忘了执行zoneset activate。Zone Set 不激活配置只存在于配置文件中不参与转发。另外MDS 上已经激活的 Zone Set 被修改后新加的 Zone 成员需要重新激活一次才会生效。解决执行zoneset activate name ZS_PROD vsan 100激活后再用show zoneset active vsan 100确认。注意激活必须指定 VSAN不同 VSAN 的 Zone Set 互不影响。5.2 多台交换机级联后 Fabric 分裂Zone Merge 失败的典型症状现象两个 MDS9148 用光纤线级联show interface fc1/10看端口是 up但show fc domain发现两台设备的 Domain 编号不一致主机在多路径软件里看到某些 LUN 路径 offline。原因Zone merge 失败。简化版解释是级联的两台设备会交换 Zone 信息如果对方有同名 Zone 但成员不同例如 A 交换机的ZONE_HOST1包含两个 WWNB 交换机同名 Zone 只有一个merge 会失败Fabric 保持在 isolated 状态。解决在两台设备上分别执行show zone vsan 100逐条比对同名 Zone 的成员。让成员完全一致后再执行zoneset activate触发重新 merge。如果人工比对太费劲可先在某台设备上把可疑 Zone 改名让 merge 成功再通过show zone status确认。5.3 FC 口 up 了但协议一直 down速率协商和许可问题现象show interface fc1/1物理链路显示 up但show interface fc1/1 | include protocol显示 down。或者链路干脆显示sfp not present但光模块明明插了。原因分成两类。第一类是两端速率不匹配比如存储端口强制 16GMDS9148 的端口自动协商失败。第二类是这个 FC 口没有有效的端口许可MDS9148 的端口许可按数量授权超出授权的口即使物理插线也不会正常收发。解决先查许可switch# show license usage如果看到Port License剩余数量远小于配置口数需要先释放许可或购买授权。速率问题则在接口模式下手动指定或关闭自动协商switch(config)# interface fc1/1 switch(config-if)# switchport speed 16000 switch(config-if)# no switchport speedswitchport speed 16000表示锁定 16Gno switchport speed恢复自动协商。遇到协议起不来的情况优先看show interface输出里的Speed行两端速率不一致一眼就能看出来。这里常见的是把 8G 的存储端口连到了默认 16G 的交换机口改成 8G 就能起来。5.4 重启后配置全没了忘记保存启动配置现象机房断电后 MDS9148 重启所有 VSAN、Zone、接口配置全部消失设备回到出厂状态。原因配置只存在于 running-config没有copy running-config startup-config。NX-OS 不像某些网络设备会自动保存运行配置断电即丢。解决每完成一次变更就执行copy running-config startup-config存盘。更稳妥的做法是配完一个功能模块就存一次不要攒到最后一起存。另外可以定期用show running-config导出配置文本备份到本地作为可读的配置审计记录。5.5 主机能看到存储但 I/O 性能异常多路径链路只认到一半现象主机多路径软件显示 4 条路径但只有 2 条 active另外 2 条 degraded存储 I/O 延迟升高。原因服务器 HBA 两个端口分别接到了 MDS9148 的fc1/1和fc1/2但 Zone 里只添加了其中一个口的 WWPN。存储控制器也有两个端口只添加了其中一个 WWPN。结果就是只有一半路径能通。解决把服务器 HBA 两个端口和存储控制器两个端口的 WWPN 都加入同一个 Zone。可以从服务器多路径软件里查看所有 WWPN也可以在 MDS 上用show flogi database查看当前所有登录设备的 WWPN。switch# show flogi database vsan 100得到每个端口实际登录的 WWPN 后把完整四元组双 HBA 双控制器加进 Zone 并重新激活。这里的习惯做法是先确认主机侧多路径能看到几个 WWPN再决定加哪些成员——不要凭记忆写 WWPN以show flogi database的实输出为准。6. 用 show 命令验证整套配置上线前最后 5 分钟检查清单配置全部完成后不要急着收工按固定顺序跑一遍验证命令。我自己交付 MDS9148 时习惯用五条命令完成最终核验全部通过再交维switch# show interface summary switch# show vsan 100 switch# show zoneset active vsan 100 switch# show flogi database vsan 100 switch# show npv statusshow interface summary看所有 FC 口的物理与协议状态是否都是 upshow vsan 100确认 VSAN 存在且名字正确show zoneset active确认 Zone Set 已激活show flogi database能看到所有成功登录的设备 WWPN主机 HBA 和存储控制器都应该出现在列表里如果配置了 NPV 模式show npv status确认上联口状态是Upstream。考虑再用 ping 验证管理面ping 192.168.10.25 source 192.168.10.20这只是验证带外管理可达不代表业务通了。业务是否通要看主机侧多路径软件能否发现 LUN。这里我会让存储侧把 LUN 映射做好主机侧重新扫描 HBA再观察多路径状态。如果多路径 all paths active这个配置基本就是干净的。验证之后导出配置留档switch# show running-config | no-more输出的文本建议完整保存到本地文件名带日期。这个文件既是一个可读的交付文档也是将来回滚的参考资料。我的习惯是每完成一次变更就导出一份版本对比时用 diff 工具看变化比翻聊天记录靠谱得多。MDS9148 不是一台天天需要改配置的设备配好之后可以稳定跑好几年。但正因为变更频率低每次配置都值得把验证和备份做扎实——真到出问题那天这些基础设施习惯能省下大把排查时间。希望帮到你。本文还有配套的精品资源点击获取