Test-Cluster Powershell cmdlet List vs Validate

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

显然,“验证”将通过失败来实际测试故障转移.但是命名“List”会让我觉得它只是在运行时对数据进行查询.我用以下脚本测试了这个:

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

生成此报告时,我没有看到任何已记录的群集错误或注意到任何故障转移活动. Microsoft technet对此也不是很清楚,但他们确实推断出这种行为符合我的想法.看这个摘录(强调我的):

Test results are captured in a file with the file name that you
specify. By running the validation tests,you can confirm that your
hardware and settings are compatible with Failover Clustering
. There
are multiple types of tests,including Cluster,Inventory,Network,
Storage,System,and other types of tests. Storage tests will not test
online disks or storage pools that are in use by a clustered role. To
test such disks,first run Stop-ClusterGroup to stop the clustered
role,and then run Test-Cluster. After the tests are done,start the
clustered roles,also kNown as resource groups,again.

Test-Cluster TechNet Page

我想请你注意他们使用“验证”这个词.此外,在运行该脚本时,作为输出的一部分,它说:

Test Result:
ClusterSkippedTestsCompleted

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

Test Result:
ClusterConditionallyApproved

在我的测试环境中,网络测试产生了一些警告,触发了条件批准.我已经搜索了相当多的文档来描述“验证”与“列表”拆分背后的逻辑,但我没有发现任何东西.这引出了一个问题……

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

验证和列表之间的分离旨在指导期望的结果.验证测试是布尔值和返回通过/失败,是/否,启动/失败等.列表测试返回统计和操作数据以供审查.

微软在考虑零停机时建立了测试.在大多数情况下,这是真的.有些测试会触发故障转移并导致停机.他们是:

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

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

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

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

Test-Cluster -Ignore Storage

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

>列出所有磁盘
>列表要验证的磁盘

Source 1Source 2

所有可用的集群测试分为5个测试类别.它们是群集配置,清单,网络,存储和系统配置.只有存储类别包含将触发故障转移或影响性能的测试(根据微软的说法).此外,大多数这些测试类别无意在群集经过认证和运行后执行.除了一个……

对于现有群集

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

Test-Cluster -Include "Cluster Configuration"

Source 3

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...