
Ich habe 3 SSD-EBS-Volumes auf meinem Datenbankserver gemountet. Das Hauptdatenvolume ist 10 TB groß, das Journalvolume ist 1 TB groß und ein drittes Volume ist 100 GB groß.
Wenn ich einen Snapshot der drei Volumes erstelle, dauert das Erstellen des Snapshots des 1-TB-Journal-Volumes durchweg viel, viel länger als das des 10-TB-Datenvolumes, obwohl nur etwa 100 GB Speicherplatz darauf verwendet werden. (Es sind über 8 Stunden vergangen und es sind erst 55 % fertig. Der 10-TB-Snapshot war nach etwa 2 Stunden fertig.)
Kann ich etwas tun, um den Vorgang zu beschleunigen?
Antwort1
Die Zeit, die EC2 zum Erstellen eines Snapshots benötigt, ist direkt proportional zur Anzahl der geänderten Blöcke, die das Volume seit dem letzten Snapshot gesehen hat. Im Fall Ihres Journals sieht das einenvielvon Schreib-/Löschvorgängen, daher ist es nicht überraschend, dass das Einrasten lange dauern würde.
Bedenken Sie, dass dies wirklichGeräte blockieren. Sie wissen nichts über Ihr Dateisystem. Es mag stimmen, dass das Journal-Volume im Moment nur 100 GB belegt, aber seit dem letzten Snapshot könnte jeder einzelne seiner Blöcke geändert worden sein. Einige der Dateien, die diese Blöcke belegten, wurden gelöscht, sodass sie für Ihr Dateisystem nicht als „benutzt“ erscheinen, aber das Blockgerät selbst weiß nichts davon, also muss es einen Snapshot durchführen.alledieser Daten. (Nebenbei bemerkt ist dies derselbe Grund, warum AWS nicht darüber berichten kann, wie viele Daten in EBS-Volumes gespeichert sind, ohne einen serverseitigen Agenten, der den Speicher auf Dateisystemebene abfragen kann.)
Um das Risiko zu mindern, können Sie versuchen, häufiger Schnappschüsse zu machen.
Eine Frage jedoch: Warum ist es Ihnen wichtig, wie lange es dauert? Sobald der API-Aufruf von Ihrer Snap-Create-Anforderung zurückgegeben wird, können Sie das Volume weiterhin verwenden, und alle nachfolgenden Änderungen am Blockgerät werden nicht in den Snapshot aufgenommen.