Start-ServiceFabricChaos
啟動叢集中的混亂執行。
語法
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}}
類型: | ChaosTargetFilter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ClusterHealthPolicy
指定混亂在叢集健康情況下的行為。
類型: | ClusterHealthPolicy |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Context
字典,用來保存混亂啟動原因的詳細資料。
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EnableMoveReplicaFaults
表示混亂可能會引發可能導致主要或次要複本移動的錯誤。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | 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) 。
類型: | UInt32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxConcurrentFaults
指定 Chaos 平行引發的錯誤數目上限。 混亂會在反復專案中執行。 兩個連續反復專案會以驗證期間分隔。 在單一反復專案中,Chaos 最多會產生您指定的錯誤數目。 建議值為 2 或 3。
類型: | UInt32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TimeoutSec
指定作業的逾時期間,以秒為單位。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | 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。
類型: | UInt32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WaitTimeBetweenFaultsSec
指定在一個反復專案中兩個連續錯誤之間,Chaos 等候的時間長度,以秒為單位。 如果您指定較大的值,並行錯誤的數目會較低。 允許的最大值為 UInt32.MaxValue。
類型: | UInt32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WaitTimeBetweenIterationsSec
指定 Chaos 在反復專案之間等候的時間長度, 以秒為單位。 允許的最大值為 UInt32.MaxValue。
類型: | UInt32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
輸出
System.Object