restic version
0.8.3
添加支持新 Scaleway 对象存储的新后端
https://www.scaleway.com/docs/object-storage-feature/
我想使用 restic 在 Scaleway 上备份我的 VPS。
由于内部流量是免费的,我很乐意使用该对象存储。
雷斯蒂克太棒了!
@tapionx感谢您填写问题模板!
首先,请更新您的 restic 版本,最新版本是 0.9.2 并且自 0.8.3 以来有很多改进和修复。 如果你的包管理器没有更新,你可以去https://github.com/restic/restic/releases为你的操作系统获取二进制文件。
其次,Scaleway 在他们的网站上说对象存储是 S3 兼容的,所以你应该可以使用 S3 后端直接使用它。 他们确实说他们“目前支持 S3 操作的一个子集”,但是试一试看看它是如何工作的。 更多信息显然在https://www.scaleway.com/docs/s3-object-storage-api/ 。
我认为版本在这里不相关..
我真的会努力的! 您认为这只是将s3.amazonaws.com
替换
是的,版本说明只是一个友好的建议,考虑到您当前的版本很旧。 如果可以,我建议你更新。
是的,这是要做的第一件事; 尝试将其用作常规 S3(但显然具有有效的端点,如您所说)。 有关更详细的说明,请参阅https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html#amazon -s3 👍
我同意@rawtaz ,它应该与 s3 后端或 rclone 后端一起开箱即用,因为它适用于aws-cli
: https ://computingforgeeks.com/how-to-
我将暂时关闭此问题,请在尝试时随意添加更多评论。 谢谢!
如果您使用的是 V4 签名,则 Scaleway 对象存储似乎无法使用(适用于 V2,至少使用 https://s3browser.com/)
使用restic 0.9.2我得到:
Fatal: create repository at s3:s3.nl-ams.scw.cloud/restic-test failed: client.BucketExists: The request signature we calculated does not match the signature you provided. Check your key and signing method.
这与我在 s3browser 中使用 V4 签名时得到的结果一致:
嗯,据我所知,我们使用的 s3 库(minio-go)支持 v2 和 v4 签名。 你能不能说一下@harshavardhana?
您是否尝试过使用rclone
后端?
我们现在尽量不添加新的后端,这样做会产生大量的维护和测试工作......
这与我在 s3browser 中使用 V4 签名时得到的结果一致:
这看起来像是 Scaleway @juzam @fd0 中的一个错误——我们可以得到。 TraceOn()
查看请求标头并查看 Scaleway 的内容。
但是由于两个restic,s3browser 都看到相同的错误,因此很可能是服务器问题。
您是否尝试过使用
rclone
后端?
@fd0还没有,我会试着回报
我们现在尽量不添加新的后端,这样做会产生大量的维护和测试工作......
确认。 如果我们可以管理现有后端,则无需添加新后端。
@harshavardhana从我有限的测试来看,Scaleway 似乎只支持 v2 签名,但它应该仍然可以与 minio-go 一起使用,不是吗? 也许我遗漏了一些明显的东西,抱歉。
@harshavardhana从我有限的测试来看,Scaleway 似乎只支持 v2 签名,但它应该仍然可以与 minio-go 一起使用,不是吗? 也许我遗漏了一些明显的东西,抱歉。
是的,在这种情况下,您需要使用 minio.NewV2() - 我认为 restic 不支持@fd0吗?
tl; dr:它通过带有 v2 签名的 rclone 工作
@fd0很高兴地报告,如果通过带有预先存在的存储桶的 rclone 后端配置,则可以使用 Scaleway S3。
这是相关的 rclone v1.43.1
远程配置:
[scaleway]
type = s3
provider = Other
env_auth = false
access_key_id = xxxxxx
secret_access_key = yyyy
endpoint = s3.nl-ams.scw.cloud
acl = private
region = other-v2-signature
起初,我在 rclone 远程配置中使用选项1
没有指定任何区域:
Choose a number from below, or type in your own value
1 / Use this if unsure. Will use v4 signatures and an empty region.
\ ""
2 / Use this only if v4 signatures don't work, eg pre Jewel/v10 CEPH.
\ "other-v2-signature"
但它没有用,只是另一个信息证实了 v4 签名不是 Scaleway 上的东西的理论。
编辑:存储桶必须已经存在,如果没有,rclone 无法使用上述配置创建它,并给出以下错误:
Post request put error: InvalidLocationConstraint: The specified location constraint is not valid.
非常感谢您留下反馈! :)
实际上,我使用这个命令restic --repo rclone:scaleway:my-bucket init
# ~/.config/rclone/rclone.conf
[scaleway]
type = s3
provider = Other
env_auth = false
access_key_id = MY_ACCESS_KEY
secret_access_key = MY_SECRET_KEY
endpoint = s3.nl-ams.scw.cloud
acl = private
region = other-v2-signature
谢谢@juzam
只是对希望使用 Scaleway 服务的任何人的快速更新。 我最近在将备份保存到nl-ams
区域时遇到了麻烦,支持人员建议将区域参数更改为region = nl-ams
,问题得到解决。 我没有在现在可用的fr-par
区域中尝试任何存储桶。
仅供参考,这适用于nl-ams
或fr-par
区域(没有~/.aws/*
):
ip route add blackhole 169.254.169.254/32
mc config host add s3 https://s3.fr-par.scw.cloud:443 ACCESS SECRET
sed -i 's/S3v4/s3v2/g' ~/.mc/config.json
./restic_0.9.5_linux_amd64 -r s3:https://s3.fr-par.scw.cloud/BUCKETNAME init
我们确实支持 SigV4,但我们没有“通用”端点,而且 Minio 不会切换区域 ( The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'fr-par'
)
干杯
Restic 应该更新到最新的 minio-go 我们已经做了一些更改以适当地处理区域要求。
Restic 应该更新到最新的 minio-go 我们已经做了一些更改以适当地处理区域要求。
@fd0这很难实现吗? 即使它通过 rclone 工作,直接使用 s3 后端也更简单(如果你问我的话,也很干净)。 感谢您的时间 :)
由于错误,我最近更改了我的 rclone.conf :
# ~/.config/rclone/rclone.conf
[scaleway]
type = s3
provider = Scaleway
env_auth = false
access_key_id = MY_ACCESS_KEY
secret_access_key = MY_ACCESS_KEY
region = fr-par
endpoint = s3.fr-par.scw.cloud
我遇到了同样的问题,并为 minio-go 添加了对 Scaleway 的支持。 然后使用更新版本重建restic(和mc)并且两者都可以正常工作,不需要进一步的更改,只需使用s3后端。
我的更改会根据端点 URL 自动设置正确的区域。
我向 minio-go (https://github.com/minio/minio-go/pull/1188) 提交了 PR,让我们看看它们是否合并。
似乎由 restic 开发人员来添加区域支持。 这个问题应该重新打开吗?
@Kaan88 https://github.com/restic/restic/pull/2484是否解决了您刚刚询问的问题(区域支持)?
@rawtaz确实如此。 我不需要设置环境变量。
惊人的!
最有用的评论
仅供参考,这适用于
nl-ams
或fr-par
区域(没有~/.aws/*
):我们确实支持 SigV4,但我们没有“通用”端点,而且 Minio 不会切换区域 (
The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'fr-par'
)干杯