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-Cluster TechNet Page 我想请你注意他们使用“验证”这个词.此外,在运行该脚本时,作为输出的一部分,它说: Test Result: ClusterSkippedTestsCompleted 如果包含验证测试,则结果为: Test Result: ClusterConditionallyApproved 在我的测试环境中,网络测试产生了一些警告,触发了条件批准.我已经搜索了相当多的文档来描述“验证”与“列表”拆分背后的逻辑,但我没有发现任何东西.这引出了一个问题…… 列表请求是否会触发故障转移事件? 验证和列表之间的分离旨在指导期望的结果.验证测试是布尔值和返回通过/失败,是/否,启动/失败等.列表测试返回统计和操作数据以供审查.微软在考虑零停机时建立了测试.在大多数情况下,这是真的.有些测试会触发故障转移并导致停机.他们是: >验证磁盘仲裁 重要的是要注意,如果在不使用include或exclude参数的情况下运行Test-Cluster,它将运行这些测试.虽然上面列出的测试将触发故障转移事件,但以下测试可能会影响性能.他们是: >验证磁盘访问延迟 上面列出的所有测试都是存储类别的一部分.因此,通常建议在生产中的服务器上避免存储测试.要排除这些测试,请运行以下命令: Test-Cluster -Ignore Storage 如果您使用Include参数有选择地选择测试,则可以运行两个安全存储测试.他们是: >列出所有磁盘 Source 1和Source 2 所有可用的集群测试分为5个测试类别.它们是群集配置,清单,网络,存储和系统配置.只有存储类别包含将触发故障转移或影响性能的测试(根据微软的说法).此外,大多数这些测试类别无意在群集经过认证和运行后执行.除了一个…… 对于现有群集 Microsoft设计了Cluster Configuration测试以在现有群集上使用.实际上,这些测试仅在现有集群上运行.要执行此测试类别,请运行以下命令: Test-Cluster -Include "Cluster Configuration" Source 3 (编辑:ASP站长网) |