Start-ServiceFabricChaos

啟動叢集中的混亂執行。

Syntax

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

Description

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 秒的界限分隔。 在每個反復專案中,混亂最多引發三個錯誤。 這些錯誤會在五秒的間距開始。 除非由另一個方法停止,否則此執行將會在 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

指定混亂在叢集健康情況下的行為。

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

指定 Chaos 執行的時間,以分鐘為單位;不能超過 (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

指定在一個反復專案中兩個連續錯誤之間,Chaos 等候的時間長度,以秒為單位。 如果您指定較大的值,並行錯誤的數目會較低。 允許的最大值為 UInt32.MaxValue

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

-WaitTimeBetweenIterationsSec

指定 Chaos 在反復專案之間等候的時間長度, 以秒為單位。 允許的最大值為 UInt32.MaxValue

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

輸入

None

輸出

System.Object