我正在使用 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 时也遇到过一些问题。备份似乎在一段时间后就卡住了,因为备份的大小(即使是增量备份)太大了。
最后我只是停止支持冰川,因为这根本没有意义。