可触发 ESX Server 将 LUN 故障切换到另一个路径的 SCSI 事件
search cancel

可触发 ESX Server 将 LUN 故障切换到另一个路径的 SCSI 事件

book

Article ID: 301427

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免责声明:本文为 SCSI events that can trigger ESX server to fail a LUN over to another path (1003433)的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


SCSI 事件会触发在 ESX 主机上发生路径故障切换。SCSI 和故障切换事件记录在文件 /var/log/vmkernel 中。


Environment

VMware vSphere ESXi 5.1
VMware vSphere ESXi 6.0
VMware ESXi 4.1.x Embedded
VMware ESXi 4.0.x Embedded
VMware ESXi 4.0.x Installable
VMware ESX Server 2.1.x
VMware ESX Server 3.0.x
VMware ESX Server 3.5.x
VMware ESXi 3.5.x Installable
VMware vSphere ESXi 5.5
VMware ESX Server 2.5.x
VMware ESXi 4.1.x Installable
VMware ESX 4.1.x
VMware ESX 4.0.x
VMware ESX Server 2.0.x
VMware vSphere ESXi 5.0
VMware ESXi 3.5.x Embedded

Resolution

有多种情况会触发 ESX Server 故障切换到另一个可用的路径:

  1. 0/1 0x0 0x0 0x0 - DID_NO_CONNECT

    当光纤交换机返回 DID_NO_CONNECT 状态时,ESX 主机检测到目标不复存在。当光纤交换机出现故障、物理电缆断开或区域发生更改而致使 ESX 主机无法再看到阵列时,将出现 DID_NO_CONNECT 状态。

    注意:这是唯一会同时影响主动/主动和主动/被动阵列的感知代码。其他感知代码只会在主动/被动阵列上触发故障切换。

  2. 2/0 0x3 0x4 0x3 - MEDIUM ERROR - LOGICAL UNIT NOT READY



    2/0 0x5 0x4 0x3 - ILLEGAL REQUEST - LOGICAL UNIT NOT READY

    介质错误和非法请求指示 LUN 未处于就绪状态。要求对阵列进行手动干预,以纠正此问题。

  3. 2/0 0x2 0x4 0xa - NOT_READY - LUN IS NOT READY AND TARGET PORT IS IN TRANSITION

    LUN 未就绪,目标端口正在转换中,在以下情况下会发生错误:

    • LUN 的所有权在主动/被动阵列上的存储处理器之间转换。
    • LUN 处于转换状态。例如,首次创建 LUN 时。

  4. 0/7 0x0 0x0 0x0 - INTERNAL ERROR - DID_ERROR (Storage Initiator Error)

    ESX 3.5 引入了新的故障切换条件,允许我们在 EMC Clariion SP 挂起时能够识别出来并可发出其他命令来验证其状态。捕获到此 SCSI 代码时,ESX 主机会查询对等 SP,以查看初始 SP 是否仍然处于活动状态。如果对等 SP 未能获得响应,将启动故障切换,且 SP 被标记为挂起/死机。

    注意:可以查看其他阵列的 0x7 0x0 0x0 0x0 代码,不过,这并不一定表示存储控制器处于脱机状态或不能工作。存储启动器错误出现的原因有多种,如果这些消息导致您的环境出现问题,应由我们的支持团队将其作为一个单独的问题加以调查。在 vmkernel.log 文件中,您会看到类似以下内容的条目:

    H:0x0 D:0x2 P:0x0 Valid sense data:0x6 0x29 0x0

    注意:有些 Emulex 固件存在一个已知的问题,会导致返回此主机代码。有关更多/相关信息,请参见 When using Emulex HBAs, SCSI commands fail with the status: Storage Initiator Error (1029456)

  5. 2/0 0x5 0x94 0x1 - ILLEGAL REQUEST - SCSI_ASC_INVALID_REQ_DUE_TO_CURRENT_LU_OWNERSHIP

    此代码特定于基于 LSI 的阵列(IBM FastT、IBM DS4000 系列、SUN StorageTek),并表明已向非自有存储控制器发出请求。由于 AVT(自动卷传输)已禁用,ESX 主机会处理相应条件并故障切换到其他控制器。

  6. 2/0 0x5 0x25 0x0 - ILLEGAL REQUEST - LOGICAL UNIT NOT SUPPORTED

    ESXi 5.0 引入了新的感知代码,用来处理永久设备丢失 (PDL) 的情况。当 LUN 不再可用或取消映射时,通常设置 LOGICAL UNIT NOT SUPPORTED

    注意
  7. 2/0 0x2 0x4 0x1 - NOT READY - LOGICAL UNIT IS IN PROCESS OF BECOMING READY

    基于 IBM FAStT LSI 的阵列在非破坏性固件升级过程中使用此感知代码,以告知主机依次停止使用每个 SP。

    如果 ESX 主机收到上述所列以外的 SCSI 代码,将不会发生故障切换。

  8. 2/0 0x6 0x2a 0x6 - UNIT ATTENTION - ASYMMETRIC ACCESS STATE CHANGED

    2/0 0x2 0x4 0xb - NOT READY - LOGICAL UNIT NOT ACCESSIBLE, TARGET PORT IN STANDBY STATE

    这些感知代码特定于配置中启用了 alua_failover 的 ALUA 环境。有关 ALUA 环境的详细信息,请参见:


Additional Information

SCSI events that can trigger ESX server to fail a LUN over to another path
在 vSphere 6.0 中存储 PDL 响应可能不会触发路径故障切换