你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Start-ServiceFabricChaos

启动在群集中运行的混沌。

语法

Start-ServiceFabricChaos
     [-TimeToRunMinute <UInt32>]
     [-MaxConcurrentFaults <UInt32>]
     [-MaxClusterStabilizationTimeoutSec <UInt32>]
     [-WaitTimeBetweenIterationsSec <UInt32>]
     [-WaitTimeBetweenFaultsSec <UInt32>]
     [-EnableMoveReplicaFaults]
     [-Context <Hashtable>]
     [-ClusterHealthPolicy <ClusterHealthPolicy>]
     [-ChaosTargetFilter <ChaosTargetFilter>]
     [-TimeoutSec <Int32>]
     [<CommonParameters>]

说明

Start-ServiceFabricChaos cmdlet 启动在群集中运行的 Chaos。 混沌会根据收到的输入参数在群集中引入故障。 可以使用 Get-ServiceFabricChaosReport cmdlet 查看导致的错误报告以及执行过程中遇到的其他事件。

混沌测试在多个迭代中运行。 每次迭代由故障和群集验证组成。 可以控制 Chaos 运行的时间、迭代之间等待的时间、迭代期间可引入的故障数,以及它在故障之间等待的时间。 混沌验证迭代之间的群集运行状况。

示例

示例 1:启动群集中的混沌

PS C:\> $clusterHealthPolicy = New-Object -TypeName System.Fabric.Health.ClusterHealthPolicy
PS C:\> $clusterHealthPolicy.MaxPercentUnhealthyNodes = 10
PS C:\> $clusterHealthPolicy.MaxPercentUnhealthyApplications = 20
PS C:\> $clusterHealthPolicy.ConsiderWarningAsError = $False
PS C:\> $clusterHealthPolicy.ApplicationTypeHealthPolicyMap.Add("CriticalAppType", 33)
PS C:\> $context = @{"k1" = "v1";"k2" = "v2"}
PS C:\> Start-ServiceFabricChaos -TimeToRunMinute 60 -MaxConcurrentFaults 3 -MaxClusterStabilizationTimeoutSec 60 -WaitTimeBetweenIterationsSec 30 -WaitTimeBetweenFaultsSec 5 -EnableMoveReplicaFaults -Context $context -ClusterHealthPolicy $clusterHealthPolicy

此命令在群集中启动混沌运行。 在此运行中,迭代的间隔为 30 秒边界。 在每个迭代中,混沌引入最多三个故障。 这些故障从 5 秒的间隙开始。 除非由另一种方法停止,否则此运行将在 60 分钟内停止。

如果 Chaos 已运行,则发出此 cmdlet 不起作用。

参数

-ChaosTargetFilter

{{Fill ChaosTargetFilter Description}}

Type:ChaosTargetFilter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClusterHealthPolicy

指定 Chaos 在群集运行状况条件下的行为方式。

Type:ClusterHealthPolicy
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Context

一个字典,用于保存有关为什么开始混沌的字典。

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableMoveReplicaFaults

指示混沌可能会引发可能导致主要副本或辅助副本移动的故障。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxClusterStabilizationTimeoutSec

指定 Chaos 等待群集进入正常状态的最大秒数。 如果群集不正常,则会在 Chaos 报告中记录 ValidationFailedEvent (/dotnet/api/system.fabric.chaos.datastructures.validationfailedevent) 。 此值不能超过 [TimeSpan.MaxValue] ( (https://msdn.microsoft.com/library/system.timespan.maxvalue(v=vs.110.aspx)https://msdn.microsoft.com/library/system.timespan.maxvalue(v=vs.110.aspx)的总秒数。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxConcurrentFaults

指定 Chaos 并行引入的最大故障数。 混沌在迭代中运行。 两次连续迭代由验证周期分隔。 在单个迭代中,Chaos 最多引入指定的故障数。 建议值为 2 或 3。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSec

指定操作的超时时间段(以秒为单位)。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeToRunMinute

指定混沌运行的时间(以分钟为单位);不能超过 (1/60) uint。MaxValue。 或者,可以使用 Stop-ServiceFabricChaos cmdlet 或 StopChaosAsync 方法 (/dotnet/api/system.fabric.fabricclient.testmanagementclient#System_Fabric_FabricClient_TestManagementClient_StopChaosAsync_System_TimeSpan_System_Threading_CancellationToken_) 来停止 Chaos。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WaitTimeBetweenFaultsSec

指定混沌等待的时间(以秒为单位)在一次迭代中的两个连续故障之间。 如果指定较大的值,则并发故障数较低。 允许的最大值为 UInt32.MaxValue

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WaitTimeBetweenIterationsSec

指定混沌等待在迭代之间等待的时间(以秒为单位)。 允许的最大值为 UInt32.MaxValue

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

None

输出

System.Object