支持文件级别 dedup 的对象存储服务端?

2023 年 2 月 21 日
 sNullp

调研了一下 Minio 和 Seaweedfs ,感觉这些实现都支持 replication 和 erasure coding ,但是不支持 dedup 。那么有支持 dedup 的对象存储实现嘛?

如果没有是不是我可以跑一个服务端 over btrfs ,然后用 brtfs 的 file level dedup ?问题在于如果用 btrfs (或者 zfs )做底层,那 fs 层面的很多复杂功能都和软件层提供的功能重复了。

2647 次点击
所在节点    程序员
15 条回复
sNullp
2023 年 2 月 22 日
这……355 次点击怎么没人回复……
TtTtTtT
2023 年 2 月 22 日
dedup 指的啥?
Mithril
2023 年 2 月 22 日
@TtTtTtT 文件去重吧。
my3157
2023 年 2 月 22 日
理论上你可以使用 zfs/btrfs 作为 local fs 来实现,当时由于是单机文件系统,不过效果一般甚至可能负的,ceph 应该可以,商业存储大部分支持全局去重,大部分实现都是离线的,周期性后台任务
TtTtTtT
2023 年 2 月 22 日
总之,replication 和 EC 都是高可用的功能。
像 dedup 这种基于存储效率的功能,粗略的估计了一下,好像对于计算和元数据都有不小的要求,所以不做也正常。
至少,对于 MinIO 这种规模的小软件,可能太难了 hhh
starxin79
2023 年 2 月 22 日
windows server 自带的 压缩去重,在邮件服务器上用了一段时间,效果还是不错的。特别是大附件群发的场景,这个压缩比杠杠的~
azuginnen
2023 年 2 月 22 日
楼主的原始需求是啥?

我看很多备份软件都支持 dedup ,比如 duplicacy. 他是 dedup 之后再存入对象存储,不然你文件某个 chunk 变了咋办?
sNullp
2023 年 2 月 22 日
@azuginnen 对象是 immutable 的。
如果在对象存储之上做 dedup 当然可以,但是 io 不 efficient 。
sNullp
2023 年 2 月 22 日
@my3157 ceph 的文档至少提到了这个词。我去看一下。

我其实不太需要 distributed fs.. 但感觉做对象存储的都 distribited 。
my3157
2023 年 2 月 22 日
@sNullp #9 单机的话, zfs 配合大内存, io 很可观
sNullp
2023 年 2 月 22 日
@my3157 我本来也是打算不行就 zfs+minio 。但是 zfs 是 block based dedup 有点太占资源。
litguy
2023 年 2 月 22 日
我写过,支持 dedup 的 block + object 存储
公司坚持了 6 年,才迎来第一个 50W USD 的单子
老板直接 fire all 了
zfs + minio 不支持全局重删
我们是从头写的,global dedup
sNullp
2023 年 2 月 22 日
@litguy 为啥不支持全局 dedup ?是因为是分布式的吗?
sNullp
2023 年 2 月 22 日
@litguy 还支持 block 存储。好厉害。您听说过 pure storage 嘛?感觉是那方面的人才。
sNullp
2023 年 2 月 23 日
@my3157 Ceph 的 dedup 基本属于玩票性质。我有点想基于 seaweedfs 手撸一个了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/917789

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX