Wie kann ich eine Replikationsverzögerungen oder einen Backlog auf meinem Windows-Quellserver für den Application Migration Service beheben?

Lesedauer: 9 Minute
0

Ich sehe eine Verzögerung oder einen Backlog auf meinem Windows-Quellserver, wenn ich Daten mit dem AWS Application Migration Service repliziere.

Kurze Beschreibung

Die folgenden Faktoren tragen zu Replikationsverzögerungen und Backlog bei der Replikation von Daten von einem Quellserver auf einen Zielserver bei:

  • Netzwerk-Uplink-Geschwindigkeit und Bandbreitenverfügbarkeit: Die Geschwindigkeit der Netzwerkverbindung zwischen dem Quellserver und dem Replikationsserver kann erhebliche Auswirkungen auf die Replikationsleistung haben. Langsame Verbindungen können den Abschluss des Replikationsvorgangs verhindern. Außerdem begrenzt die begrenzte Bandbreite die Datenmenge, die Sie in einer bestimmten Zeit replizieren können.
  • Änderungen auf der Festplatte während der Replikation: Während des Replikationsprozesses schreibt der Quellserver möglicherweise weiterhin neue Daten auf seine Festplatten. Wenn die Menge neuer Daten, die der Quellserver schreibt, stark ansteigt, sammeln sich die Daten an und es entsteht ein erheblicher Backlog. Der AWS Replication Agent muss diesen Backlog zusammen mit der ersten Synchronisierung senden. Je größer der Backlog, desto länger dauert es, bis die Datenreplikation abgeschlossen ist.
  • E/A-Geschwindigkeit der Speicherdatenträger: Während des Replikationsprozesses liest der AWS Replication Agent Speicherblöcke von Festplatten und überträgt Daten an den Replikationsserver. Eine hohe Leselatenz auf den Festplatten des Quellservers kann sich jedoch auf die Geschwindigkeit und Effizienz der Datenreplikation auswirken. Langsame Festplatten führen zu Verzögerungen, und schnelle Festplatten verbessern die Replikationsgeschwindigkeit.
  • Last auf dem Quellserver: Ein Ressourcenkonflikt auf dem Quellserver kann zu einer hohen CPU-Auslastung, einem hohen Speicherverbrauch, E/A-Wartezeiten oder anderen Ressourceneinschränkungen führen. Beispielsweise kann eine hohe CPU-Auslastung zu Replikationsengpässen führen. Dies liegt daran, dass das System Schwierigkeiten hat, CPU-Ressourcen zwischen dem AWS Replication Agent und anderen Prozessen zuzuweisen. Ebenso kann ein hoher Speicherverbrauch dazu führen, dass das System Speicherseiten auf die Festplatte auslagert. Dies führt zu einer erhöhten E/A-Wartezeit und einer Verlangsamung des Replikationsprozesses.
  • Zu wenig bereitgestellte Replikationsressourcen: Das Staging von Amazon Elastic Block Store (Amazon EBS)-Volumen mit niedrigerem Durchsatz und IOPS kann zu einer hohen Lese- und Schreiblatenz und einer hohen Warteschlangenlänge führen. All diese Probleme wirken sich auf die Replikationsleistung aus. Außerdem führt ein Replikationsserver-Instance-Typ mit geringem Netzwerkdurchsatz und geringer Amazon EBS-Bandbreite zu Problemen mit der Replikationsleistung.

Lösung

Um den Grund für die Verzögerung zu ermitteln, führen Sie zunächst Überprüfungen auf dem Quellserver durch. Führen Sie dann Überprüfungen im Staging-Bereich durch.

Prüfungen auf dem Quellserver

Stellen Sie sicher, dass der Quellserver gestartet wurde und läuft

Stellen Sie sicher, dass der Quellserver für die Migration gestartet wurde und läuft.

Stellen Sie sicher, dass die Prozesse des AWS Replication Agents ausgeführt werden

Führen Sie den folgenden Befehl in PowerShell aus, um die laufenden AWS Replication Agent-Services aufzulisten:

get-service | where-object name -like “*AWSR*”

Die folgende Ausgabe zeigt die Standarddienste, die ausgeführt werden. Stellen Sie sicher, dass der Haupt-AWSReplicationService ausgeführt wird:

PS C:\Users\Administrator> get-service | where-object name -like “*AWSR*”

Status   Name               DisplayName
------   ----               -----------
Running  AwsReplicationD... AwsReplicationDriverLogger
Running  AwsReplicationL... AwsReplicationLogger
Stopped  AwsReplicationP... AwsReplicationPostConvertService
Running  AwsReplicationS... AwsReplicationService
Running  AwsReplicationV... AwsReplicationVolumeUpdaterService

Oder drücken Sie Windows + R, geben Sie services.msc ein und drücken Sie die Eingabetaste. Stellen Sie sicher, dass der AWSReplicationService ausgeführt wird.

Überprüfen Sie aktive TCP-Verbindungen

Stellen Sie sicher, dass fünf aktive TCP-Verbindungen mit dem Replikationsserver am TCP-Port 1500 hergestellt wurden.

Führen Sie den folgenden Befehl aus:

C:\Users\Administrator>netstat -an | find "1500"

Überprüfen Sie die Befehlsausgabe für die aktiven Verbindungen:

TCP    172.31.82.135:50929    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50930    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50931    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50933    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50934    <Replicator Instance IP>:1500    ESTABLISHED

Verwenden Sie den Windows-Ressourcen-Monitor, um die Leistung auf dem Quellserver zu überprüfen.

Der AWS Replication Agent wird jeweils auf einem CPU-Kern ausgeführt. Wenn die CPU-Auslastung auf dem Kern, auf dem der AWS Replication Agent ausgeführt wird, hoch ist, verlangsamt sich die Datenreplikation. Gehen Sie wie folgt vor, um die CPU-Auslastung zu überprüfen:

1.Verwenden Sie eine der folgenden Methoden, um den Windows-Ressourcen-Monitor zu starten:

  • Wählen Sie im Task-Manager auf der Registerkarte Leistung die Option Ressourcenmonitor öffnen aus.
  • Wählen Sie in der Systemsteuerung Verwaltung, Ressourcen-Monitor aus.
  • Führen Sie resmon.exe über die Befehlszeile oder PowerShell aus.
  • Wählen Sie das Windows-Symbol aus und geben Sie dann resmon.exe ein.

2.Überprüfen Sie die CPU-Auslastung des CPU-Kerns, auf dem der AWS Replication Agent ausgeführt wird.

  • Wenn die CPU-Auslastung auf diesem Kern hoch ist, überprüfen Sie, welcher Prozess den größten Teil der CPU-Leistung verbraucht.
  • Der Agent verwendet mindestens 5 % der CPU. Stellen Sie sicher, dass genügend CPU-Leistung verfügbar ist, damit der Agent die Datenreplikation durchführen kann.

3.Überprüfen Sie die Festplattenleistung auf dem Quellserver.

Suchen Sie nach den Metriken Schreiben (B/sec) und Reaktionszeit.

Sie können diese Metriken unter Festplattenaktivität überprüfen. Wenn der Lesedurchsatz auf der Quellfestplatte niedrig ist, liest und repliziert der Agent weniger Daten. Achten Sie auf Anstiege der Kennzahlen zum Lesen und Schreiben von Datenträgern.

**Hinweis:**Die erforderliche Bandbreite für die Übertragung der replizierten Daten über den TCP-Port 1500 basiert auf der Schreibgeschwindigkeit des teilnehmenden Quellservers. Es hat sich bewährt, über eine Bandbreite zu verfüge, die mindestens der Summe der durchschnittlichen Schreibgeschwindigkeit aller replizierten Quellcomputer entspricht.

4.Überprüfen Sie den Quellserver auf einen Anstieg der Schreibvorgänge.

Um unter Festplattenaktivität nach Schreibvorgängen zu suchen, suchen Sie Schreiben (B/sec).

Wenn sich der Workload ändert, überprüfen Sie regelmäßig die Festplattenleistung, um die E/A-Last zu ermitteln. Wenn der Schreibdurchsatz (MB/s) den bereitgestellten Netzwerkdurchsatz überschreitet, kommt es zu einer Replikationsverzögerung.

**Hinweis:**Informationen zur Berechnung der erforderlichen Bandbreite vom Quellserver zum Replikationsserver finden Sie unter Berechnung der erforderlichen Bandbreite für den TCP-Port 1500.

Wenn Ihr Quellserver schreibintensiv ist und schneller schreibt als die Replikationsgeschwindigkeit, wächst der Backlog weiter an.

Überprüfen Sie die Replikationsgeschwindigkeit und die verfügbare Bandbreite vom Quellserver zum Staging-Area-Subnetz

Informationen zur Durchführung eines Geschwindigkeitstests finden Sie unter Wie kann ich einen SSL-Verbindungs- und Bandbreitentest durchführen?

Suchen Sie nach einem Quellserver, der versehentlich heruntergefahren wurde

Wenn ein Quellserver versehentlich heruntergefahren wird, scannt der AWS Replication Agent nach dem Neustart des Servers erneut alle Festplatten. Der AWS Replication Agent liest die Festplatten erneut aus und die Verzögerung nimmt kontinuierlich zu, bis der erneute Scan abgeschlossen ist. Weitere Informationen finden Sie unter Welche Windows- und Linux-Betriebssysteme unterstützen No-Rescan bei einem Neustart?

Gehen Sie wie folgt vor, um zu überprüfen, wie der Quellcomputer heruntergefahren wurde:

1.Drücken Sie Windows + R, geben Sie dann eventvwr.msc ein, und drücken Sie die Eingabetaste.

2.Doppelklicken Sie in der Ereignisanzeige auf Windows-Protokolle, um diese zu erweitern.

3.Rechtsklicken Sie auf System.

4.Wählen Sie Aktuelles Protokoll filtern aus.

5.Wählen Sie den Dropdown-Pfeil neben Ereignisquellen und wählen Sie dann USER32 aus.

6.Geben Sie im **<All Event IDs>**Feld 1074 ein, und wählen Sie anschließend OK aus. In der Ereignisanzeige wird eine Liste der Ereignisse vom Typ Abschaltung (Shutdown) und Neustart angezeigt.

7.Um das Datum und die Uhrzeit aller unerwarteten Computerabschaltungen zu sehen, geben Sie 6008 in das **<All Event IDs>**Feld ein und wählen Sie anschließend OK aus.

Stellen Sie sicher, dass der TCP-Port 1500 nicht für ausgehende Verbindungen gesperrt ist

1.Stellen Sie sicher, dass der TCP-Port 1500 nicht für ausgehende Verbindungen vom Quellserver zum Replikationsserver gesperrt ist.

2.Sie können einen Telnet- oder TNC-Befehl an die IP-Adresse der Replikator-Instance ausführen, wie in den folgenden Beispielen gezeigt:

  • Von CMD: telnet <replication subnet IP address> 1500
  • Von PowerShell: TNC <replication subnet IP address> -port 1500

3.Stellen Sie sicher, dass Ihre lokale Firewall die Konnektivität vom Quellserver zum Replikationsserver über den TCP-Port 443 zulässt. Gehen Sie wie folgt vor, um die Konnektivität an der Betriebssystem-Firewall zu aktivieren:

  • Öffnen Sie auf dem Quellserver die Windows-Firewall-Konsole.
  • Wählen Sie in der Konsole in der Baumstruktur die Option Regeln für ausgehende Verbindungen aus.
  • Wählen Sie in der Tabelle Regeln für ausgehende Verbindungen die Regel aus, die sich auf die Verbindung Remote Port — 1500 bezieht. Stellen Sie sicher, dass der Status Aktiviert auf Ja gesetzt ist.
  • Wenn der Status Aktiviert der Regel Nein lautet, klicken Sie mit der rechten Maustaste und wählen Sie Regel aktivieren aus.

4.Um Datenverkehr über den TCP-Port 1500 zuzulassen, stellen Sie sicher, dass Ihre Unternehmens-Firewall diese Konnektivität zulässt.

**Hinweis:**Sie können auch den SSL-Geschwindigkeitstest oder den iperf-Test durchführen. Weitere Informationen finden Sie unter Wie kann ich einen SSL-Verbindungs- und Bandbreitentest durchführen?

Stellen Sie sicher, dass die Bandbreitendrosselung in den Replikationseinstellungen auf dem Quellserver deaktiviert ist

Deaktivieren Sie die Bandbreitendrosselung in den Replikationseinstellungen des Quellservers. Das Deaktivieren der Bandbreitendrosselung trägt dazu bei, dass ausreichend Bandbreite für die Datenübertragung vom Quellserver zum Staging-Bereichs-Subnetz aufrechterhalten wird.

Das Aktivieren der Bandbreitendrosselung auf dem Quellserver führt zu einer konstanten oder stagnierenden Wachstumsverzögerung. Dies liegt daran, dass die Drosselung die Datenreplikation vom Quellserver zum Replikationsserver einschränkt.

Gehen Sie wie folgt vor, um zu überprüfen, ob eine Bandbreitendrosselung vorliegt:

1.Öffnen Sie die Application Migration Service-Konsole.

2.Wählen Sie Einstellungen und wählen Sie dann unter Datenrouting und Drosselung die Replikationsvorlage aus.

3.Wenn die Option Netzwerkbandbreite drosseln aktiviert ist, überprüfen Sie den Wert und vergleichen Sie ihn mit der aufgelisteten Replikationsgeschwindigkeit. Weitere Informationen finden Sie im vorherigen Abschnitt Überprüfen Sie die Replikationsgeschwindigkeit und die verfügbare Bandbreite vom Quellserver zum Staging-Area-Subnetz.

Ressourcenprüfungen im Staging-Bereich

Stellen Sie sicher, dass der TCP-Port 1500 nicht für eingehende Verbindungen gesperrt ist

Stellen Sie sicher, dass der TCP-Port 1500 in den Sicherheitsgruppen des Replikationsservers nicht für eingehende Verbindungen gesperrt ist.

**Hinweis:**Sie müssen die folgenden Schritte in der Amazon Elastic Compute Cloud (Amazon EC2)-Konsole ausführen.

1.Öffnen Sie die Amazon EC2-Konsole.

2.Wählen Sie die Sicherheitsgruppe aus, die an die Replikator-Instance angehängt ist.

3.Stellen Sie sicher, dass eingehende Verbindungen am TCP-Port 1500 in der angeschlossenen Sicherheitsgruppe zulässig sind.

Überprüfen Sie das Snapshot-Kontingent in der Zielregion

Stellen Sie sicher, dass Ihr AWS-Konto die Snapshot-Kontingentgrenzen in der Region, in der Sie die Quellserver replizieren, nicht erreicht hat. Führen Sie den folgenden Befehl der AWS Command Line Interface (AWS CLI) aus, um zu überprüfen, ob Sie das Snapshot-Kontingent in der Region erreicht haben. Ersetzen Sie im folgenden Beispiel region durch Ihre Zielregion.

**Hinweis:**Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS-CLI verwenden.

# aws service-quotas get-service-quota --service-code ebs --quota-code L-309BACF6 --region region --query "Quota.Value"  
# aws ec2 describe-snapshots --owner-ids self --region region --query "length(Snapshots)"

Ähnliche Informationen

Identifizierung von Replikationsengpässen bei der Verwendung von AWS Application Migration Service

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr