Wiederherstellen von AWS Glacier-Daten, die mit Synology Hyper Backup erstellt wurden

Wiederherstellen von AWS Glacier-Daten, die mit Synology Hyper Backup erstellt wurden

Ich verwende Synology Hyper Backup, um mein NAS auf AWS S3 zu sichern. Um die Kosten zu senken, habe ich dem S3-Bucket einen Lebenszyklus hinzugefügt, der die Daten nach ein paar Tagen auf AWS Glacier verschiebt.

Nun möchte ich die Daten wiederherstellen. Dazu muss ich den Schritt rückgängig machen und alle Daten zurück auf S3 bringen, damit Synologys Hyperbackup sie abrufen kann.

Ich habe bereits auf den entsprechenden Bucket geklickt -> Wiederherstellung einleiten

Dort steht, dass die Wiederherstellung 12 - 24 Stunden dauern könnte, aber es sind jetzt schon Tage vergangen und ich sehe, dass die entsprechenden Daten die Speicherklasse "Deep Glacier" haben.

Irgendeine Idee, was schief läuft?

Dies ist ein Snapshot des entsprechenden Buckets. Wie man sehen kann, sind zwei Dateien immer noch als "Deep Glacier" markiert, obwohl ich die Wiederherstellungsaktion für sie mehrfach initiiert habe.Bildbeschreibung hier eingeben

Aktualisieren
Hierist eine verwandte Frage/Antwort auf Stackoverflow (was weniger esoterisch zu sein scheint als Serverfault …)

Update 2: Es scheint, dass es ein Problem gab, dass sich in Unterordnern viele weitere Dateien befanden, die ich übersehen hatte. Ich versuche derzeit, alles im Bucket rekursiv wiederherzustellen. Wird aktualisiert, wenn fertig.

Antwort1

Das Problem war also, dass sich in Unterordnern zahlreiche Dateien befanden, die ich übersehen hatte. Über die AWS-CLI konnte ich sie schließlich alle "init restore" (wiederherstellen). Anschließend funktionierte die Wiederherstellung von Synologys Hyper Backup normal. Hier die Befehle zum

Stellen Sie alle Dateien mithilfe der AWS-CLI von Glacier zurück zu S3 wieder her:

# create a text file with all glacier files:
aws s3api list-objects-v2 \
  --bucket my-bucket \
  --query "Contents[?StorageClass=='DEEP_ARCHIVE']" \
  --output text  | awk '{print substr($0, index($0, $2))}' | awk '{NF-=3};3' > filelist_of_glacier_files.txt

# init restore on all files in that filelist:
while read filename; do \
  aws s3api restore-object \
     --bucket my-bucket --key $filename \
     --restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}' ; 
done < filelist_of_glacier_files.txt

Anschließend funktioniert die „Wiederherstellung“ von Synology Hyper-Backup normal (nachdem Sie ca. 24 Stunden gewartet haben, bis die Glacier-Wiederherstellung abgeschlossen ist).

Antwort2

Das ist ein bisschen seltsam. Vielen Dank für die Problemumgehung.

Ich hatte zuvor auch einige Probleme beim Sichern auf Glacier. Das Backup schien nach einer Weile hängen zu bleiben, wenn die Größe des Backups (obwohl inkrementell) zu groß wurde.

Irgendwann habe ich einfach aufgehört, zum Gletscher zurückzukehren, es ergab einfach keinen Sinn.

verwandte Informationen