Start-ServiceFabricChaos
クラスターで Chaos 実行を開始します。
構文
Start-ServiceFabricChaos
[-TimeToRunMinute <UInt32>]
[-MaxConcurrentFaults <UInt32>]
[-MaxClusterStabilizationTimeoutSec <UInt32>]
[-WaitTimeBetweenIterationsSec <UInt32>]
[-WaitTimeBetweenFaultsSec <UInt32>]
[-EnableMoveReplicaFaults]
[-Context <Hashtable>]
[-ClusterHealthPolicy <ClusterHealthPolicy>]
[-ChaosTargetFilter <ChaosTargetFilter>]
[-TimeoutSec <Int32>]
[<CommonParameters>]
説明
Start-ServiceFabricChaos コマンドレットは、クラスターで Chaos の実行を開始します。 Chaos は、受信した入力パラメーターに基づいてクラスター内の障害を誘発します。 Get-ServiceFabricChaosReport コマンドレットを使用して、発生したエラーとその他のイベントのレポートを表示できます。
混乱は複数の反復で実行されます。 各イテレーションは、障害とクラスターの検証で構成されます。 Chaos の実行時間、イテレーション間の待機時間、イテレーション中に誘発できる障害の数、および障害間の待機時間を制御できます。 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
このコマンドは、クラスターで Chaos 実行を開始します。 この実行では、イテレーションは 30 秒の境界に配置されます。 各イテレーション内で、混乱は最大 3 つの障害を誘発します。 これらの障害は、5 秒のギャップで開始されます。 この実行は、別のメソッドによって停止されない限り、60 分で停止します。
Chaos が既に実行されている場合、このコマンドレットを発行しても効果はありません。
パラメーター
-ChaosTargetFilter
{{Fill ChaosTargetFilter Description}}
型: | ChaosTargetFilter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ClusterHealthPolicy
クラスターの正常性条件下での Chaos の動作方法を指定します。
型: | ClusterHealthPolicy |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Context
Chaos が開始される理由の詳細を保持するディクショナリ。
型: | Hashtable |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-EnableMoveReplicaFaults
混乱によって、プライマリ レプリカまたはセカンダリ レプリカが移動する原因となる障害が発生する可能性があることを示します。
型: | SwitchParameter |
配置: | 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 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxConcurrentFaults
Chaos が並行して誘発する障害の最大数を指定します。 混乱は繰り返し実行されます。 2 つの連続するイテレーションは、検証期間で区切られています。 1 回の反復で、Chaos は指定した最大数の障害を誘発します。 推奨値は 2 または 3 です。
型: | UInt32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TimeoutSec
操作のタイムアウト期間を秒単位で指定します。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TimeToRunMinute
Chaos の実行時間を分単位で指定します。は (1/60)uint を超えることはできません。MaxValue。 または、Stop-ServiceFabricChaos コマンドレットまたは StopChaosAsync メソッド (/dotnet/api/system.fabric.fabricclient.testmanagementclient#System_Fabric_FabricClient_TestManagementClient_StopChaosAsync_System_TimeSpan_System_Threading_CancellationToken_) を使用して混乱を停止することもできます。
型: | UInt32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WaitTimeBetweenFaultsSec
1 回の反復で 2 つの連続する障害の間で Chaos が待機する時間を秒単位で指定します。
より大きな値を指定すると、同時実行エラーの数が少なくなります。
最大許容値は UInt32.MaxValue
型: | UInt32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WaitTimeBetweenIterationsSec
繰り返しの間に Chaos が待機する時間を秒単位で指定します。 最大許容値は UInt32.MaxValue
型: | UInt32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
System.Object