网盘的文件唯一 是如何实现的,有家用方案么. - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
21 条回复    2023-11-16 04:38:01 +08:00
dreamkuo
    1
dreamkuo  
OP
   2023 年 11 月 15 日
我的想法是建立一个支持去重的硬盘系统, 把包含大量重复的, 例如软件备份.照片备份,系统镜像等丢进去. 这个硬盘系统就当做最终备份系统. 安全性要求并不是很高.(有了去重功能,最终备份的体积也会小很多,就算不重要也可以做双备份)

然后重要资料,例如照片等,再单独手工整理之后拷贝出来.

这样以后重要性不确定的东西可以先丢进去.然后隔一段时间挑重要的拷贝出来.采用硬盘备份.网络备份等方式处理.
dreamkuo
    2
dreamkuo  
OP
   2023 年 11 月 15 日
有什么经济可靠的方案. 给推荐一下,
听说群辉可能支持,但是一来不知道是否稳定, 二来我并不需要群辉的其他配套功能. 对我来说经济浪费.能够支持 10t 的群辉价格昂贵.
而且我已经有两个硬盘柜了.
dreamkuo
    3
dreamkuo  
OP
   2023 年 11 月 15 日
技术关键词叫 copy-on-write (COW)的文件系统
Dragonish3600
    4
Dragonish3600  
   2023 年 11 月 15 日 via iPhone
zfs 轻松搞定
dreamkuo
    5
dreamkuo  
OP
   2023 年 11 月 15 日
@ladypxy 用什么方案呢, 自建 nas?
dreamkuo
    6
dreamkuo  
OP
   2023 年 11 月 15 日
如果自建一个 nas 系统, 在有硬盘柜的情况下,用什么方案比较好呢, ? 软路由主机+硬盘柜?
KimiArthur
    7
KimiArthur  
   2023 年 11 月 15 日 via Android
copy on write 只能解决复制文件不增加空间的问题,不同来源的相同文件是解决不了的。你要的是基于一个或几个 hash 判重的系统,比如百度是依靠开头 256kb 和全文件 md5,crc32,外加文件大小来判重的。自己做的话可能一个 sha256 也够了,不过现成解决方案倒是不了解
missuo
    8
missuo  
   2023 年 11 月 15 日 via iPhone
@dreamkuo 我目前家里的服务器 Debian ,用的 ZFS
cjpjxjx
    9
cjpjxjx  
   2023 年 11 月 15 日 via iPhone
你要找的是不是 TrueNAS
cmdOptionKana
    10
cmdOptionKana  
   2023 年 11 月 15 日
可以用 Python 或 Go 之类写个快速去重的小工具,截取每个文件开头的一部分,保存 md5 到 sqlite ,这样跑一遍很快的,可以筛选出大概率重复的文件,这些文件数量不会很多,对这些可疑文件再跑一次完整的查重就行了。
totoro625
    11
totoro625  
   2023 年 11 月 15 日
自建网盘推荐:Seafile
自带文件去重,占用资源不高,国内开发,开源版不限用户,专业版限制 3 用户
缺点是直接用资源管理器无法直接访问文件

备份推荐:restic
自带文件去重,增量备份,版本控制,非常好用

个人用户不推荐 Ceph ,自建服务器内存不充裕不推荐 ZFS
flyqie
    12
flyqie  
   2023 年 11 月 15 日 via Android
你可以看下 fastdfs

去重在不同层有不同做法。
PbCopy111
    13
PbCopy111  
   2023 年 11 月 15 日
你这种情况,都删了就成了,反正也不看。
要么没事自己翻翻照片,每天收拾一点,重温记忆。你拍照的时候,不就是为了重温么。。
我以前也有这个顾虑,现在完全没有了,4T 的硬盘存视频和照片,还是能富裕,用了 10 年了。
Byzliu
    14
Byzliu  
   2023 年 11 月 15 日 via Android
抽空整理一下吧
fuis
    15
fuis  
   2023 年 11 月 15 日
块级别去重
ZFS dedup: https://www.truenas.com/docs/references/zfsdeduplication/
或者 btrfs + bees https://github.com/Zygo/bees

文件级别去重
https://github.com/markfasheh/duperemove

对于备份场景,我现在用的是 kopia 进行备份,他是基于 CDS 做的 https://kopia.io/docs/features/#backup-files-and-directories-using-snapshots

网盘的文件唯一是另一个原理,那个是基于 OSS 的校验和做的。但是一般的 OSS 比如 minio 本身不支持去重。
someday3
    16
someday3  
   2023 年 11 月 15 日
写个代码,循环处理,计算哈希,哈希重复的标记删除,或者是挪到同一个的某个路径,人工审核一遍,再删除。

需求不大,不会到一百行代码的。
NoOneNoBody
    17
NoOneNoBody  
   2023 年 11 月 15 日
文件去重和内容去重是两码事
前者很简单,递归一遍检查 bytes(size)/hash 就够了,因为检查是只读性质,多进程跑加速,并且把 path:hash 保存起来,以后检查无需再次 hash
如果文件不是你产生创建的,例如下载,多数需要后者,这就难办了,需要一套专门的相似匹配系统
irrigate2554
    18
irrigate2554  
   2023 年 11 月 15 日
如果特别多重复的上 zfs 的块级去重,就是内存占用大一些
ruanimal
    19
ruanimal  
   2023 年 11 月 15 日
简单方法,再加个硬盘
dreamkuo
    20
dreamkuo  
OP
   2023 年 11 月 16 日
@ruanimal 老铁 6666
dreamkuo
    21
dreamkuo  
OP
   2023 年 11 月 16 日
@fuis 感谢 我研究研究
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2171 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 13:17 PVG 21:17 LAX 05:17 JFK 08:17
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86