Восстановление данных AWS Glacier, созданных с помощью Synology Hyper Backup

Восстановление данных AWS Glacier, созданных с помощью Synology Hyper Backup

Я использую Synology Hyper Backup для резервного копирования моего NAS в AWS S3. Чтобы сократить расходы, я добавил жизненный цикл в контейнер S3, который перемещает данные в AWS Glacier через пару дней.

Теперь я хочу восстановить данные. Поэтому мне нужно вернуться к предыдущему шагу и вернуть все данные в S3, чтобы Hyperbackup Synology мог их восстановить.

Я уже нажал на соответствующий контейнер -> инициировать восстановление

Там сказано, что восстановление может занять от 12 до 24 часов, однако прошло уже несколько дней, и я вижу, что соответствующие данные имеют класс хранения «Глубокий ледник».

Есть идеи, что не так?

Это снимок соответствующего бакета. Как можно увидеть, два файла все еще отмечены как "Deep Glacier", хотя я инициировал для них действие восстановления несколько раз.введите описание изображения здесь

Обновлять
Здесьесть какой-то связанный вопрос/ответ на stackoverflow (который кажется менее эзотерическим, чем serverfault...)

Обновление2 Кажется, возникла проблема, что в подпапках, которые я просматривал, было гораздо больше файлов. Сейчас я пытаюсь рекурсивно восстановить все в корзине. Обновлю, когда закончу.

решение1

Итак, проблема была в том, что в подпапках было много файлов, которые я пропустил. Используя AWS cli, я наконец смог "init restore" все из них. После этого восстановление Synology Hyper Backup работало нормально. Вот команды для

восстановите все файлы из Glacier обратно в S3 с помощью aws cli:

# 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

После этого восстановление Hyper-Backup от Synology будет работать в обычном режиме (после ожидания около 24 часов, пока не завершится восстановление Glacier).

решение2

Это немного странно. Спасибо за решение.

У меня также были некоторые проблемы с резервным копированием в Glacier. Резервное копирование, похоже, зависало через некоторое время, когда размер резервной копии (даже инкрементной) становился слишком большим.

В конце концов я просто перестал сдавать назад к леднику, это просто не имело смысла.

Связанный контент