其他 S3 兼容存储

你可以使用自己运行的 S3 服务器,比如 Ceph 或 SeaweedFS,或者任何其他支持 S3 协议、但在设置程序中没有预设的服务。它必须支持条件写入,设置程序会测试这一点。参见选择存储。

如果你想备份到自己的机器上,又不想维护 S3 服务器,自托管更简单,它只需要 SSH。

#在设置程序中

运行 frost init,选择 S3-compatible,再选择 Other S3-compatible。

设置程序的问题 回答
What is the S3 endpoint? 服务器或服务商文档中给出的主机名。只写主机名而不带 https:// 时,按 HTTPS 连接
Which region? 只有服务器或服务商要求时才填写,否则留空
What is the bucket name? 存储桶的名称,与创建时完全一致。存储桶必须已经存在
Paste the Access Key ID. 来自服务器或服务商的控制台
Paste the Secret Access Key. 来自服务器或服务商的控制台

Frost 会把备份放在存储桶中的 frost 文件夹里。

#你自己运行的服务器

服务器 需要了解
Ceph 它的 RADOS Gateway 支持条件写入。把网关的地址和端口告诉设置程序
SeaweedFS 它的 S3 网关文档说明了条件写入。把它的地址告诉设置程序,比如 http://<server>:8333
MinIO 支持条件写入,但已不再维护,所以不会再有修复。现有服务器只要通过设置程序的检查,就仍然可以使用。把它的地址告诉设置程序,比如 https://<server>:9000
Garage 不支持条件写入,所以 Frost 无法使用它

请先用服务器自带的工具创建存储桶和访问密钥。

#不使用 TLS 的服务器

对于运行在你自己电脑或网络中的服务器,可以用 http:// 开头的端点,比如 http://localhost:9000。这会让所有请求都不使用 TLS,所以只在你信任的网络中这样做。把 storage.s3.insecure 设为 true 会让未指定协议的端点使用 HTTP。明确指定的 https:// 或 http:// 优先于这项设置。

#存储桶中的文件夹

Frost 把所有内容放在存储桶中的一个文件夹里,默认是 frost。全屏设置界面不会询问这一项。

完成设置后,如果想在第一次备份之前改用另一个文件夹,或者使用存储桶的顶层:

  1. 运行 frost config edit,修改 [storage.s3] 下的 prefix。留空表示使用存储桶的顶层。Frost 会提醒你那里还没有备份。输入 yes 仍然保存。
  2. 再运行一次 frost init。确认界面会提醒你这将开始一组新的独立备份。按 [s] 继续。

如果你已经有备份,请改为迁移它们,方法见迁移备份。