为何上传至Google Cloud存储桶的对象存储类别与默认归档类不符?
Synology Hyper Backup 上传GCS存储类异常问题排查与解决
问题原因
Hyper Backup的S3兼容上传逻辑限制
Synology Hyper Backup在对接S3兼容存储时,为保证兼容性(部分S3存储的归档类不支持直接写入),默认会显式指定存储类为Standard,直接忽略存储桶的默认存储类设置。Google Cloud Storage Archive类的写入限制
GCS的Archive存储类不支持直接上传对象,即使存储桶默认存储类设为Archive,直接上传的对象也会被自动降级为Standard存储类——因为Archive类仅支持从其他存储类(Standard/Nearline/Coldline)转换而来,不支持直接写入操作。
解决方案
一、处理已上传的Standard类对象
方法1:通过GCS生命周期规则自动转换
在GCS存储桶的生命周期管理中添加规则,自动将对象转换为Archive类:
- 登录GCS控制台,进入目标存储桶的「生命周期」标签页
- 创建新规则:
- 规则范围:选择「适用所有对象」或指定Hyper Backup备份文件的前缀(如
hyperbackup/) - 触发条件:设置「对象创建后1天」(可根据需求调整,尽量缩短Standard存储时长)
- 操作:选择「更改存储类为Archive」
- 规则范围:选择「适用所有对象」或指定Hyper Backup备份文件的前缀(如
- 保存规则后,GCS会自动对符合条件的对象执行转换,已上传的Standard对象会在规则生效后逐步完成转换。
方法2:手动批量转换(适用于需立即转换的场景)
使用Google Cloud CLI执行批量修改命令:
gcloud storage objects update gs://your-bucket-name/** --storage-class ARCHIVE
替换your-bucket-name为你的存储桶名称,该命令会批量修改桶内所有对象的存储类为Archive。
二、配置后续备份自动流转至Archive类
由于Hyper Backup无法直接上传至GCS Archive类,需通过「先传Standard+生命周期自动转换」的方式实现:
- 保持GCS存储桶的默认存储类为Standard(或其他支持直接上传的类,如Nearline)
- 按照上述步骤配置生命周期规则,确保新上传的备份对象在指定时间后自动转为Archive类
- (可选)检查Hyper Backup的S3配置:部分新版本Hyper Backup的「高级设置」中可能提供存储类选择项,若存在可尝试选择Archive,但需注意GCS不支持直接写入,该选项可能无效,此时生命周期规则仍是可靠方案。
注意事项
- GCS Archive类对象的恢复需要数小时时间,且恢复过程会产生额外费用,需评估备份数据的恢复需求
- Hyper Backup的增量备份会持续产生新对象,生命周期规则会自动处理所有新增的备份文件,无需重复配置
内容的提问来源于stack exchange,提问作者pecanp1e
相关产品推荐
相关产品推荐

