测试群集Powershell cmdlet列表与验证


8

Powershell cmdlet可以Test-Cluster查询大量数据并执行验证测试,并将其包装到漂亮的报告中。如果运行,则将Test-Cluster -List获得项目列表,您可以使用cmdlet进行单独查询。阅读时,有一个通用的命名方案DisplayName。它们都以“ List”“ Validate”开头。

显然,“验证”将通过失败来实际测试故障转移。但是命名“列表”使我认为它只是运行时对数据的查询。我已经使用以下脚本对此进行了测试:

$TestList = Test-Cluster -List | Where-Object {$_.DisplayName -like "List*"}
Test-Cluster -Include $TestList.DisplayName -ReportName "c:\cluster reports\report"

生成此报告时,没有看到任何记录的群集错误或注意到任何故障转移活动。Microsoft technet对此也不是很清楚,但是他们确实推断该行为符合我的想法。参见以下摘录(重点是我的):

测试结果将捕获到具有您指定文件名的文件中。通过运行验证测试,可以确认您的硬件和设置与故障转移群集兼容。有多种类型的测试,包括群集,清单,网络,存储,系统和其他类型的测试。存储测试将不会测试群集角色正在使用的联机磁盘或存储池。要测试此类磁盘,请首先运行Stop-ClusterGroup以停止群集角色,然后运行Test-Cluster。测试完成后,再次启动群集角色,也称为资源组。

测试群集TechNet页面

我想提醒您注意他们对“ Validation”一词的使用。另外,在运行该脚本时,作为输出的一部分,它说:

Test Result:
ClusterSkippedTestsCompleted

如果包含验证测试,则结果为:

Test Result:
ClusterConditionallyApproved

在我的测试环境中,网络测试生成了一些警告,触发了有条件的批准。我已经在Google上搜索了很多文档,这些文档描述了“验证”“列表”拆分背后的逻辑,但是我没有提出任何建议。这导致了一个问题...

列表请求是否触发故障转移事件?

Answers:


2

验证列表之间的划分旨在指示预期的结果。 验证测试为布尔值,并返回通过/失败,是/否,正常/失败等。列表测试返回统计和操作数据以供检查。

Microsoft在构建测试时考虑到了零停机时间。在大多数情况下都是如此。 有些测试会触发故障转移并导致停机。他们是:

  • 验证磁盘仲裁
  • 验证磁盘故障转移
  • 验证多重仲裁
  • 验证SCSI-3持久保留
  • 验证同时故障转移

重要的是要注意,如果Test-Cluster运行时未使用include或exclude参数,它将运行这些测试。尽管上面列出的测试将触发故障转移事件,但以下测试可能会影响性能。他们是:

  • 验证磁盘访问延迟
  • 验证文件系统
  • 验证基于Microsoft MPIO的磁盘
  • 验证SCSI设备重要产品数据

上面列出的所有测试都是存储类别的一部分。因此,通常建议避免在生产中的服务器上进行存储测试。要排除这些测试,请运行以下命令:

Test-Cluster -Ignore Storage

如果使用Include参数有选择地选择测试,则可以运行两个安全存储测试。他们是:

  • 列出所有磁盘
  • 列出要验证的磁盘

来源1来源2

所有可用的群集测试都分为5个测试类别。它们是Cluster ConfigurationInventoryNetworkStorage,和System Configuration。仅Storage类别中包含将触发故障转移或影响性能的测试(根据Microsoft的说法)。此外,大多数测试类别都不打算在集群通过认证并可以运行之后执行。除了一个是...

对于现有集群

Microsoft 设计了 Cluster Configuration用于现有群集的测试。实际上,这些测试仅在现有群集上运行。要执行此测试类别,请运行以下命令:

Test-Cluster -Include "Cluster Configuration"

来源3


0

以我的经验,Test-Cluster从不触发故障转移事件。它仅用于检查硬件和软件配置,以查看一切是否与故障转移群集兼容。据我了解,在故障转移群集管理器中使用GUI“验证群集”功能时,也会运行Test-Cluster。它实际上并没有“测试”集群的“故障转移”功能。


0

按照下面的链接:

[测试群集描述] [1] http://technet.microsoft.com/zh-cn/library/ee461026.aspx

示例3:Test-Cluster -List

此命令列出了集群验证中所有测试的名称和类别。然后,可以使用-Ignore或-Include指定这些测试名称以运行特定的测试。

因此,list命令只是为您提供了可以运行并验证集群的测试列表。


你的问题的另一部分:显示名称

List开头的DisplayName 仅从群集节点中获取信息,而以Validate开头的DisplayName 实际上会测试配置(它会进行磁盘故障转移,sharewithess测试,网络测试等)。


0

简单的答案:列表请求触发故障转移事件。

详细答案:从2008R2开始,将测试分为“验证”“列表”的逻辑一直是一致的。从“列表”开始的大多数测试都被视为“ 库存测试”,它们不会影响当前配置的集群的状态。本质上,以list开头的所有Commandlet都是信息性的,如下面的此technet片段中所述。

清单测试提供了有关要测试的每台服务器上的硬件,软件和设置的信息列表。您可以单独使用清单测试(“验证群集配置向导”中没有其他测试)来查看或记录硬件的配置(例如,在执行计划的维护后,查看每个服务器上的软件更新是否相同)。

有关更多信息,请访问:Technet-了解群集验证测试:清单


Inventory是一类测试,其中包括列表测试。但是,列表测试不被视为库存测试。
Colyn1337 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.