Windows Server 2008 R2:故障转移群集的故障排除方案

在 Windows Server 中配置故障转移群集有助于确保近乎一致的可用性。 以下是几种可能的故障排除方案。

约翰 · 马林

上个月,我看着某些与 Windows 服务器 2008 R2 故障转移群集,更常见的问题,研究如何准确地解决这些问题。

记住算是正式支持的解决方案由 Microsoft 客户支持服务 (CSS) Windows Server 2008 或 Windows 服务器 2008 R2 故障转移群集解决方案,它必须满足当前的支持政策以下标准

  • 所有的硬件和软件组件必须符合资格获得"认证为 Windows Server 2008 R2"标志。
  • 完全配置的解决方案必须通过验证测试的故障转移群集管理。

这里有几个方案,可帮助加快或告知您下一次的故障排除努力。 这些是一些较常见的问题,支持的 Windows 2008 R2 故障转移群集,以及您可能需要解决他们采取的步骤。

方案 1:我们正在做我们每月的洗涤的 Active Directory 对象,并无意中删除群集名称对象。 我们尝试创建一个新的问题,但它无法联机。

群集名称对象 (CNO) 是非常重要的因为它是群集的共同特征。

它由创建群集向导自动创建,并具有相同的名称作为群集。 通过这一帐户,它创建其他群集虚拟计算机对象 (Vco) 当您在群集上配置新的服务和应用程序。 如果您删除 CNO 或采取了权限,它不能创建其他对象,需要由群集,直到它恢复或正确的权限都将恢复。

与在 Active Directory 中所有其他对象,一样有关联的 objectGUID。 这是故障转移群集如何知道您处理的正确的对象。 如果您只需创建一个新的对象,以及创建新的 objectGUID。 我们要做的是恢复正确的对象,因此该故障转移群集可以继续正常运作。

当故障排除这种情况,我们需要找出两件事从群集资源。 从 Windows PowerShell,运行的命令:

Get ClusterResource"群集名称" |获取-ClusterParameterCreatingDC objectGUID

这将检索所需要的值。 我们想要的第一个参数是 CreatingDC。 当故障转移群集创建 CNO 时,我们注意到域控制器 (DC) 时创建它。 我们需要的任何活动与群集创建 Vco 带在线名称等),我们知道要去这个 DC 获取的对象和安全。 如果找不到对直流不可用,我们会搜索任何其他响应,但我们知道第一次去这里。

第二个参数是要确保我们谈论的正确的对象 objectGUID。 对于我们的示例中,群集名称是 CLUSTER1,创建直流是 DC1 和 objectGUID 是 1a3cf049cf79614ebd94670560da6f04,像这样:

对象名称值
------     ----      -----
群集名称 CreatingDC \\DC1.domain.com
群集名称 ObjectGUID1a3cf049cf79614ebd94670560da6f04

我们需要登录到 DC1 机上运行的活动目录用户和计算机。 如果当前的 CLUSTER1 对象,我们可以检查是否有适当的属性。 您将看到的显示有关这一注。 活动目录属性编辑器最初并不会显示您这里,显示的 GUID,因为它不以十六进制格式显示它。

什么最初要看到的是 49f03c1a-79cf-4e61-bd94-670560da6f04。 十六进制格式不会开关和工程两人一组,这是令人有些困惑。 如果你采取前八组数,不该交换机,49f03c1a 将成为 1a3cf049。 通过切换的下一步两对,79cf 将成为 cf79,和 4e61 则变为 614e。 其余对保持不变。

在故障转移群集看到的十六进制格式,必须使 objectGUID 属性编辑器中的属性。 因为它不是正确的对象,我们必须首先删除对象采取的还原一个恰当的图片。

有几种方法的还原对象。 我们可以使用活动目录还原,实用程序如 ADRESTORE 或新活动目录回收站 (如果使用已更新的架构运行 Windows 2008 R2 DC)。 使用新活动目录回收站使得事情要容易得多,是用于还原已删除的 Active Directory 对象最无缝的过程。

使用活动目录回收站,我们可以搜索并找到要使用 Windows PowerShell 命令还原的对象:

Get-ADObject –filter 'isdeleted –eq $true –and samAccountName –eq "CLUSTER1$"' –includeDelectedObjects –property * | FormatListsamAccountName,objectGUID

该命令要搜索的任何名称 CLUSTER1 活动目录回收站中的已删除对象。 它将会给我们的帐户名和 objectGUID。 如果有多个项目,它将显示其所有。 我们看到我们想的要的我们会将其显示为此:

samAccountName : CLUSTER1$
objectGUID:49f03c1a-79cf-4e61-bd94-670560da6f04

现在我们需要将其恢复。 我们删除不正确的一个后,会将其恢复 Windows PowerShell 命令:

还原-ADObject –identity 49f03c1a-79cf-4e61-bd94-670560da6f04

这将恢复中的相同位置 (组织单位或 OU) 的对象,并保持相同的权限和计算机帐户密码已知由 Active Directory 来。

这是活动目录回收站实用程序如 ADRESTORE 的样子相比的优点之一。 使用 ADRESTORE,您必须重置密码,将它移动到适当的 OU,等维修故障转移群集中的对象。

使用活动目录回收站,我们只需带群集名资源联机。 这也是比较好的选择,比做恢复活动目录,尤其是如果已经新计算机/用户对象创建的如果有,不再存在,要再等等中删除旧的。

方案 2:我群集共享卷在故障转移群集管理中显示"重定向访问"。 我们如何更正此?

首先,让我们快速回顾群集共享卷 (CSVs) 的定义。 分力简化配置和 HYPER-V 虚拟机 (Vm) 在故障转移群集管理。 CSV 运行 HYPER-V 的故障转移群集上,用多个虚拟机可以使用相同的 LUN (磁盘),但故障转移 (或移动节点的) 彼此独立。 CSV 提供了更大的灵活性,在群集存储卷。 例如,您可以分开系统文件数据来优化磁盘性能,即使系统文件和数据包含在虚拟硬盘 (VHD) 文件。

在执行群集通信的所有网络适配器的属性,请确保"Microsoft 网络的客户端"和"文件和打印机共享的 Microsoft 网络"已启用支持服务器消息块 (SMB)。 这是所需的 CSV。 服务器正在运行 Windows Server 2008 R2,所以它会自动提供所需的 CSV,这是 SMB2 的 SMB 的版本。 只有一个首选的 CSV 通讯网络,但启用这些设置多个网络上的帮助有回应故障恢复的群集。

重定向所有 I/O 操作都是"定向"到了访问驱动器的另一个节点网络的访问方式。 基本上是为什么磁盘是重定向的访问模式中的三个原因:

  1. 手动已经把它放在重定向模式
  2. 有正在进行的备份
  3. 有的硬件问题,和节点不能直接访问驱动器

在我们的场景中,我们已经排除选项 1,选项 2。 这为我们留下了选项 3。 如果我们看一下在系统事件日志中,我们会看到事件"事件 ID: 5121"从故障转移群集。

这里是日志条目的定义:群集共享 VolumeCSV ' 群集磁盘 x' 不再是从直接访问此群集节点。拥有该卷的节点通过网络,I/O 访问会重定向到存储设备。这可能会导致性能下降。如果重定向的访问此卷为打开,请将其关闭。如果重定向的访问已关闭,请解决此节点连接到存储设备和 I/O 将恢复到健康状态,一旦重新连接到存储设备。

采取这种态度,我们亦会就此事件之前任何与硬件相关的事件。 所以我们会寻找像 9 事件,11 或 15,指向一个硬件或通信的问题。 我们将看看如果我们可以实际看到的磁盘的磁盘管理。 在大多数情况下,我们会看到一些其他错误。 一旦我们纠正后端的问题,我们可以使这种模式的磁盘。

请记住 CSV 将保持运行,只要至少一个节点可以与存储连接网络进行通信。 这就是为什么它会在"重定向"的模式。 所有写入到驱动器将被都发送到可以交流的节点和 HYPER-V 虚拟机将继续运行。 可能有些许这些虚拟机,性能,但他们会继续运行。 所以我们永远不会真的会出的生产,这是一件好事。

方案 3:我只是与高度可用的虚拟机创建使用全新 Windows 2008 R2 故障转移群集。 我已设置驱动器为 CSV,但当我尝试访问它们,资源管理器和磁盘管理坑。 我无法将我 Vhd 复制到驱动器,得到这件事。

只有一个"真正的"所有者的驱动器,这就是所谓协调员节点。 任何类型的元数据写入到驱动器将通过此节点只。

当您打开资源管理器或磁盘管理时,它要想打开驱动器,以便它可以做任何元数据写入操作 (如果有这个意向)。 为此,它并不拥有任何驱动器将获得重定向到协调员节点在网络上。 这是不同的驱动器,在"重定向访问"。

当故障排除这种情况,故障转移群集管理将该驱动器显示为在线。 首先,你应该看看记录哪些事件。 在系统事件日志中,你可以看到这些从故障转移群集的事件:

事件 ID: 5120

群集共享卷 ' 群集磁盘 x' 不再可用此节点上的 'STATUS_BAD_NETWORK_PATH(c00000be)'。所有 I/O 将暂时会排队都等待,直到该卷的路径重新建立。

事件 ID: 5142

群集共享卷 ' 群集磁盘 x' 不再从该群集节点访问由于错误 'ERROR_TIMEOUT(1460)'。请解决此节点连接到存储设备和网络连接。

这些事件日志时间试图通过协调员的节点网络。 那么你是否有任何其他错误系统事件日志中会指向的节点之间的网络连接。 如果有,则需要解决这些问题。 如出现故障或已禁用的网络卡的东西可导致此问题。

接下来,要检查基本网络节点之间的连接。 您首先需要验证是哪些旅游你 CSV 交通网络。 方式故障转移群集选择要使用的网络为 CSV 是按最高的度量值。 这是不同于 Windows 如何识别网络。

故障转移群集网络容错适配器 (NETFT) 有它在内部使用的度量制度。 检测到的所有网络有默认网关,并会给予跃点数的 10000,10100,因为它边走边看。 没有默认网关的所有网络都开始在 1000、 1100年等。 使用 Windows PowerShell,您可以使用命令获取群集网络 |金融时报 》 名称、 度量、 角色,请参阅 NETFT 适配器已定义它们。 您将看到类似于:

名称规格
-------------------
管理 10100
CSV 交通 1000
局域网广域网 10000
Private 1100

这四个网络,与网络我已确定为 CSV 称为 CSV 交通。 我使用它的 IP 地址为 1.1.1.1 节点 1 和 1.1.1.2 的节点,所以我会尽量基本的网络连接与 IP 地址之间的平。

下一步是尝试使用 IP 地址连接到 SMB。 这是只故障转移群集打算做什么。 简单的 NET VIEW \\1.1.1.1 就够了,看看是否有响应。 回你应该得到的是共享列表或一条消息:"有没有条目列表。"

这表示您可以连接到该共享。 但是,如果你得到的消息"出现错误 53 的系统。 网络路径没被发现,"这表示计算机上的网卡 TCP/IP 配置问题。

在"Microsoft 网络的客户端"和"文件和打印机共享的 Microsoft 网络"在计算机上的网卡上启用要使用 CSV。 如果他们不是,你就会挂资源管理器中的此问题。 选择这些和你是好到哪里去。

在 Windows 2003 服务器群集和下面,取消选中这些选项是建议的过程。 这不再是向前移动的情况下,您可以看到它如何可以打破。

其他因素

有几个你要考虑其他因素。 如果您的群集节点遇到资源主机子系统 (RHS) 失败,您必须首先考虑 RHS 和它做什么的性质。 RHS 是做大量的资源健康检查,以确保一切正常的故障转移群集组件。 IP 地址,它将确保它是网络堆栈上,它响应。 对于磁盘,它将尝试连接到的驱动器和做 DIR 命令。

如果您遇到 RHS 崩溃,您将看到系统事件日志 Id 1230 和 1146年。 事件中 1230,它将实际确定资源和资源使用的 DLL。 如果它的崩溃,这意味着该资源不响应,它应该和可能发生死锁。 这是崩溃磁盘资源上,如果您想查找磁盘相关的错误或磁盘延迟。 运行性能监视器会开始的好地方。 更新驱动程序/固件卡或后端的可能,以及考虑的东西。

你还会做一些用户模式检测。 故障转移群集进行健康监测从内核模式检测用户模式时停止响应或挂起的用户模式进程。 从这种情况中恢复,聚类将 bug-复选框。 如果是,您会看到一个站 0x0000009E。 故障排除这需要审查它创建查找挂起的转储文件。 你也希望运行性能监视器,并寻找出现一样悬挂的任何事物,内存泄漏,等等。

故障转移群集是依赖对 Windows 管理规范 (WMI)。 如果您有与 WMI 的问题,你就有故障转移群集 (创建和添加节点,迁移等) 的问题。 运行检查对 WMI,如 WBEMTEST。Exe 文件或甚至远程 WMI 脚本。

一个脚本,您可以尝试从 Windows PowerShell 是节点的 (节点 1 是节点的实际的名称):

get wmiobjectmscluster_resourcegroup-计算机节点 1-命名空间"ROOT\MSCluster"

这将生成 WMI 连接到群集,给你有关组的信息。

如果失败,则必须 WMI 的几个问题。 WMI 服务可能已停止,因此您可能需要重新启动它们。 WMI 存储库也可能损坏 (使用 Windows PowerShell 命令 winmgmt /salvagerepository 来看它是否一致),等等。

这里有几点需要记住的故障排除:

  • 验证,验证,验证。 使用群集验证进行故障排除。 使用它的最佳做法。 您的系统进行更改时,请使用它。
  • 一切都被朝 Windows PowerShell。 如果你还不知道它,开始使用它的时候。
  • 因为我们是依赖 Active Directory 对象,保护自己。 启用活动目录回收站和防止意外删除的对象。
  • 当故障排除分力,不要总是以为它是硬件问题。
  • 当故障排除,后退一步,看看一切可能会受到影响。 然后开始缩小您的重点。

故障转移群集被旨在检测、 从恢复和报告的问题。 群集告诉您存在的事实是或问题并不意味着群集造成它。 正如一些人所说:"别开枪的使者"。

John Marlin

**约翰 · 马林**商业技术支持组中的高级支持升级工程师。 他已与微软超过 19 年,14 年来聚焦在群集服务器上。

相关内容