云存储配置
Restr 支持将数据库备份自动上传至任何兼容 S3 协议的对象存储服务。这对于实现异地灾备至关重要。
支持的提供商
系统目前已针对以下服务商进行了适配和测试:
- AWS S3 (Amazon Simple Storage Service)
- Aliyun OSS (阿里云对象存储)
- Tencent COS (腾讯云对象存储)
- Cloudflare R2 (高性价比,无出口流量费)
- MinIO (自建私有云存储)
添加配置
进入 系统设置 -> 云存储配置,点击 "添加配置"。
字段说明
| 字段 | 说明 | 示例 / 备注 |
|---|---|---|
| 配置别名 | 用于在选择时区分不同存储 | 公司主备-阿里云 |
| 提供商 | 选择对应的云厂商 | aliyun, r2, aws 等 |
| Endpoint | S3 API 的访问域名 | AWS 可留空 阿里云: oss-cn-hangzhou.aliyuncs.comMinIO: http://192.168.1.100:9000 |
| Region | 存储桶所在的区域代码 | 阿里云: cn-hangzhouCloudflare R2: 必须填 auto |
| Bucket | 存储桶名称 | restr-backup-2024 |
| Access Key | 访问密钥 ID (AK) | 也就是 AccessKeyId |
| Secret Key | 访问密钥 Secret (SK) | 注意: 系统会对 SK 进行加密存储,编辑时不会明文显示 |
| 路径前缀 | (可选) 备份文件在桶内的目录 | prod/db-backups/ |
Cloudflare R2 配置特例
对于 Cloudflare R2,Endpoint 格式通常为: https://<ACCOUNT_ID>.r2.cloudflarestorage.com 且 Region 必须填写为 auto。
绑定备份策略
添加云存储配置后,它不会自动生效。您需要将其绑定到具体的数据库连接上:
- 进入 数据库连接管理 页面。
- 编辑一个现有的连接(或新建)。
- 在 "云端备份目标" (Cloud Targets) 选项中,勾选您刚才添加的云存储配置。
- 保存连接。
下次触发备份任务(无论是手动还是定时)时,系统在生成本地文件后,会自动尝试上传到所有勾选的云存储目标。
故障排查
如果上传失败,请检查以下几点:
- 网络连通性: 确保 Restr 容器可以访问外网(特别是云存储的 Endpoint)。
- 时钟同步: S3 协议对时间非常敏感,确保服务器时间与标准时间误差在几分钟内。
- 权限: 确保提供的 AK/SK 拥有对目标 Bucket 的
PutObject权限。