Partager via


Start-ServiceFabricChaos

Démarre une exécution chaos dans le cluster.

Syntaxe

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

Description

L’applet de commande Start-ServiceFabricChaos démarre une exécution chaos dans le cluster. Le chaos provoque des erreurs dans le cluster en fonction des paramètres d’entrée reçus. Un rapport des erreurs induites ainsi que d’autres événements rencontrés pendant l’exécution peut être consulté à l’aide de l’applet de commande Get-ServiceFabricChaosReport Get-ServiceFabricChaosReport.

Chaos s’exécute dans plusieurs itérations. Chaque itération se compose d’erreurs et de validation de cluster. Vous pouvez contrôler la durée d’exécution du chaos, la durée d’attente entre les itérations, le nombre d’erreurs qu’il peut provoquer pendant une itération et le temps d’attente entre les erreurs. Chaos valide l’intégrité du cluster entre les itérations.

Exemples

Exemple 1 : Démarrer chaos dans le cluster

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

Cette commande démarre une exécution chaos dans le cluster. Dans cette exécution, les itérations sont espaquées à une limite de 30 secondes. Au sein de chaque itération, le chaos entraîne un maximum de trois erreurs. Ces erreurs sont démarrées à un intervalle de cinq secondes. Cette exécution, sauf si elle est arrêtée par une autre méthode, s’arrête en 60 minutes.

Si Chaos était déjà en cours d’exécution, l’émission de cette applet de commande n’a aucun effet.

Paramètres

-ChaosTargetFilter

{{Fill ChaosTargetFilter Description}}

Type:ChaosTargetFilter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ClusterHealthPolicy

Spécifie le comportement de Chaos dans les conditions d’intégrité du cluster.

Type:ClusterHealthPolicy
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Context

Dictionnaire pour contenir des détails sur la raison pour laquelle Chaos est démarré.

Type:Hashtable
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-EnableMoveReplicaFaults

Indique que Chaos peut provoquer des erreurs qui peuvent entraîner le déplacement de réplicas principaux ou secondaires.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxClusterStabilizationTimeoutSec

Spécifie le nombre maximal de secondes pendant lesquelles Chaos attend que le cluster obtienne un état sain. Si le cluster n’est pas sain, un ValidationFailedEvent (/dotnet/api/system.fabric.chaos.datastructures.validationfailedevent) est consigné dans le rapport Chaos. Cette valeur ne peut pas dépasser le nombre total de secondes dans [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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxConcurrentFaults

Spécifie le nombre maximal d’erreurs que Chaos induise en parallèle. Le chaos s’exécute en itérations. Deux itérations consécutives sont séparées par une période de validation. Dans une seule itération, Chaos entraîne au maximum le nombre d’erreurs que vous spécifiez. La valeur recommandée est 2 ou 3.

Type:UInt32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TimeoutSec

Spécifie le délai d’expiration, en secondes, pour l’opération.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TimeToRunMinute

Spécifie la durée pendant laquelle Chaos s’exécute, en minutes ; ne peut pas dépasser (1/60)uint. MaxValue. Vous pouvez également arrêter Chaos à l’aide de l’applet de commande Stop-ServiceFabricChaos ou de la méthode StopChaosAsync (/dotnet/api/system.fabricclient.testmanagementclient#System_Fabric_FabricClient_TestManagementClient_StopChaosAsync_System_TimeSpan_System_Threading_CancellationToken_).

Type:UInt32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WaitTimeBetweenFaultsSec

Spécifie la durée pendant laquelle Chaos attend, en secondes, entre deux erreurs consécutives dans une itération. Si vous spécifiez une valeur supérieure, le nombre d’erreurs simultanées est inférieur. La valeur maximale autorisée est UInt32.MaxValue.

Type:UInt32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WaitTimeBetweenIterationsSec

Spécifie la durée pendant laquelle Chaos attend, en secondes, entre les itérations. La valeur maximale autorisée est UInt32.MaxValue.

Type:UInt32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Sorties

System.Object