磁盘与文件系统

排查 Hyper-V 和 Windows Server 故障转移群集中的存储问题 - Windows Server

· 52CE 我爱测

总结 存储配置是任何 Windows Server 或 Hyper-V 群集环境的关键组件。 适当的设置可确保应用程序和虚拟机的高可用性、可靠性能、数据完整性以及最短停机时间。 配置错误或环境更改可能会引发一系列问题,例如存储资源不可用、虚拟机(VM)故障和性能瓶颈,到更微妙的症状,例如定期事件日志警告。 本文为管理员提供了解决常见存储配置问题的指南。 故障排除清单 使用此清单进行系统故障排除: - 验证所有硬件(磁盘、HBA、交换机)是否与 OS 版本兼

总结

存储配置是任何 Windows Server 或 Hyper-V 群集环境的关键组件。 适当的设置可确保应用程序和虚拟机的高可用性、可靠性能、数据完整性以及最短停机时间。 配置错误或环境更改可能会引发一系列问题,例如存储资源不可用、虚拟机(VM)故障和性能瓶颈,到更微妙的症状,例如定期事件日志警告。 本文为管理员提供了解决常见存储配置问题的指南。

故障排除清单

使用此清单进行系统故障排除:

  • 验证所有硬件(磁盘、HBA、交换机)是否与 OS 版本兼容。
  • 验证所有相关设备驱动程序、存储固件和 DSM(特定于设备的模块)软件是否是最新的。
  • 对物理连接(电缆、SVP、网络和存储布线)进行视觉检查。
  • 所有群集节点都会看到共享存储(在磁盘管理和故障转移群集管理器中)。
  • 验证是否已在所有节点上正确安装和配置多路径 I/O(MPIO)。
  • 验证是否已在所有节点上启用和正确配置 Hyper-V 和故障转移群集功能。
  • 验证 VM 和存储路径是否可从所有节点访问(使用文件资源管理器或每个节点上 Get-ClusterSharedVolume 进行测试)。
  • 验证计划的工作负荷是否有足够的 CSV 和卷容量。
  • 验证防病毒、筛选器驱动程序或不支持的第三方软件之间是否存在冲突。
  • 查看事件日志,了解与存储、群集或磁盘相关的最近严重事件或警告事件。

常见问题和解决方案

以下部分详细介绍了最常见的故障模式并提供解决方案。

CSV (群集共享卷)“暂停状态”

症状

  • VM 无响应
  • 事件 ID 5120/5142/153,“所有 I/O 将暂时排队,直到重新建立卷的路径。”

原因和解决方法

  • 网络瓶颈或配置错误(例如网络适配器组合不匹配):
    • 在所有节点上对齐网络适配器组合(Get-NetLbfoTeam)
    • 验证组合配置,并在禁用位置重新启用组合。
    • 请考虑将 CSV 和实时迁移流量卸载到专用网络。
  • 网络适配器资源耗尽(事件 ID 252 警告)
    • 根据硬件供应商的建议增加 RAM 和网络适配器资源。
    • 监视资源分配并调整或升级网络适配器(如果定期)。
  • 物理磁盘或 HBA 故障:
    • 查看磁盘运行状况(Get-PhysicalDisk | Format-Table),事件 ID 157。
    • 根据需要更换故障磁盘/HBA、重新插入或重新连接。
  • 硬件交换机或电缆故障(例如 FC 开关上的异常电压):
    • 检查存储交换机日志和计数器。
    • 更换有故障的硬件组件,重新路由布线。
  • CSV 或卷容量不足
    • 扩展卷或 CSV 存储空间。
    • 请考虑设置 CSV 文件监控以实现主动警报。
  • 多个防病毒或不支持的筛选器驱动程序:
    • 卸载所有防病毒软件,只保留一个。 删除不受支持的筛选器驱动程序(使用 fltmc 进行检查)。

存储路径问题和磁盘可见性问题

  • 症状包括磁盘管理中磁盘缺失、意外的“只读”/“脱机”/“已解除分配”状态、事件 ID 11/153/129 以及故障转移失败。

原因和解决方法

  • 错误/损坏的 MPIO 配置:
    • 确认 MPIO 中的所有路径为 Online(使用 mpclaim -s -d)。
    • 更新/重新安装 MPIO。
    • 如果可用(尤其是适用于企业 SAN),请切换到供应商 DSM。
  • 过时/不正确的驱动程序:
    • 更新存储驱动程序、SAN 固件和 DSM/MPIO 软件。
  • 无法在所有节点上访问卷:
    • 检查权限和路径映射。
    • 在每个节点上使用 Get-ClusterSharedVolume 来验证路径。
    • 对于 CIFS/SMB 共享,请确保群集和 SCVMM 帐户具有必要的访问权限。
  • 其他进程锁定的磁盘或路径:
    • 重启节点,使用 handle.exe 或 procmon.exe 来标识进程。
    • 如果卡住,请从 VM 分离磁盘、重启节点和重新附加。
  • 物理或虚拟存储池配置错误:
    • 使用 Get-StoragePool、Get-VirtualDisk、Get-ClusterResource 查看健康状况。
    • 如有需要,重新调整池成员资格。

磁盘权限和访问被拒绝问题

症状

  • 迁移失败
  • 备份失败
  • 存储迁移返回“访问被拒 0x80070005”
  • 错误消息“帐户无权打开附件”

原因和解决方法

  • NTFS 权限不正确
    • 使用 icacls <Path\To\Disk.vhdx> /grant “NT VIRTUAL MACHINE<VM_GUID>:(F)”设置正确的权限。
    • 如果锁定,请回收所有权:高级安全 > 所有者:管理员 > 再次应用权限。
  • 群集/SCVMM 帐户在 SMB/CIFS 共享中缺失
    • 将 SCVMM 服务帐户和群集名称对象添加到文件共享权限。
    • 对于基于 NetApp/SAN 的 CIFS,请确保 AD 对象具有适当的权限。
  • 由于进程崩溃或句柄丢失导致锁定的文件
    • 重启服务器/节点以释放文件锁。
    • 使用 handle.exe、进程资源管理器、Procmon 检查文件句柄。

群集服务不稳定和已知更新问题

症状

  • 群集服务 (clussvc) 失败
  • 事件 7031
  • 更新后,节点既不会加入,也不会进入隔离区
  • 虚拟机意外重启

原因和解决方法

  • 已知产品错误(例如,适用于 Windows Server 2019 S2D 的 KB5062557):
    • 通过 Windows 更新历史记录删除有问题的更新。
    • 根据官方公告部署 KIR MSI。
    • 参考:[IcMPath 的 OS 工作项 52578872]
  • 配置错误的仲裁或 CSV 映射:
    • 根据需要查看和调整仲裁设置和 CSV 分配。

性能下降和高延迟

症状

  • 高存储延迟
  • IOPS 性能差
  • VM 或应用程序速度缓慢
  • 定期超时(事件 ID 5120、5142)

原因和解决方法

  • 已禁用或配置错误的 S2D 缓存设置:
    • 使用正确的注册表值(HKLM:\SYSTEM\CurrentControlSet\Services\Spaceport\Parameters)重新启用/优化。
    • 查看缓存/SSD 层运行状况(Get-PhysicalDisk)。
  • 硬件资源不足或不平衡:
    • 根据 S2D 要求添加或升级 NVMe 和 SSD。
    • 监控工作负载,重新平衡并修复任务。

常见问题快速参考表

症状 原因 解决方案 键盘命令
CSV 已暂停,事件 5120/5142 网络瓶颈,网络适配器组合,磁盘失败 检查组合、网络适配器、容量、更新驱动程序、检查 CSV 运行状况 Get-NetLbfoTeam,Get-ClusterSharedVolume
磁盘上的事件 153/129/11 故障磁盘/HBA、MPIO 配置、过时的驱动程序 替换硬件、更新/配置 MPIO/DSM、更新驱动程序 mpclaim -s -d, Get-PhysicalDisk
在节点上无法访问存储 权限、网络、池配置 验证权限、所有节点的路径,以及池和虚拟磁盘的运行状况 icacls、Get-ClusterSharedVolume、Get-VirtualDisk
访问被拒绝(0x80070005),迁移错误 NTFS/共享权限,锁定的文件 正确的权限,回收所有权,重启以释放锁 icacls、ProcessExplorer/Procmon
群集服务故障,事件 7031,VM 重启 错误更新(例如,KB5062557),仲裁 卸载更新、应用 KIR、验证仲裁和群集服务 更新历史记录,KIR MSI
高存储延迟、持久性超时 禁用 S2D 缓存,硬件资源耗尽 启用/优化缓存、添加/升级磁盘、重新平衡存储池 注册表,Get-PhysicalDisk

数据收集

在联系Microsoft支持人员之前,可以收集有关你的问题的以下信息。

  • 群集日志: Get-ClusterLog -UseLocalTime -TimeSpan 60

  • FailoverClustering 事件日志: 使用事件查看器导出相关日志。

  • CSV 和存储信息:

    Get-ClusterSharedVolume | fl
    Get-PhysicalDisk | Format-Table FriendlyName, CanPool, OperationalStatus, HealthStatus
    Get-VirtualDisk | Format-Table FriendlyName, HealthStatus
    
  • MPIO 和磁盘信息: mpclaim -s -d diskpart > list disk

  • 网络适配器和团队状态: Get-NetAdapter Get-NetLbfoTeam

  • 权限: icacls <Path\To\Disk.vhdx>

  • **Procmon 跟踪:**procmon.exe /Quiet /Minimized /Backingfile <tracefile.pml >(重现问题)> procmon.exe /Terminate

  • **Handle.exe(Sysinternals):**handle.exe handles.txt >

  • 驱动程序和固件版本: Get-WmiObject Win32_PnPSignedDriver |Select-Object DeviceName、Manufacturer、DriverVersion

References

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于企业 SAN),请切换到供应商 DSM。
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。