3. 存储网络基础与Dell最佳实践

在Dell企业存储的工程交付中,主机与存储之间的“最后一公里”往往不是磁盘阵列本身,而是存储网络。同一台PowerStore、PowerMax或PowerScale,用FC、iSCSI还是NVMe over Fabrics接入,直接决定了可用的前端端口类型、交换机配置方式、主机多路径软件以及可达到的时延水平。本节围绕三条主线展开:三种协议在Dell存储中的支持矩阵、SAN交换机zoning的正确做法,以及主机侧多路径配置的关键要点。

一、三种协议在Dell存储中的支持矩阵

FC(Fibre Channel)是Dell高端与中端存储最成熟的前端协议。PowerMax、PowerStore、Unity XT、PowerVault ME系列均提供FC前端端口,通常以16Gb/32Gb/64Gb SFP光模块接入SAN交换机。FC采用独立的FC-0到FC-4分层,主机通过HBA卡以WWN(World Wide Name)标识,存储前端端口同样以WWN标识,二者通过交换机zone建立“谁可以和谁通信”的授权关系。FC的优势是确定性强、时延低、与主机多路径软件配合成熟,缺点是需要专用交换机与HBA,成本较高。

iSCSI把SCSI命令封装进TCP/IP,用标准以太网和网卡即可接入。Dell存储普遍支持iSCSI前端端口,PowerStore、Unity XT、PowerVault ME等可提供10GbE/25GbE iSCSI端口。iSCSI的标识是IQN(iSCSI Qualified Name),主机initiator IQN与存储target IQN通过发现会话建立连接。iSCSI的优势是复用现有以太网、成本低、易扩展,但需要关注网络拥塞、丢包与MTU一致性,通常建议为存储流量划分独立VLAN或独立物理网络。

NVMe over Fabrics(NVMe-oF)是面向全闪存的高性能协议,Dell在PowerStore、PowerMax、PowerScale等平台提供支持。NVMe-oF有两种承载方式:NVMe/FC(FC-NVMe)复用现有FC SAN,主机与存储使用FC-NVMe HBA和端口;NVMe/TCP则基于标准以太网,用IP网络承载NVMe命令。NVMe-oF省去了传统SCSI层的部分开销,队列深度和命令并发更高,适合对时延敏感的全闪存场景。需要注意的是,NVMe-oF对主机操作系统版本、HBA固件、交换机固件以及多路径软件都有更严格的兼容性要求,交付前必须核对Dell E-Lab Navigator或支持矩阵。

Dell存储前端协议支持矩阵与网络路径 主机侧 FC HBA WWN 标识 iSCSI NIC IQN 标识 NVMe/FC HBA FC-NVMe NVMe/TCP NIC IP 承载 多路径软件 MPIO / PowerPath 网络 / Fabric FC 交换机 Zoning / WWN 以太网交换机 VLAN / MTU FC 交换机 FC-NVMe Zone 以太网交换机 RoCE / TCP 双 Fabric 冗余 A/B 平面隔离 Dell 存储前端 FC 前端端口 16/32/64Gb iSCSI 端口 10/25GbE NVMe/FC 端口 FC-NVMe NVMe/TCP 端口 IP 承载 LUN / Volume 映射到主机 FC:WWN + Zoning;iSCSI:IQN + VLAN/MTU;NVMe-oF:FC-NVMe 或 NVMe/TCP,需核对兼容性矩阵

二、SAN交换机zoning的正确做法

Zoning的本质是“访问控制列表”,它决定哪些主机HBA的WWN可以与哪些存储前端端口的WWN建立登录关系。Dell交付中推荐使用单initiator单target(Single Initiator Single Target,SIST)或单initiator多target的zone,避免把多台主机放进同一个zone。原因很直接:一个zone内主机越多,RSCN(Registered State Change Notification)风暴影响面越大,一台主机重启或HBA故障可能引发整个zone内所有主机的路径抖动。

命名规范建议采用“主机名_HBA端口号_存储名_前端端口号”的形式,例如 APP01_HBA0_PWRST_A0。这样在交换机上执行 zoneshow 或 cfgshow 时,能一眼看出这条zone连接的是哪台主机、哪块HBA、哪台存储的哪个端口。Zone配置完成后必须执行 cfgsave 保存到配置,再 cfgenable 激活;只做 zonecreate 而不激活,主机侧是看不到新路径的。

对于双Fabric架构,A平面和B平面必须完全隔离,同一台主机的HBA0接入Fabric A,HBA1接入Fabric B,存储的对应前端端口也分别接入两个Fabric。这样任何单个交换机、单条链路或单个SFP故障,都不会导致主机失去全部路径。交付检查时,应在两台交换机上分别确认zone成员、激活配置和端口状态,并核对主机侧 lspci 或 systool -c fc_host 看到的WWN与zone中登记的一致。

三、多路径配置要点

多路径的目标是让主机同时看到同一LUN的多条路径,并在路径故障时自动切换、在路径恢复后自动回切。Windows主机通常使用Dell EMC PowerPath或原生MPIO;Linux主机使用DM Multipath(device-mapper-multipath);VMware ESXi使用NMP(Native Multipathing Plugin)配合SATPs。无论哪种,核心参数都是路径选择策略和故障切换策略。

以Linux DM Multipath为例,/etc/multipath.conf 中需要为Dell存储的Vendor/Product设置 path_grouping_policy。对于PowerStore、PowerMax这类Active/Active或ALUA(Asymmetric Logical Unit Access)阵列,推荐 path_grouping_policy multibus 或 group_by_prio,配合 path_checker tur 和 failback immediate。如果错误地使用 failover 策略,主机可能只使用一条路径,其余路径处于待机状态,无法发挥多路径的带宽聚合与冗余效果。

# /etc/multipath.conf 示例片段(Dell PowerStore)
defaults {
    user_friendly_names yes
    path_checker tur
    failback immediate
    no_path_retry 30
}
devices {
    device {
        vendor "DellEMC"
        product "PowerStore"
        path_grouping_policy multibus
        path_selector "service-time 0"
        prio alua
    }
}

配置完成后,用 multipath -ll 查看路径聚合结果。正常输出中,同一个LUN应显示为一条 mpathX 设备,下面挂载多条 sdX 路径,且各路径的 dm-status 为 active ready running。如果只看到一条路径,或路径状态为 failed faulty,应回到zoning和交换机端口状态排查。Windows侧可用 mpclaim -s -d 查看MPIO路径,PowerPath用 powermt display dev=all 查看,重点确认每条路径的 State 为 alive。

交付建议:在主机接入存储前,先完成交换机zone激活和存储前端端口在线检查;主机侧多路径配置完成后,再做一次单路径拔纤或端口disable测试,确认业务不中断、路径能自动切换,才算真正完成存储网络交付。

最后需要强调,FC、iSCSI、NVMe-oF并不是互斥的,同一台Dell存储可以同时提供多种前端协议。工程交付时应根据业务等级、主机操作系统、现有网络资产和时延要求选择协议组合,并始终以Dell官方支持矩阵和E-Lab Navigator的兼容性结论为准,避免因固件版本或驱动版本不匹配导致路径异常。