恢复使用 Synology Hyper Backup 创建的 AWS Glacier 数据

恢复使用 Synology Hyper Backup 创建的 AWS Glacier 数据

我正在使用 Synology Hyper backup 将我的 NAS 备份到 AWS S3。为了降低成本,我为 S3 存储桶添加了一个生命周期,几天后将数据移动到 AWS glacier。

现在我想恢复数据。因此我需要恢复该步骤并将所有数据恢复到 S3,以便 Synology 的超级备份可以检索它们。

我已经点击了相应的存储桶->启动恢复

它说恢复可能需要 12 - 24 小时,但现在已经过去好几天了,我看到相应的数据的存储类别为“深冰川”

知道出了什么问题吗?

这是相应存储桶的快照。可以看到,尽管我多次启动恢复操作,但两个文件仍然标记为“Deep Glacier”。在此处输入图片描述

更新
这里是 stackoverflow 上的一些相关问题/答案(似乎不如 serverfault 深奥......)

更新2 似乎存在一个问题,即我所监督的子文件夹中有更多文件。我目前正在尝试以递归方式恢复存储桶中的所有内容。完成后会更新。

答案1

所以问题在于子文件夹中有大量文件我忽略了。使用 AWS cli,我终于可以“初始化恢复”所有文件。之后 Synology 的 Hyper Backup 恢复工作正常。以下是命令

使用 aws cli 将 Glacier 中的所有文件恢复到 S3:

# 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

之后,Synology 的 Hyper-Backup“恢复”将正常工作(等待约 24 小时,直到冰川恢复完成)

答案2

这有点奇怪。感谢您提供解决方法。

我之前备份到 glacier 时也遇到过一些问题。备份似乎在一段时间后就卡住了,因为备份的大小(即使是增量备份)太大了。

最后我只是停止支持冰川,因为这根本没有意义。

相关内容