Warum dauert die Erstellung meines inkrementellen EBS-Snapshots genauso lange wie die Erstellung eines vollständigen EBS-Snapshots?

Lesedauer: 3 Minute
0

Ich möchte wissen, warum das Erstellen eines inkrementellen Snapshots meines Amazon Elastic Block Store (Amazon EBS)-Volumes genauso lange dauert wie ein vollständiger Snapshot.

Lösung

Die Dauer der Snapshot-Erstellung hängt von den folgenden Faktoren ab:

  • Größe des EBS-Volumes.
  • Anzahl der Blöcke, die sich seit dem letzten Snapshot geändert hat (Delta).
  • Arbeitslast auf dem EBS-Volume.
  • Aktives I/O zum EBS-Volume während der Snapshot-Erstellung. Wenn I/O-Operationen auf dem Volume gleichzeitig stattfinden, wenn der Erstellungsaufruf ausgegeben wird, wird der Snapshot depriorisiert.
  • Zeitpunkt des Snapshots, da die Bandbreite auf den Backend-Servern gemeinsam genutzt wird.
  • Zeit seit der letzten Aufnahme des Snapshots.

EBS-Snapshots zeigen konstruktionsbedingt die volle Größe des Backups an und nicht die inkrementelle Größe. Der erste Snapshot ist die vollständige Kopie Ihrer Daten. Nachfolgende Snapshots sind inkrementell und enthalten die geänderten Blöcke des letzten Snapshots. Der nachfolgende Snapshot zeigt die volle Größe, da ein neues Volume aus jedem EBS-Snapshot wiederhergestellt werden kann, auch wenn dieser konstruktionsbedingt inkrementell ist. Jeder inkrementelle Snapshot verweist auf die anderen Snapshots im Backend.

Wenn beispielsweise alle Blöcke seit dem ersten Snapshot geändert wurden, scheint die Erstellung eines Snapshots genauso lange zu dauern wie der vollständige Snapshot. Dies liegt daran, dass alle Blöcke, die auf den ersten Snapshot verweisen, geändert wurden.

Je mehr Änderungen seit dem letzten Snapshot vorgenommen wurden, desto länger dauert die nachfolgende Snapshot-Erstellung.

Die Erstellungszeit hängt auch von anderen Infrastrukturfaktoren ab, z. B. von der Auslastung der zugrunde liegenden Speichersubsysteme. Es gibt keine Möglichkeit, vorherzusagen, wie lange die Erstellung von EBS-Snapshots dauern könnte, oder diesen Prozess zu beschleunigen.

Weitere Informationen finden Sie unter So funktionieren Schnappschüsse.

Um die tatsächliche Größe eines Snapshots zu überprüfen

1.    Führen Sie den Befehl list-snapshot-blocks AWS Command Line Interface (AWS CLI) aus. Ersetzen Sie im folgenden Beispielbefehl den Wert durch die ID Ihres Snapshots.

$ aws ebs list-snapshot-blocks --snapshot-id value

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

Der Befehl list-snapshot-blocks listet alle Datenblöcke in diesem Snapshot mit den Block-Indizes und Block-Token auf. Beachten Sie, dass die API Ihnen nicht direkt die Gesamtzahl der Blöcke angibt. Sie müssen die Anzahl der zurückgegebenen Blöcke entweder anhand der Block-Token oder der Block-Indizes zählen.

Der Befehl list-snapshot-blocks gibt bis zu 10.000 Blöcke in einem einzigen Ergebnis zurück. Wenn Ihr Snapshot mehr als 10.000 Blöcke enthält, gibt der Befehl auch ein NextToken zurück.

Führen Sie den folgenden Befehl aus, um das Token zum Abrufen der nächsten Ergebnisseite zu verwenden. Ersetzen Sie im folgenden Beispielbefehl den Wert durch die ID Ihres Snapshots.

$ aws ebs list-snapshot-blocks --snapshot-id <value> --next-token value

2.    Nachdem Sie die Blöcke gezählt haben, berechnen Sie die Datengröße, indem Sie die Gesamtzahl der Blöcke mit 512 multiplizieren (jeder Block ist 512 KiB groß).

Beispiel

Größe der Daten im Snapshot (in KiB) = Gesamtzahl der Blöcke * 512

Um die Zeit für die Snapshot-Erstellung zu reduzieren

Es ist eine bewährte Methode, häufig Snapshots Ihrer Volumes zu erstellen. Eine häufige Snapshot-Erstellung bedeutet, dass die Größe der geänderten Blöcke auf dem Volume geringer ist, wodurch die Zeit für die Snapshot-Erstellung reduziert wird. Verwenden Sie Amazon Data Lifecycle Manager oder AWS Backup, um die Erstellung und Löschung von Snapshots zu automatisieren.

Verwandte Informationen

Warum ist die Erstellung meines AMI- oder EBS-Snapshots in Amazon Elastic Compute Cloud (Amazon EC2) langsam?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten