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, продолжительности ожидания между итерациями, количеством ошибок, которые он может вызвать во время итерации, и продолжительности ожидания между сбоями. Chaos проверяет работоспособность кластера между итерациями.
Примеры
Пример 1. Запуск Chaos в кластере
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-секундной границе. В каждой итерации хаос вызывает не более трех ошибок. Эти ошибки запускаются в промежутке в пять секунд. Этот запуск, если не остановлен другим методом, остановится в течение 60 минут.
Если Chaos уже запущен, выполнение этого командлета не повлияет.
Параметры
-ChaosTargetFilter
{{Fill ChaosTargetFilter Description}}
Тип: | ChaosTargetFilter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ClusterHealthPolicy
Указывает, как должен вести себя Chaos в условиях работоспособности кластера.
Тип: | ClusterHealthPolicy |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Context
Словарь для хранения сведений о том, почему запускается Chaos.
Тип: | Hashtable |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-EnableMoveReplicaFaults
Указывает, что Chaos может вызвать ошибки, которые могут привести к перемещению первичной или вторичной реплики.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-MaxClusterStabilizationTimeoutSec
Указывает максимальное количество секунд, в течение которых Chaos ожидает, пока кластер получит работоспособное состояние. Если кластер не работоспособен, средство ValidationFailedEvent (/dotnet/api/system.fabric.chaos.datastructures.validationfailedevent) регистрируется в отчете Chaos. Это значение не может превышать общее количество секунд в [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 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-MaxConcurrentFaults
Указывает максимальное количество сбоев, вызываемых Chaos параллельно. Chaos выполняется в итерациях. Две последовательные итерации разделяются периодом проверки. В одной итерации Chaos вызывает не более указанного количества ошибок. Рекомендуемое значение — 2 или 3.
Тип: | UInt32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TimeoutSec
Указывает период времени ожидания (в секундах) для операции.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TimeToRunMinute
Указывает продолжительность выполнения Chaos (в минутах); не может превышать (1/60)uint. Maxvalue. Кроме того, можно остановить Chaos с помощью командлета Stop-ServiceFabricChaos или метода StopChaosAsync (/dotnet/api/system.fabricclient.testmanagementclient#System_Fabric_FabricClient_TestManagementClient_StopChaosAsync_System_TimeSpan_System_Threading_CancellationToken_).
Тип: | UInt32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WaitTimeBetweenFaultsSec
Указывает время ожидания Chaos (в секундах) между двумя последовательными сбоями в одной итерации. Если указать большее значение, количество одновременных сбоев меньше. Максимально допустимое значение — UInt32.MaxValue.
Тип: | UInt32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WaitTimeBetweenIterationsSec
Указывает время ожидания Chaos (в секундах) между итерациями. Максимально допустимое значение — UInt32.MaxValue.
Тип: | UInt32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Выходные данные
System.Object