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 1和Source 2

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

对于现有群集

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

Test-Cluster -Include "Cluster Configuration"

Source 3

Test-Cluster Powershell cmdlet List vs Validate的更多相关文章

  1. Swift 字符串替换/过滤/切割/拼接

    替换为/结果过滤过滤掉单个字符/结果过滤掉开头和结尾的空白结果切割对字符串使用/作为分隔符来切割,不允许空字符串使用split函数结果是一个数组对字符串使用/作为分隔符来切割,允许空字符串结果拼接结果

  2. Swift开发教程--字符串的操作

    替换把?替换为/结果

  3. swift 网络搜索热词排行

    1.使用www.showapi.com上的接口,需要注册添加一个App,这样才能获取appid和secret密钥,调用前需要订购套餐(选免费的就可以了);2.外部库Podfile文件内容,SnapKit这里暂时不需要用到:3.桥接头文件参考:http://www.jb51.cc/article/p-pcleyxep-te.html4.AppTransportSecurityhasblockedac

  4. 如何在Swift中打乱数组?

    如何随机化或混洗Swift中的数组中的元素?例如,如果我的数组包括52张扑克牌,我想洗牌,以便洗牌。这个答案详细说明了如何在Swift的各种版本中添加Fisher-Yatesshuffle。Swift3版本是最宽松的,但是它们至少可以用于数组。每个Swift版本的命名和行为与该版本的mutating和nonmutating排序方法相匹配。

  5. unit-testing – 如何在Swift中对NSFetchedResultsController进行单元测试

    我有一个Swift应用程序,它使用NSFetchedResultsController从持久存储中获取List对象:它的工作方式与预期的一样,我将List对象描述打印到控制台.我想为我的应用程序编写一些单元测试,所以我创建了扩展XCTestCase的类.代码编译没有问题,测试运行,但不幸的是我无法在该上下文中获取List对象.我在控制台中获得的所有内容都是List对象的数量和致命错误:线路上升:我

  6. swift – 检查自定义对象数组是否包含特定的自定义对象

    说我有一个非常简单的Person类我希望将一个这样的人的集合存储在一个属性中,该属性是一个Person类的数组,类型为Person也许我实现如下问题:我如何检查people.list是否包含实例alex,好吗?

  7. swift – 使用反射来设置对象属性,而不使用setValue forKey

    在Swift中,不可能使用.setValue(…)>可空类型字段,如Int?>具有枚举类型的属性>一个可空对象的数组,如[MyObject?]这有一个解决方法,也就是通过覆盖对象本身中的UnVersionKey方法的setValue.因为我正在写一个基于反射的通用对象映射器.请参阅EVReflection我想尽量减少这种手动映射.是否有其他方式自动设置这些属性?

  8. Swift Sliceable上的递归

    事实证明,有一个通用的解决方案.您需要添加这些通用要求:对于发布的问题,这给出了:这是任何切片上有用的通用缩减:我不能相信这一点,Apple开发论坛上的解决方案是posted.令人遗憾的是,通用要求如此涉及到这样一个基本操作–它几乎不直观!

  9. uitableview – 使用Swift的“使用未解析的标识符”

    我正在重写我在Swift中的一个应用程序,它显示SouthKohala的实时天气数据.爱Swift到目前为止!

  10. Android Checkbox listview选择全部(禁用/启用)

    参见英文答案>SelectingAllItemsinaListviewoncheckboxselect4个我想禁用/启用listview中的所有复选框.infact想通过单击顶部复选框来选择所有行为.谢谢解决方法这是我最终工作的地方,我正在使用游标适配器,而不仅仅是我的列表项的Arraylistadapter:list.getChildCount不起作用,因为它似乎只计算立即绘制的内容(不是屏幕外

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部