Powershell cmdlet Test-Cluster查询大量数据并执行validationtesting,并将其包装到一个漂亮的报告中。 如果运行Test-Cluster -List List,则会获得一个项目列表,您可以使用该cmdlet单独进行查询。 阅读DisplayName时有一个通用的命名scheme。 它们都以“List”或“Validate”开头。
显然“validation”将实际上通过失败来testing故障转移。 但是命名“List”让我觉得这只是对数据的查询,就像在运行时一样。 我已经用下面的脚本testing过了:
$TestList = Test-Cluster -List | Where-Object {$_.DisplayName -like "List*"} Test-Cluster -Include $TestList.DisplayName -ReportName "c:\cluster reports\report"
在生成此报告时,我看不到任何已logging的群集错误或注意到任何故障转移活动。 微软technet也不完全清楚这一点,但他们确实推断行为是与我在想的是一致的。 看到这个摘录(重点是我的):
testing结果将以您指定的文件名捕获到文件中。 通过运行validationtesting,您可以确认您的硬件和设置与故障转移群集兼容 。 有多种types的testing,包括集群,库存,networking,存储,系统和其他types的testing。 存储testing不会testing集群angular色正在使用的联机磁盘或存储池。 要testing此类磁盘,请首先运行Stop-ClusterGroup以停止集群angular色,然后运行Test-Cluster。 testing完成后,再次启动群集angular色(也称为资源组)。
testing群集TechNet页面
我想请您注意他们对“validation”一词的使用。 此外,运行该脚本时,作为输出的一部分,它说:
Test Result: ClusterSkippedTestsCompleted
如果包含validationtesting,结果是:
Test Result: ClusterConditionallyApproved
在我的testing环境中,networkingtesting产生了一些警告,触发了有条件的批准。 我已经search了很多,find描述“validation”与“列表”分裂背后的逻辑的文档,但我还没有发现任何东西。 这导致了一个问题…
列表请求是否触发故障转移事件?
validation和列表之间的分歧旨在指示预期的结果。 validationtesting是布尔型的,返回通过/失败,是/否,上/失败等。 列表testing返回统计和运营数据进行审查。
微软在考虑零停机时间的情况下进行testing。 而大多数情况是这样。 有些testing会触发故障转移并导致停机 。 他们是:
需要注意的是,如果Test-Cluster运行时不使用包含或排除参数,它将运行这些testing 。 虽然上面列出的testing会触发故障转移事件,但以下testing可能会影响性能 。 他们是:
上面列出的所有testing都是存储类别的一部分。 因此,通常build议在生产中的服务器上避免存储testing。 要排除这些testing,请运行以下命令:
Test-Cluster -Ignore Storage
如果使用Include参数selecttesting,则可以运行两个安全存储testing。 他们是:
来源1和来源2
所有可用的群集testing分为5个testing类别。 它们是Cluster Configuration , Inventory , Network , Storage和System Configuration 。 只有Storage类别包含将触发故障转移或影响性能的testing(按照Microsoft的说法)。 另外,大多数这些testing类别并不打算在集群通过authentication和操作后执行。 除了一个是…
对于现有群集
Microsoft devise了用于现有群集的Cluster Configurationtesting。 实际上,这些testing只能在现有的集群上运行。 要执行此testing类别,请运行以下命令:
Test-Cluster -Include "Cluster Configuration"
来源3
根据我的经验,Test-Cluster永远不会触发故障转移事件。 它仅用于检查硬件和软件configuration,以查看是否一切与故障转移群集兼容。 据我所知,在故障转移群集pipe理器中使用GUI“validation群集”function时,也运行testing群集。 它实际上并不“testing”群集的“故障转移”function。
根据以下链接:
[test-cluster description] [1] http://technet.microsoft.com/en-us/library/ee461026.aspx
示例3: testing群集列表
此命令列出集群validation中所有testing和类别的名称 。 然后,您可以使用-Ignore或-Include指定这些testing名称以运行特定的testing。
所以list命令只是给你一个你可以运行和validation集群的testing列表。
你的另一部分问题:显示名称
以List开头的DisplayNames 只是从集群节点获取信息 ,而以Validate开头的DisplayNames 实际上是testingconfiguration (它执行磁盘故障转移,共享testing,networkingtesting等)
简单的答案:列表请求不会触发故障转移事件。
详细答案:自2008R2以来,将testing分为“validation”和“列表”的逻辑是一致的。 大多数以“List”开头的testing都被视为Inventory Tests ,它们不影响当前configuration的集群的状态。 所有以list开始的命令行程序都是信息性的,详情请参阅下面的technet代码片段。
库存testing提供了有关您正在testing的每台服务器上的硬件,软件和设置的信息列表。 您可以单独使用清单testing(在“validation群集configuration向导”中没有其他testing)来查看或logging硬件configuration(例如,在执行定期维护之后查看每个服务器上的软件更新是否相同)。
更多信息可以在以下urlfind: Technet – 了解群集validationtesting:清单