症状
在 Hyper-V 群集中创建 VM 后,可能会遇到大量带有标示“Event ID”的 iSCSIPrt 错误。这些错误可能会导致 VM 中断 ,以及影响 Hyper-V 环境的整体稳定性。
iSCSIPrt 错误示例
- Event 9: Target did not respond in time for a SCSI request. The CDB is given in the dump data. (目标未及时响应 SCSI 请求。CDB 在转储数据中给出)
- Event 63: Cannot reset the Target or LUN. Will attempt session recovery. (无法重置目标或 LUN。将尝试会话恢复)
- Event 34: A connection to the target was lost, but the initiator successfully reconnected to the target. Dump data contains the target name. (与目标端的连接丢失,但发起端已成功重新连接到目标。转储数据包含目标名称)
- Event 49: Target failed to respond in time to a Task Management request. (目标端未能及时响应任务管理请求)
- Event 39: Initiator sent a task management command to reset the target. The target name is given in the dump data. (发起端发送任务管理命令,重置目标。目标端名称在转储数据中给出)
发生问题的条件
此行为通常与 Hyper-V 虚拟机硬件参数设置有关,该设置称为“虚拟机队列” (VMQ)。VMQ 是一项功能,通过减少主机 CPU 处理网络传输,将负载转移到网络适配器,以此提高网络性能。
解决方案
要解决此问题,请按照以下步骤在 VM 的设置中禁用“虚拟机队列”设置 :
- 启动 Hyper-V 管理器 :
在主机上启动 Hyper-V 管理器。 - 访问 VM 设置 :
- 选择遇到问题的虚拟机。
- 右键单击 VM,然后选择“设置”。
- 导航到“网络适配器设置” :
- 在设置窗口中,展开“网络适配器”。
- 选择“硬件加速“。
- 禁用虚拟机队列 (VMQ) :
取消勾选为 “Enable virtual machine queue (启用虚拟机队列)“。 - 应用并重新启动 :
- 点击“应用“以保存更改。
- 重新启动虚拟机使更改生效。
通过禁用 VMQ 设置,您应该会看到 iSCSIPrt 错误的频率有所降低。但是,请记住,虽然这可能会解决错误消息,但可能会影响网络性能。进行此更改后,必须监控 VM 和整体网络性能。
其他注意事项
- 更新网络适配器驱动程序 : 请确保您的网络适配器具有最新的驱动程序,因为过时的驱动程序可能会导致与 VMQ 的兼容性问题。
- 确认网络配置 : 检查您的网络配置,确保您的网络基础结构没有可能导致与 iSCSI 目标通信延迟的问题。
- 查看 iSCSI 目标端和启动程序设置 : 确认 iSCSI 目标端和启动程序上的设置,确保它们配置正确,并且没有连接或性能问题。
通过解决这些设置和配置,您应该能够解决 iSCSIPrt 错误并维护稳定的 Hyper-V 群集环境。