本文提供了一种解决 Windows Server 故障转移群集中本地 SAS 磁盘被添加的问题的方法。
原始 KB 数: 2813005
现象
在 Windows Server 2012 或 Windows Server 2012 R2 故障转移群集上,本地 SAS 驱动器可能会群集化。 添加物理磁盘资源后,它们可能无法联机。 此外,你还可能会收到以下错误消息:
错误代码:0x80070001
函数不正确
查看事件日志时,你可能会注意到系统事件日志中记录了以下事件:
原因
由于 Windows Server 2012 中引入的支持群集的磁盘条件的默认行为发生更改,本地 SAS 磁盘驱动器可能会被群集化。
解决方法
若要解决此问题,如果不希望磁盘资源成为群集的一部分,请从故障转移群集管理器(FCM)中删除磁盘资源。 此外,从故障转移群集管理器中删除这些驱动器后,需要在磁盘管理中将其联机。
标识群集节点上的非共享磁盘签名(例如,使用“详细信息”部分中的验证报告突出显示的 f6f6806f 磁盘签名)。
方法 1
- 打开提升的 PowerShell 提示符(右键单击图块或图标,选择底部栏中的选项)。
- 复制并粘贴以下命令以仅标识 SAS 驱动器
$signature = @{Label=“Signature”;Expression={[System.Convert]::ToString($.signature, 16) }} Get-Disk |?{$.bustype -eq “SAS”} | ft Number, $signature, Bustype -a
上述 PowerShell 命令的输出示例:
数字签名 BusType
--------- ----------- ----------
0 daf34ee4 SAS
1 f6f6806f SAS
方法 2
使用键盘打开 Windows 运行框,按 Windows 徽标键
+R
键入 Regedit,然后按 Enter
找到并导航到 HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
从上述注册表读取磁盘签名有点棘手,需要按相反顺序读取密钥
6f 80 f6 f6 将被读取为 F6F6806F。
在群集的所有节点上重复相同的步骤。注意:如果不知道驱动器字母,则可能需要将所有卷的 GUID 进行比较,并按照上述步骤 4 所提到的相反顺序读取数据。
详细信息
Windows Server 2012 和 Windows Server 2012 R2 的故障转移群集中的一项新功能增强是支持非对称存储配置。 在 Windows Server 2012 中,如果磁盘呈现给一个或多个节点,并且不是启动/系统磁盘,或者包含页面文件,则被视为可群集磁盘。 在以前的版本中,必须将磁盘呈现给群集中的所有节点。 这种配置在多站点群集中更为常见。 故障转移群集管理器(FCM)会在将节点添加到群集时,自动添加向一个或多个节点公开的这些 SAS 驱动器。
为了更明确地控制哪些磁盘被加入群集,用户可以在创建向导中取消勾选“将所有符合条件的存储添加到群集”选项,以防止自动群集磁盘,或者在 FCM 中使用“添加磁盘”功能来稍后添加所需磁盘。
使用群集验证来确定是否可以在群集中使用磁盘。 在下面的示例中,验证明确显示,磁盘仅在一个节点上可见,这通常发生在磁盘是连接到节点的本地 SAS 磁盘时。
列出潜在的群集磁盘
物理磁盘 f6f6806f 只在一个节点上可见,因此不会进行测试。 验证要求磁盘至少在两个节点之间可见。 磁盘被报告为在节点<Node Name>可见
在“可能的原因”部分下,你会发现以下警告消息:*群集不使用共享存储。 群集必须使用基于共享存储或节点之间的复制的硬件解决方案。 如果解决方案基于节点之间的复制,则无需重新运行存储测试。 相反,请与复制解决方案的提供程序协作,以确保可以在节点之间维护群集配置数据库的复制副本。
如果故障转移群集包含以下信息,故障转移群集将不会添加 SAS 驱动器:
- 启动文件
- 系统文件或页面文件
- 用于 Hyper-V 的直通