V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sNullp
V2EX  ›  程序员

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

  •  
  •   sNullp ·
    sNullp · 2023-02-21 06:25:38 +08:00 · 1713 次点击
    这是一个创建于 670 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    15 条回复    2023-02-23 14:45:31 +08:00
    sNullp
        1
    sNullp  
    OP
       2023-02-22 09:43:13 +08:00
    这……355 次点击怎么没人回复……
    TtTtTtT
        2
    TtTtTtT  
       2023-02-22 09:55:01 +08:00
    dedup 指的啥?
    Mithril
        3
    Mithril  
       2023-02-22 09:56:18 +08:00
    @TtTtTtT 文件去重吧。
    my3157
        4
    my3157  
       2023-02-22 10:01:11 +08:00 via Android   ❤️ 1
    理论上你可以使用 zfs/btrfs 作为 local fs 来实现,当时由于是单机文件系统,不过效果一般甚至可能负的,ceph 应该可以,商业存储大部分支持全局去重,大部分实现都是离线的,周期性后台任务
    TtTtTtT
        5
    TtTtTtT  
       2023-02-22 10:05:48 +08:00
    总之,replication 和 EC 都是高可用的功能。
    像 dedup 这种基于存储效率的功能,粗略的估计了一下,好像对于计算和元数据都有不小的要求,所以不做也正常。
    至少,对于 MinIO 这种规模的小软件,可能太难了 hhh
    starxin79
        6
    starxin79  
       2023-02-22 10:22:36 +08:00
    windows server 自带的 压缩去重,在邮件服务器上用了一段时间,效果还是不错的。特别是大附件群发的场景,这个压缩比杠杠的~
    azuginnen
        7
    azuginnen  
       2023-02-22 10:29:06 +08:00
    楼主的原始需求是啥?

    我看很多备份软件都支持 dedup ,比如 duplicacy. 他是 dedup 之后再存入对象存储,不然你文件某个 chunk 变了咋办?
    sNullp
        8
    sNullp  
    OP
       2023-02-22 11:29:28 +08:00 via iPhone
    @azuginnen 对象是 immutable 的。
    如果在对象存储之上做 dedup 当然可以,但是 io 不 efficient 。
    sNullp
        9
    sNullp  
    OP
       2023-02-22 11:34:10 +08:00 via iPhone
    @my3157 ceph 的文档至少提到了这个词。我去看一下。

    我其实不太需要 distributed fs.. 但感觉做对象存储的都 distribited 。
    my3157
        10
    my3157  
       2023-02-22 11:38:18 +08:00
    @sNullp #9 单机的话, zfs 配合大内存, io 很可观
    sNullp
        11
    sNullp  
    OP
       2023-02-22 12:33:00 +08:00 via iPhone
    @my3157 我本来也是打算不行就 zfs+minio 。但是 zfs 是 block based dedup 有点太占资源。
    litguy
        12
    litguy  
       2023-02-22 12:40:59 +08:00
    我写过,支持 dedup 的 block + object 存储
    公司坚持了 6 年,才迎来第一个 50W USD 的单子
    老板直接 fire all 了
    zfs + minio 不支持全局重删
    我们是从头写的,global dedup
    sNullp
        13
    sNullp  
    OP
       2023-02-22 12:48:24 +08:00 via iPhone
    @litguy 为啥不支持全局 dedup ?是因为是分布式的吗?
    sNullp
        14
    sNullp  
    OP
       2023-02-22 12:49:35 +08:00 via iPhone
    @litguy 还支持 block 存储。好厉害。您听说过 pure storage 嘛?感觉是那方面的人才。
    sNullp
        15
    sNullp  
    OP
       2023-02-23 14:45:31 +08:00
    @my3157 Ceph 的 dedup 基本属于玩票性质。我有点想基于 seaweedfs 手撸一个了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2921 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:04 · PVG 22:04 · LAX 06:04 · JFK 09:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.