Skip to main content
SAN hosts and cloud clients
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

故障排除

贡献者

在对RHEL、OL和SUSE Linux Enterprise Server主机的任何NVMe-oF故障进行故障排除之前、请验证您运行的配置是否符合互操作性表工具(IMT)规范、然后继续执行后续步骤以调试任何主机端问题。

备注 故障排除说明不适用于AIX、Windows和ESXi主机。

启用详细日志记录

如果您的配置包含问题描述 、则详细日志记录可提供故障排除所需的基本信息。

用于为Qlogic (qla2xxx)设置详细日志记录的操作步骤 与用于设置lpfc详细日志记录的操作步骤 不同。

lpfc

设置NVMe/FC的lpfc驱动程序。

步骤
  1. 设置 lpfc_log_verbose 将驱动程序设置为以下任意值以记录NVMe/FC事件。

    #define LOG_NVME 0x00100000 /* NVME general events. */
    #define LOG_NVME_DISC 0x00200000 /* NVME Discovery/Connect events. */
    #define LOG_NVME_ABTS 0x00400000 /* NVME ABTS events. */
    #define LOG_NVME_IOERR 0x00800000 /* NVME IO Error events. */
  2. 设置值后、运行 dracut-f 命令并重新启动主机。

  3. 验证设置。

    # cat /etc/modprobe.d/lpfc.conf options lpfc lpfc_log_verbose=0xf00083
    
    # cat /sys/module/lpfc/parameters/lpfc_log_verbose 15728771
qla2xxx

NVMe/FC没有类似于的特定qla2xxx日志记录 lpfc 驱动程序。而是应设置常规qla2xxx日志记录级别。

步骤
  1. ql2xextended_error_logging=0x1e400000 值附加到相应的 modprobe qla2xxx conf 文件中。

  2. 执行 dracut -f 命令、然后重新启动主机。

  3. 重新启动后、验证是否已启用详细日志记录:

    # cat /etc/modprobe.d/qla2xxx.conf

    示例输出:

    options qla2xxx ql2xnvmeenable=1 ql2xextended_error_logging=0x1e400000
    # cat /sys/module/qla2xxx/parameters/ql2xextended_error_logging
    507510784

常见NVMe-CLI错误和解决方法

显示的错误 nvme-cli 期间 nvme discovernvme connect`或 `nvme connect-all 下表显示了操作和解决方法:

错误消息 可能的发生原因 临时解决策

无法写入 /dev/nve-Fabric :参数 无效

语法不正确

验证是否对使用了正确的语法 nvme discovernvme connect,和 nvme connect-all 命令

无法写入 /dev/nve-Fabric :没有此类文件或目录

可能会出现多个问题、例如、为NVMe命令提供错误的参数是常见原因之一。

  • 确认已将正确的参数(例如、正确的WWNN字符串、WWPN字符串等)传递给命令。

  • 如果参数正确、但您仍看到此错误、请检查是否存在 /sys/class/scsi_host/host*/nvme_info 命令输出正确、NVMe启动程序显示为 `Enabled`和NVMe/FC目标LIF会正确显示在远程端口部分下。示例

    # cat /sys/class/scsi_host/host*/nvme_info
    NVME Initiator Enabled
    NVME LPORT lpfc0 WWPN x10000090fae0ec9d WWNN x20000090fae0ec9d DID x012000 ONLINE
    NVME RPORT WWPN x200b00a098c80f09 WWNN x200a00a098c80f09 DID x010601 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000000000006 Cmpl 0000000000000006
    FCP: Rd 0000000000000071 Wr 0000000000000005 IO 0000000000000031
    Cmpl 00000000000000a6 Outstanding 0000000000000001
    NVME Initiator Enabled
    NVME LPORT lpfc1 WWPN x10000090fae0ec9e WWNN x20000090fae0ec9e DID x012400 ONLINE
    NVME RPORT WWPN x200900a098c80f09 WWNN x200800a098c80f09 DID x010301 TARGET DISCSRVC ONLINE
    NVME Statistics
    LS: Xmt 0000000000000006 Cmpl 0000000000000006
    FCP: Rd 0000000000000073 Wr 0000000000000005 IO 0000000000000031
    Cmpl 00000000000000a8 Outstanding 0000000000000001
  • 目标LIF在中未显示如上 nvme_info 命令输出、请检查 /var/log/messagesdmesg 命令输出、用于报告任何可疑的NVMe/FC故障、并相应地进行报告或修复。

没有要提取的发现日志条目

通常会在出现时观察到 /etc/nvme/hostnqn 字符串未添加到NetApp阵列上的相应子系统或不正确 hostnqn 字符串已添加到相应的子系统中。

验证是否准确 /etc/nvme/hostnqn 字符串已添加到NetApp阵列上的相应子系统中(使用进行验证 vserver nvme subsystem host show 命令)。

无法写入 /dev/nve-Fabric :操作已在进行中

在控制器关联或指定操作已创建或正在创建时观察到。在上述自动连接脚本中可能会发生这种情况。

无尝试运行 nvme discover 命令。适用于 nvme connectconnect-all、运行 nvme list 命令以验证是否已创建命名空间设备并将其显示在主机上。

何时联系技术支持

如果您仍然遇到问题、请收集以下文件和命令输出并联系 "NetApp 支持" 进一步鉴别:

cat /sys/class/scsi_host/host*/nvme_info
/var/log/messages
dmesg
nvme discover output as in:
nvme discover --transport=fc --traddr=nn-0x200a00a098c80f09:pn-0x200b00a098c80f09 --host-traddr=nn-0x20000090fae0ec9d:pn-0x10000090fae0ec9d
nvme list
nvme list-subsys /dev/nvmeXnY