概要
Windows Server(2025、2022、2019 和 2016)中基于 SAN 的 iSCSI 存储环境对于群集、高可用性、虚拟化和大规模文件服务至关重要。 但是,这些环境可能会遇到各种问题,从连接退出和磁盘损坏到性能下降和群集故障。 原因范围从配置错误、驱动程序与固件不匹配到基础网络不稳定、硬件故障和操作系统或存储子系统的问题不等。 本文提供了诊断和解决常见 iSCSI、磁盘和群集相关故障的分步方法,以帮助维护高可用性、数据完整性和运营效率。
已知问题
重启 Windows Server 2022 后,iSCSI 配置最喜欢的目标 IP 列表不正确
此问题是一个显示问题,即使后端配置正确,也可能发生此问题。 Microsoft知道此问题。
Windows Server 2025 ReFS 驱动器上的备份无响应
若要解决此问题,请安装最新的 Windows 更新。 2025 年 12 月 9 日 - KB5072033(OS 内部版本 26100.7462)更新和更高版本的更新包含此问题的修补程序。
故障排除清单
使用此清单进行系统故障排除:
- 联网
- iSCSI、管理和客户端网络是否隔离并正确路由?
- 最大传输单元(MTU)、虚拟 LAN(VLAN)、巨型帧和流控制/ROCE/PFC 是否一致配置?
- 固件和驱动程序更新
- 网络适配器、存储控制器和存储阵列固件是否是最新版本并且得到供应商支持?
- 存储基础结构
- 所有 iSCSI、多路径 I/O(MPIO)和 iSCSI 目标设备驱动程序和工具是否都是最新的?
- 所有存储区域网络(SAN)分区和逻辑单元号(LUN)掩码是否正确?
- Windows 配置
- 是否存在适当的 MPIO 策略? 验证磁盘和 LUN 在磁盘管理中是否可见且正常。
- 群集和仲裁配置是否已验证(测试群集、验证报告)?
- 是否为存储和群集路径设置了防病毒排除项?
- 是否为磁盘和卷访问启用了正确的组策略策略?
- 备份和还原
- VSS 和备份配置是否符合存储准则?
- 卷影副本和快照是否是托管的,而不是过度的?
- 文档和更改日志
- 记录在事件(更新、配置编辑、固件、硬件交换等)之前发生的所有基础结构更改?
常见问题和解决方案
以下部分介绍了最常见的问题,并为它们提供分步解决方案。
重要
若要使用这些解决方案,请确保安装以下 Windows PowerShell 模块:
- NetAdapter
- Hyper-V
- iSCSI
- MPIO
- 存储
- Microsoft.PowerShell.Utility
iSCSI 磁盘断开连接、故障转移无法正常工作或磁盘被“意外移除”
症状
- 重启后,驱动器或卷处于脱机状态或标记为 RAW。
- 事件 ID 157:“磁盘 X 已被意外删除”
- iSCSI 事件和错误:事件 ID 9、20、27、39、153,“目标未响应”,“发起程序无法连接”,“在逻辑块地址上的 IO 操作已被重试”。
原因
-
网络不稳定。
-
MPIO 配置错误。
-
iSCSI 服务启动时,网络适配器或负载均衡/故障转移(LBFO)NIC 团队尚未准备就绪。 因此,端口无法正确绑定。
重要
自 Windows Server 2022 起,对于 Windows Server Hyper-V 部署,已弃用 LBFO NIC 组合。 请改用交换机嵌入式团队(SET)。 有关详细信息,请参阅《Windows Server 中已删除或不再开发的功能》一文中的“不再开发的功能”部分。
-
VLAN/MTU/Jumbo 设置不匹配,故障转移脚本不正确。
-
过时的固件或驱动程序。
-
存储区域网络(SAN)或网络连接存储(NAS)阵列上的资源耗尽。
决议
-
若要查看网络的运行状况,请执行以下步骤:
-
重启受影响的计算机或虚拟机(VM),然后验证网络适配器是否已准备就绪。
-
如果为此计算机配置了交换机日志或端口计数器,请验证数据中是否存在任何异常。
-
若要收集有关网络状态的信息,请转到 PowerShell 命令提示符窗口,然后运行
Get-NetAdapter、Get-NetAdapterStatistics、Get-VMSwitch和Get-VMSwitchTeamcmdlet。 -
确保 MTUs 和 Jumbo 帧在端到端之间保持一致。
-
解决找到的任何问题。 有关如何排查特定连接问题的更多详细信息,请参阅 Windows Server 网络故障排除文档。 如果需要更详细的故障排除数据,请打开 Windows 命令提示符窗口,并通过运行以下命令收集网络跟踪:
Netsh trace start scenario=netconnection capture=yes tracefile=c:\os.etl
-
-
在受影响的计算机上,将网络适配器、存储和固件驱动程序更新到最新的供应商支持的版本。
-
若要验证 SAN 或 NAS 的运行状况,请联系供应商了解有关日志和事件触发器的详细信息。
-
确保应用程序和脚本不依赖于磁盘编号。 路径故障转移可以更改数字。
-
若要查看磁盘映射和属性,请使用
Get-Disk、Get-PhysicalDisk、Out-GridViewcmdlet。 -
若要查看 iSCSI 和 MPIO 配置,请执行以下步骤:
-
若要收集有关路径和会话状态的信息,请转到 PowerShell 命令提示符,然后运行
Get-IscsiConnectioncmdletGet-IscsiSession和Get-MSDSMAutomaticClaimSettingscmdlet。 -
若要查看特定的持久连接,请转到 PowerShell 命令提示符,然后运行以下 cmdlet:
Connect-IscsiTarget -NodeAddress <Target> -TargetPortalAddress <IPAddress> -TargetPortalPortNumber 3260 -IsPersistent $true -
如果任何存储 IP 地址不正确,请执行以下步骤:
- 在受影响计算机的搜索栏中,输入 iSCSI 发起程序,然后在搜索结果中选择 iSCSI 发起程序 。
- 选择 “收藏夹目标”,选择要重新配置的目标,然后选择“ 删除”。
- 若要添加目标,请选择“ 添加”,然后提供新目标的配置信息。
-
如果受影响的计算机是群集的一部分,请确保计算机通过专用网络适配器路由 iSCSI 流量。 不要使用与生产或群集网络流量相同的适配器。
-
-
若要清理过时的配置,请执行以下步骤:
-
在 iSCSI 发起程序中,选择“ 发现”,然后选择“ 刷新”。 如果列表包含不正确或未使用的目标,请选择它,然后选择“ 删除”。
-
在 PowerShell 命令提示符处,运行以下 cmdlet:
Get-IscsiSession | Remove-IscsiSession
-
-
若要更改磁盘和 iSCSI 超时值,请执行以下步骤:
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 如果您错误地修改注册表,可能会出现严重问题。 因此,请确保仔细执行这些步骤。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和恢复注册表的更多信息,请参见如何在 Windows 中备份和恢复注册表。
- 在
HKLM\SYSTEM\CurrentControlSet\Services\disk子项中,将TimeOutValue值设置为较大的数字,例如 179。
- 在
-
如果怀疑存储设备本身导致了问题,请联系存储供应商。
卷更改为 RAW、文件系统已损坏或元数据已损坏
症状
- 文件共享变得不可访问。
- 一次复制或备份操作失败。
- 消息:“文件系统检测到校验和错误”或“设备...有一个错误的块。
- NTFS、RECORD 或 ReFS 卷会意外变成RAW格式。
原因
- 关闭不当或存储断开不当
- 物理磁盘或控制器硬件故障
- 分区表或卷边界错误
- 未设置服务依赖项(重启后缺少文件共享)
决议
若要检查和修复卷问题,请执行以下步骤:
-
备份受影响的卷。
-
若要检测和修复损坏,请运行相应的磁盘实用工具:
-
对于 NTFS 卷,请在 Windows 命令提示符处运行以下命令:
chkdsk /f <Drive>: chkdsk /r <Drive>:注释
在这些命令中, <Drive> 表示受影响卷所在的驱动器的字母。
-
对于 ReFS 卷,请在 Windows 命令提示符处运行以下命令:
refsutil salvage -QA <Drive> <LogFolder> <RecoveredDataFolder> -x refsutil salvage -FA <Drive> <LogFolder> <RecoveredDataFolder> -x注释
- <驱动器> 指定要处理的 ReFS 卷,以“E:”格式表示或卷装入点的路径。
- <LogFolder> 指定存储临时信息和日志的位置。 此文件夹必须位于不在<驱动器>上的卷上。
- <RecoveredDataFolder> 指定将标识文件复制到的位置。 此文件夹必须位于不在<驱动器>上的卷上。
- 该
-FA开关启动的扫描比-QA开关更深入。 更深入的扫描可能需要更长的时间才能完成。
-
-
如果磁盘显示为 RAW 或未格式化,请尝试以下一个或多个方法:
- 将磁盘附加到运行更高版本的 Windows Server 的计算机。
- 如果使用 Windows Server 2019 或更高版本连接到磁盘,请使用
rfsutil备份和恢复数据。 - 使用其他文件恢复工具来备份和恢复数据。
-
若要验证和修复分区表,请运行以下工具之一:
-
若要检查基础磁盘问题,请使用供应商诊断工具查看磁盘信息(包括 SMART 数据)。 如有必要,请替换磁盘。
-
若要设置服务依赖项,请在 Windows 命令提示符处运行以下命令:
sc configuration LanmanServer depend= MSiSCSI注释
还可以使用服务控制台(services.msc)设置依赖项。 确保关键服务设置为**“自动”(延迟启动)。**
-
如果此问题影响虚拟机(VM),请检查 VM 配置或 Hyper-V 配置。 确保驱动器未列为可移动驱动器。
-
若要恢复文件共享,请手动重启 LanmanServer 服务。 可以使用服务控制台或命令行。
-
如果前面的步骤无法解决问题,请将卷还原到损坏发生之前的一个时间点。
群集资源、所有权或仲裁问题
症状
- 群集磁盘脱机或未能联机。
- 会看到以下消息:“群集磁盘 X 包含无效的装入点。
- 发生事件 ID 98 或 55。
- 故障转移群集管理器显示资源失败、仲裁丢失或签名无效。
原因
- 群集仲裁配置不正确。
- 磁盘或签名冲突(存在重复的 VHD、附加的快照)。
- 群集相关文件(MachineKeys)的权限缺少证书/密钥对。
- 存储供应商永久性预留(PR)存在不匹配或过时的条目。
决议
-
确保群集和磁盘资源正常运行。 在 Windows PowerShell 命令提示符处,运行以下 cmdlet:
Test-Cluster Get-ClusterLog -Destination <Path> -
如果磁盘相关资源似乎“停滞,请将其删除,然后将其还原到群集存储。
- 调整 CrossSubnetDelay 和 CrossSubnetThreshold,以便更好地容忍暂时性网络问题。
-
查看仲裁配置。 如有必要,请重新分配仲裁。
-
查看证书和证书存储。
-
检查证书存储的访问控制列表。 SYSTEM 帐户和 ADMINISTRATORS 组必须完全控制 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 文件夹。
-
如有必要,请在 Windows 命令提示符处运行类似于以下示例的命令,再次导入所需的证书:
certutil -store -service clussvc\my
-
-
查看磁盘所有权和签名信息:
- 分离冲突或双映射 VHD。
- 验证所有签名是否是唯一的。
- 若要清除永久性预留(PR),请联系存储供应商
-
确保 网络访问:限制命名管道和共享的匿名访问 组策略设置不会阻止对共享的访问。
MOF 提供程序、WMI 提供程序、iSCSI 或存储 PowerShell 命令问题
如果 iSCSI 或存储 PowerShell 命令不起作用,则可能有影响 Windows 管理接口(WMI)或托管对象格式(MOF)的问题。 若要排查 WMI 和 MOF 问题,请执行以下步骤:
-
打开管理命令提示符窗口,然后运行以下命令。
mofcomp iscsirem.mof mofcomp iscsidsc.mof mofcomp iscsihba.mof mofcomp iscsiprf.mof mofcomp iscsiwmiv2.mof mofcomp storagewmi.mof有关详细信息,请参阅 WMI 命令行工具。
-
重启 WMI 服务和 iSCSI 服务。
-
如果问题再次发生或继续,请重建或重装系统计算机。
性能和延迟问题
症状
- 您遇到了性能缓慢的问题。 例如, “平均磁盘秒/写入 ”字段显示异常高的值(如 500 毫秒)。
- 备份和查询速度较慢。
- 出现频繁的 IO 重试。
- 卷影副本过多(超过 1,000 份)。
- 无论可用空间如何,磁盘似乎都显示为“满”。
原因
- HDD 上的磁盘碎片,或者 SSD 上缺少 TRIM。
- 网络或交换机配置错误或数据包丢失。
- 脱机的磁盘(因为它们耗尽了可用磁盘空间)。
- 磁盘队列过长、卷影副本(超过 4,000 个副本)或存储端口驱动程序问题。 这些条件可能会增加延迟。
- 非优化命令或可用线程不足。 这些条件可能会降低备份或文件复制作的速度。
决议
若要排查性能和延迟问题,请执行以下步骤:
-
使用性能监视器(Perfmon)查看磁盘队列的长度和延迟。
-
确保操作系统是最新的。 2025 年 12 月 9 日 - KB5072033(OS 内部版本 26100.7462)更新及后续更新包含一个修复程序,解决了影响 Windows Server 2025 中备份性能的问题。
-
对于大型数据复制和备份操作,请使用
robocopy。 如以下示例所示,robocopy包括多线程和日志记录选项。robocopy <src> <dst> /E /COPYALL /SECFIX /R:1 /W:1 /Z /MT:16 /LOG+:copylog.txt /NFL /NDL -
确保 MTU 和 Jumbo 帧从头到尾保持一致。 若要确保正确配置 MTU,请打开 Windows 命令提示符窗口并运行以下命令:
netsh interface ipv4 set subinterface "\<Name>" mtu=9000 store=persistent -
若要清理过多的阴影副本,请转到 Windows 命令提示符,然后运行以下命令:
vssadmin delete shadows /all -
若要清理孤立设备,请转到 Windows 命令提示符窗口,并运行以下命令:
devnodeclean /n devnodeclean -
检查任何虚拟硬盘的大小(VHD 或 VHDX)。 如果合适,请调整它们的大小。
-
查看防病毒排除配置,并在必要时对其进行修复。
-
如果你有 HDD 设备,请对其进行碎片整理。
-
如果有 SSD 设备,请在 PowerShell 命令提示符处运行以下命令:
Optimize-Volume -DriveLetter X -ReTrim -Verbose -
查看所有存储设备和控制器以及网络适配器的驱动程序、固件和相关策略。
常见问题快速参考表
| 症状 | 根源 | 决议 |
|---|---|---|
| 磁盘意外删除 (157) | 存储/网络不稳定 | 检查网络配置和 MPIO 设置,更新驱动程序 |
| 磁盘 RAW/不可访问 | 文件系统或分区问题 | 运行 chkdsk 和 refsutil、调整分区、备份数据 |
| “设备有错误的块”(7) | 硬件故障 | 替换磁盘/控制器,运行供应商诊断 |
| iSCSI 无法连接(20,27) | 配置/网络/目标问题 | 查看目标 IP 地址、重置会话、修复映射 |
| 群集磁盘/所有权错误 | 仲裁/装载/权限问题 | 验证群集配置,修复权限,供应商 PR |
| 性能/备份速度缓慢 | 碎片、VSS、驱动程序 | 剪裁磁盘,清理卷影副本,更新驱动程序 |
| 重启后文件共享消失 | 未设置服务依赖项 | sc configuration,设置延迟开始,查看日志 |
| iSCSI 发起程序 UI 显示旧 IP | 已知问题 | 忽略 (无功能效果) |
| 磁盘映射不正确 | 错误的 IP 地址/会话/常用目标 | 删除并还原正确的目标,使用持久会话 |
| 卷影副本(超过 1,000 份) | 性能耗尽 | vssadministrator delete shadows /all |
| MOF/WMI 错误 | WMI(Windows Management Instrumentation)/MOF(Managed Object Format)提供程序损坏 | 重新编译 MOF 文件,验证存储库 |
数据收集
在与Microsoft支持部门联系之前,可以收集有关你的问题的以下信息:
-
事件查看器: 导出系统、应用程序和存储日志。
- 筛选以下事件:事件编号 9、20、27、39、43、55、98、129、153、157、507(如相关)
-
簇: 记录以下 PowerShell cmdlet 的结果:
Get-ClusterLog -Destination \<path> Test-Cluster `` -
磁盘/物理映射: 记录以下命令的结果:
Get-WmiObject -Class win32_diskdrive | select \* Get-Disk, Get-PhysicalDisk -
网络追踪: 收集网络追踪数据。 使用 WireShark 等工具,或在 Windows 命令提示符处运行以下命令:
netsh trace start scenario=netconnection capture=yes tracefile=<Path> -
性能: 收集以下性能信息。
- 使用 Perfmon 或 logman 收集磁盘统计信息和相关网络统计信息。
- 使用 logman 收集 storport (“drivers_storage”) 跟踪。
-
服务配置: 记录以下 Windows 命令的结果:
sc qc \<Service>, sc config \<Service> depend= MSiSCSI -
屏幕截图: 创建屏幕截图,显示 UI 中的任何异常值(例如磁盘管理、iSCSI 发起程序“收藏夹”等)。
-
高级: 从 refsutil 工具收集日志。