Freigeben über


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