Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überwachen der Lesereplikation
Es gibt mehrere Arten, den Status eines Lesereplikats zu überwachen. Die RDS Amazon-Konsole zeigt den Status einer Read Replica im Abschnitt Replikation der Registerkarte Konnektivität und Sicherheit in den Read Replica-Details an. Um die Details für eine Read Replica anzuzeigen, wählen Sie den Namen der Read Replica in der Liste der DB-Instances in der RDS Amazon-Konsole aus.
Sie können den Status einer Read Replica auch mithilfe des AWS CLI describe-db-instances
Befehls oder der RDS API DescribeDBInstances
Amazon-Operation anzeigen.
Der Status eines Lesereplikats kann einer der folgenden sein:
-
replicating (replizierend)– Das Lesereplikat wird erfolgreich repliziert.
-
Replikation herabgestuft (SQLnur SQL Server und Postgre) — Replikate empfangen Daten von der primären Instance, aber eine oder mehrere Datenbanken erhalten möglicherweise keine Updates. Dies kann beispielsweise auftreten, wenn ein Replikat gerade neu erstellte Datenbanken einrichtet. Es kann auch vorkommen, wenn in der blauen Umgebung einer blauen/grünen Bereitstellung Änderungen an großen Objekten vorgenommen werden, die nicht unterstützt DDL werden.
Der Status wechselt nicht von
replication degraded
zuerror
, es sei denn, während des beeinträchtigten Zustands tritt ein Fehler auf. -
error (Fehler) – Während des Replikationsvorgangs ist ein Fehler aufgetreten. Überprüfen Sie das Feld Replikationsfehler in der RDS Amazon-Konsole oder im Ereignisprotokoll, um den genauen Fehler zu ermitteln. Weitere Informationen über Fehlerbehebung eines Replikationsfehlers finden Sie unter Behebung eines My SQL Read Replica-Problems.
-
beendet (SQLnur MariaDBSQL, My oder Postgre) — Die Replikation ist beendet. Dies tritt auf, wenn die Replikation für mehr als 30 aufeinanderfolgende Tage entweder manuell oder aufgrund eines Replikationsfehlers angehalten wurde. In diesem Fall RDS beendet Amazon die Replikation zwischen der primären DB-Instance und allen Read Replicas. Amazon RDS tut dies, um erhöhte Speicheranforderungen auf der Quell-DB-Instance und lange Failover-Zeiten zu verhindern.
Unterbrochene Replikation kann sich auf den Speicher auswirken, da die Protokolle aufgrund des hohen Volumens an Fehlermeldungen, die in das Protokoll geschrieben werden, an Größe und Anzahl zunehmen können. Eine unterbrochene Replikation kann sich auch auf die Wiederherstellung nach einem Ausfall auswirken, da Amazon Zeit RDS benötigt, um die große Anzahl von Protokollen während der Wiederherstellung zu verwalten und zu verarbeiten.
-
terminated (beendet) (nur Oracle) – Die Replikation wurde beendet. Dies tritt auf, wenn die Replikation länger als 8 Stunden angehalten wurde, weil auf dem Lesereplikat nicht mehr genügend Speicherplatz vorhanden ist. In diesem Fall RDS beendet Amazon die Replikation zwischen der primären DB-Instance und der betroffenen Read Replica. Dieser Status ist ein Terminalstatus und das Lesereplikat muss neu erstellt werden.
-
gestoppt (MariaDB oder My SQL only) — Die Replikation wurde aufgrund einer vom Kunden initiierten Anfrage gestoppt.
-
Replikationsstopp gesetzt (SQLnur My) — Ein vom Kunden initiierter Stoppoint wurde mithilfe der gespeicherten Prozedur festgelegt, und die Replikation wird gerade ausgeführt.
-
Replikationsstopp erreicht (SQLnur mein) — Ein vom Kunden initiierter Stoppoint wurde mithilfe der gespeicherten Prozedur festgelegt, und die Replikation wird gestoppt, weil der Stopp erreicht wurde.
Sie können sehen, wo eine DB-Instance repliziert wird, und wenn ja, ihren Replizierungsstatus überprüfen. Auf der Seite Datenbanken in der RDS Konsole wird Primary in der Spalte Rolle angezeigt. Wählen Sie seinen DB-Instance-Namen. Auf der Detailseite auf der Registerkarte Connectivity & Security befindet sich der Replikationsstatus unter Replikation.
Überwachen einer Replikationsverzögerung
Sie können die Replikationsverzögerung in Amazon überwachen, CloudWatch indem Sie sich die RDS ReplicaLag
Amazon-Metrik ansehen.
Für MariaDB und My SQL meldet die ReplicaLag
Metrik den Wert des Seconds_Behind_Master
Feldes des SHOW REPLICA STATUS
Befehls. Häufige Ursachen für Replikationsverzögerungen für My SQL und MariaDB sind die folgenden:
-
Ein Netzwerkausfall.
-
Schreibvorgänge auf Tabellen mit Indizes auf einem Lesereplikat. Wenn der Parameter
read_only
im Lesereplikat nicht auf 0 gesetzt ist, kann es die Replikation unterbrechen. -
Verwenden einer nicht transaktionalen Speicher-Engine wie My. ISAM Die Replikation wird nur für die InnoDB-Speicher-Engine auf My SQL und die XtraDB-Speicher-Engine auf MariaDB unterstützt.
Anmerkung
Frühere Versionen von MariaDB und My SQL wurden SHOW SLAVE STATUS
stattdessen verwendet. SHOW REPLICA STATUS
Wenn Sie eine MariaDB-Version vor 10.5 oder eine Meine SQL Version vor 8.0.23 verwenden, verwenden Sie. SHOW SLAVE
STATUS
Wenn die Metrik ReplicaLag
den Wert 0 erreicht, hat das Replikat den Stand der primären DB-Instance erreicht. Wenn die ReplicaLag
-Metrik -1
zurückgibt, ist die Replikation aktuell nicht aktiv. ReplicaLag =
-1
ist gleich Seconds_Behind_Master = NULL
.
Für Oracle ist die Metrik ReplicaLag
die Summe des Apply Lag
-Wertes und der Differenz zwischen der aktuellen Zeit und dem DATUM_TIME
-Wert der zeitlichen Verzögerung. Der DATUM_TIME
-Wert ist der Zeitpunkt, an dem das Lesereplikat zuletzt Daten von seiner Quell-DB-Instance erhalten hat. Weitere Informationen finden Sie unter V$ DATAGUARD _ STATS
Für SQL Server ist die ReplicaLag
Metrik die maximale Verzögerung von Datenbanken, die zurückgefallen sind, in Sekunden. Wenn Sie beispielsweise zwei Datenbanken haben, die eine Verzögerung von 5 bzw. 10 Sekunden aufweisen, dann beträgt ReplicaLag
10 Sekunden. Die ReplicaLag
-Metrik gibt den Wert der folgenden Abfrage zurück.
SELECT MAX(secondary_lag_seconds) max_lag FROM sys.dm_hadr_database_replica_states;
Weitere Informationen finden Sie unter secondary_lag_seconds
ReplicaLag
gibt zurück, -1
wenn die Verzögerung nicht bestimmt werden RDS kann, z. B. bei der Einrichtung des Replikats oder wenn sich das Read Replica im error
Status befindet.
Anmerkung
Neue Datenbanken werden erst dann in die Verzögerungsberechnung einbezogen, wenn auf dem Lesereplikat auf sie zugegriffen werden kann.
Für Postgre gibt SQL die ReplicaLag
Metrik den Wert der folgenden Abfrage zurück.
SELECT extract(epoch from now() - pg_last_xact_replay_timestamp()) AS reader_lag
SQLPostgre-Versionen 9.5.2 und höher verwenden physische Replikationssteckplätze, um die Aufbewahrung von Write-Ahead-Log (WAL) auf der Quell-Instance zu verwalten. Für jede regionsübergreifende Read Replica-Instance RDS erstellt Amazon einen physischen Replikationsslot und ordnet ihn der Instance zu. Zwei CloudWatch Amazon-Metriken, Oldest Replication Slot Lag
undTransaction Logs Disk Usage
, zeigen, wie weit das Replikat mit der größten Verzögerung in Bezug auf die empfangenen WAL Daten zurückliegt und wie viel Speicherplatz für WAL Daten verwendet wird. Der Wert Transaction Logs Disk Usage
kann erheblich ansteigen, wenn ein regionsübergreifendes Lesereplikat signifikant verzögert ist.
Weitere Informationen zur Überwachung einer DB-Instance mit finden Sie CloudWatch unter. Überwachung von Amazon RDS Amazon mit Amazon CloudWatch