首页/系统与基础设施/存储速查/NVMe-oF 多路径与发现控制器
SAN 与光纤通道60 条

NVMe-oF 多路径与发现控制器

NVMe-oF 多路径依赖发现控制器返回的子系统与访问状态信息,主机据此建立多条连接,再由原生多路径或通用多路径软件聚合。判断健康的标准是路径数与规划一致、优化状态路径承担主要 I/O、两种多路径方案不叠加;具体状态取值与策略选项以对应版本文档为准。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​‌‌‌​​‌‌‌​‌‌​​‌‌​‌‌​‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌‌​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​‌​‌​‌‌​‌‌​​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌‌​‌‌​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌‌‌​​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

发现控制器与访问状态

NVMe-oF 多路径的第一步是发现:主机向发现控制器查询可用子系统、传输类型、地址与命名空间当前的访问状态,然后据此建立连接。访问状态由存储侧的非对称命名空间访问机制给出,用于指示哪条路径处于优化状态、哪条处于非优化或不可访问状态。主机侧多路径有两种实现:使用内核原生多路径把多条路径聚合成一个块设备,或关闭原生多路径改用通用多路径软件,两者不叠加使用。

基本信息

发现方式向发现控制器查询,返回可连接目标清单
关键信息子系统名称、地址、传输类型、命名空间访问状态
原生多路径内核把同一子系统的多条路径聚合成一个块设备
替代方案关闭原生多路径,交给通用多路径软件管理
权限要求主机 root/管理员,存储侧授权配置

典型使用场景

  • 双控制器存储接入主机时确认两条路径均被发现并处于优化状态
  • 排查主机只连到一条路径或路径状态异常
  • 多路径软件与原生多路径混用导致设备重复,需要统一定位
  • 扩容或控制器切换后核对路径状态是否恢复到预期
  • 评估路径选择策略对延迟与吞吐的影响

发现与多路径检查

发现与多路径检查
# 1) 发现可用子系统
nvme discover -t tcp -a 10.0.20.11 -s 4420
# 2) 连接全部发现到的目标
nvme connect-all -t tcp -a 10.0.20.11 -s 4420
# 3) 查看子系统下的路径与访问状态
nvme list-subsys
# 4) 确认原生多路径与路径选择策略的当前设置
cat /sys/module/nvme_core/parameters/multipath
cat /sys/module/nvme_core/parameters/io_policy

状态与策略判读

观察项含义异常提示
优化状态路径应承载主要 I/O全部为非优化状态需核对存储侧端口组
不可访问状态当前无法承载 I/O长期存在说明端口或链路有问题
路径数与规划一致少于规划值说明连接或授权缺失
原生多路径开关与多路径方案匹配与通用多路径同时启用会造成设备重复
路径选择策略与业务负载匹配策略不当导致单路径忙其余空闲
访问状态的取值与含义、以及路径选择策略的可选项随内核与存储实现不同,配置前应以对应版本的官方文档为准。
原生多路径与通用多路径软件同时管理同一设备,会让同一存储出现重复块设备并可能被同时写入,属于高风险配置,切换方案时必须先断开一侧。

易错点

  • 原生多路径与通用多路径同时启用,同一存储出现重复块设备并可能被并发写入
  • 只检查连接是否成功,不核对访问状态,流量长期跑在非优化路径上
  • 发现服务地址变更后未更新主机配置,扩容目标无法被发现
  • 断开路径时未确认命名空间是否仍可访问,直接中断唯一可用通路
  • 路径策略选用与业务负载不匹配,出现单路径饱和而其他路径空闲

数据来源与参考

  • NVM Express over Fabrics Specification(发现服务与非对称命名空间访问)
  • Linux nvme-cli 官方文档
  • Linux 内核 nvme 多路径与路径策略参数说明

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/nvme-of-multipath-discovery.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​‌‌‌​​‌‌‌​‌‌​​‌‌​‌‌​‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌‌​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​‌​‌​‌‌​‌‌​​​‌‌‌​‌​​​‌‌​‌​​‌​‌‌‌​​​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​‌​​​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌‌​‌‌​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌‌‌​​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​