Start-ServiceFabricChaos
Startet einen Chaoslauf im Cluster.
Syntax
Start-ServiceFabricChaos
[-TimeToRunMinute <UInt32>]
[-MaxConcurrentFaults <UInt32>]
[-MaxClusterStabilizationTimeoutSec <UInt32>]
[-WaitTimeBetweenIterationsSec <UInt32>]
[-WaitTimeBetweenFaultsSec <UInt32>]
[-EnableMoveReplicaFaults]
[-Context <Hashtable>]
[-ClusterHealthPolicy <ClusterHealthPolicy>]
[-ChaosTargetFilter <ChaosTargetFilter>]
[-TimeoutSec <Int32>]
[<CommonParameters>]
Beschreibung
Das cmdlet Start-ServiceFabricChaos startet einen Chaos-Run im Cluster. Chaos verursacht Fehler im Cluster basierend auf den empfangenen Eingabeparametern. Mithilfe des Cmdlets Get-ServiceFabricChaosReport kann ein Bericht über die fehlerinduzierten Fehler sowie andere während der Ausführung aufgetretene Ereignisse angezeigt werden.
Chaos läuft in mehreren Iterationen. Jede Iteration besteht aus Fehlern und Clusterüberprüfungen. Sie können steuern, wie lange Chaos läuft, wie lange es zwischen Iterationen wartet, wie viele Fehler es während einer Iteration auslösen kann und wie lange es zwischen Fehlern wartet. Chaos überprüft die Clusterintegrität zwischen Iterationen.
Beispiele
Beispiel 1: Starten des Chaos im 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
Mit diesem Befehl wird ein Chaos gestartet, das im Cluster ausgeführt wird. In dieser Ausführung werden Iterationen an der Grenze von 30 Sekunden verteilt. Innerhalb jeder Iteration erzeugt Chaos maximal drei Fehler. Diese Fehler werden bei einer Lücke von fünf Sekunden gestartet. Diese Ausführung wird in 60 Minuten beendet, es sei denn, sie wird von einer anderen Methode beendet.
Wenn Chaos bereits ausgeführt wurde, hat das Ausgeben dieses Cmdlets keine Auswirkung.
Parameter
-ChaosTargetFilter
{{Fill ChaosTargetFilter Description}}
Typ: | ChaosTargetFilter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ClusterHealthPolicy
Gibt an, wie sich Chaos unter Clusterintegritätsbedingungen verhalten soll.
Typ: | ClusterHealthPolicy |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Context
Ein Wörterbuch, das Details darüber enthält, warum Chaos gestartet wird.
Typ: | Hashtable |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-EnableMoveReplicaFaults
Gibt an, dass Chaos Fehler auslösen kann, die dazu führen können, dass primäre oder sekundäre Replikate verschoben werden.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-MaxClusterStabilizationTimeoutSec
Gibt die maximale Anzahl von Sekunden an, die Chaos wartet, bis der Cluster zum fehlerfreien Zustand wird. Wenn cluster nicht fehlerfrei ist, wird ein ValidationFailedEvent (/dotnet/api/system.fabric.chaos.datastructures.validationfailedevent) im Chaosbericht protokolliert. Dieser Wert darf die Gesamtzahl der Sekunden in [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)) nicht überschreiten.
Typ: | UInt32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-MaxConcurrentFaults
Gibt die maximale Anzahl von Fehlern an, die Chaos parallel auslöst. Chaos läuft in Iterationen. Zwei aufeinander folgende Iterationen werden durch einen Überprüfungszeitraum getrennt. In einer einzigen Iteration löst Chaos höchstens die Anzahl der von Ihnen angegebenen Fehler aus. Der empfohlene Wert ist 2 oder 3.
Typ: | UInt32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-TimeoutSec
Gibt den Timeoutzeitraum für den Vorgang in Sekunden an.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-TimeToRunMinute
Gibt an, wie lange Chaos in Minuten läuft; darf nicht überschreiten (1/60)uint. MaxValue. Alternativ können Sie Chaos mithilfe des Stop-ServiceFabricChaos Cmdlets oder der StopChaosAsync-Methode (/dotnet/api/system.fabric.fabricclient.testmanagementclient#System_Fabric_FabricClient_TestManagementClient_StopChaosAsync_System_TimeSpan_System_Threading_CancellationToken_) beenden.
Typ: | UInt32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WaitTimeBetweenFaultsSec
Gibt an, wie lange Chaos in Sekunden zwischen zwei aufeinander folgenden Fehlern in einer Iteration wartet. Wenn Sie einen größeren Wert angeben, ist die Anzahl der gleichzeitigen Fehler niedriger. Der maximal zulässige Wert ist UInt32.MaxValue.
Typ: | UInt32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WaitTimeBetweenIterationsSec
Gibt an, wie lange Chaos zwischen Iterationen in Sekunden wartet. Der maximal zulässige Wert ist UInt32.MaxValue.
Typ: | UInt32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Ausgaben
System.Object