was passiert, wenn eine Datei während des Kopierens über das Netzwerk geändert wird?

was passiert, wenn eine Datei während des Kopierens über das Netzwerk geändert wird?

Ein bisschen Hintergrund ... Wir führen Redis auf mehreren EC2-Maschinen aus, auf denen die Amazon Linux-Distribution läuft (scheint mir auf Centos zu basieren) und verwenden derzeit sowohl RDB- als auch AOF-Backups. Diese Dateien werden auf EBS-Volumes gespeichert, aber wir sichern die Dateien auch stündlich auf S3, falls etwas mit EBS passiert.

Derzeit kopieren wir die RDB/AOF-Dateien an einen neuen Speicherort, führen sie dann aus aws s3 cp --recursive /mnt/storage/redis/${DIR} s3://backup_bucketund bereinigen anschließend alle temporären Dateien.

Ich möchte dies ändern, um die Festplatten-E/A beim Kopieren der Dateien zu vermeiden. Was passiert, wenn beim aws s3Kopieren der alten RDB-Datei eine neuere erstellt und eingelagert wird? Oder was passiert mit der AOF-Datei, an die jede Sekunde neue Inhalte angehängt werden?

Dinge, die wichtig sein könnten: Bei EXT4-Volumes wird wahrscheinlich EnhanceIO eingerichtet, um das EBS-Volume im Writethrough-Modus mit einer temporären SSD zu koppeln.

Antwort1

Gibt es einen Grund, warum Sie keine EBS-Snapshots verwenden? Sie können diese verwenden, um das gesamte EBS-Gerät (inkrementell) mit einem einfachen API-Aufruf zu speichern, und die Snapshots werden in S3 gespeichert. Wenn Sie eine alte Version zurück benötigen, erstellen Sie einfach ein Volume aus diesem Snapshot und verbinden Sie es mit Ihrer Instanz anstelle des defekten EBS.

verwandte Informationen