PowerEdge:由于 vFC LUN 数量有限,Microsoft Hyper-V 虚拟机实时迁移失败
摘要: 由于 Windows 体系结构和硬件配置限制了 vFC LUN 的数量,在打开虚拟机后,Microsoft Hyper-V 虚拟机 (VM) 实时迁移可能会失败或没有映射 LUN。
症状
部署 Hyper-V 虚拟光纤通道 SAN 配置以将存储 LUN 映射到虚拟机可能会在虚拟机实时迁移期间遇到故障,或者在虚拟机开机后遇到没有映射 LUN 的问题。
当出现虚拟机实时迁移问题时,检查 Windows 事件日志,事件源中的事件 ID 32218,”Hyper-V-SynthFC“,表示失败原因是”在虚拟 HBA 的目标上未看到源计算机上的所有 LUN。
光纤通道适配器...”和”Expected XX LUNs, Found: 0 LUNs”
此问题可能在具有 Marvell/QLogic FC HBA 适配器和其他供应商卡的 Dell PowerEdge 服务器上安装的所有版本的 Windows Server作系统上观察到,并且独立于虚拟机的来宾作系统。
原因
预期行为:
当前的 Windows 体系结构和硬件配置将 vFC LUN 的数量(与 LUN 路径相同)限制为 ~2250。这是一个近似值,可能会略微增加或减少,因为 LUN 标识字符串是缓冲区的一部分。
解决方案
对于 vFC LUN 超过 2250 个以上的配置,Marvell/Qlogic FC HBA 适配器提供了一种解决方法。要解决此问题,建议将最大传输大小显式设置为大于 512KB。
Marvell FC HBA 的默认最大传输大小为 512 KB,可通过注册表参数“进行控制ts“,可以采用下表中列出的值。
警告:如果编辑注册表,则应小心。在进行任何编辑之前,应确认备份。
Registry Parameter Maximum transfer size "ts=1" 64KB "ts=2" 128KB "ts=3" 256KB "ts=4" 512KB (default) "ts=5" 1MB "ts=6" 2MB After changing the "ts" setting to "5" or "6," the approximate max number of vFC LUNs could reach to the following number (as reference): "ts=5" ---> ~ 4480 luns (or active LUN paths) "ts=6" ---> ~ 8800 luns (or active LUN paths)
Dell Technologies 建议仅在必须托管多个 vFC LUN 的服务器上更改最大传输大小。增加传输大小不仅会影响 WMI 路径,还会影响常规 I/O 路径,并且可能会消耗更多驱动程序资源来处理大型 I/O 请求。
有关如何在 Windows Server作系统中更改 Qlogic FC HBA 驱动程序的注册表参数,请参阅以下步骤:
- 单击“开始”,选择“运行”,然后打开 REGEDT 程序。
- 选择
HKEY_LOCAL_MACHINE,然后转到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ql2300\Parameters\Device - 双击“DriverParameter”(如果不存在,请创建一个新参数)
- 加 字符串数据”
ts=5“或”ts=6” - 单击 OK。
- 退出注册表编辑器,然后重新启动系统。
