我正在使用 Synology Hyper backup 將我的 NAS 備份到 AWS S3。為了降低成本,我為 S3 儲存桶添加了生命週期,幾天後將資料移至 AWS Glacier。
現在我想恢復資料。因此,我需要恢復該步驟並將所有資料帶回 S3,以便 Synology 的 hyperbackup 可以檢索它們。
我已經單擊了相應的存儲桶 -> 啟動恢復
它說恢復可能需要 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 時也遇到過一些問題。當備份的大小(即使是增量的)變得太大時,備份似乎在一段時間後陷入困境。
最終我不再返回冰川,這毫無意義。