谁有好的解决办法?

24 条回复
220 次浏览

朋友公司在全国有 200 多个分支机构
平均每个分支每周要给公司传递超过 3000 个文件,一般都是 1MB 以内的文件
公司用网盘软件、在自己的服务器上搭建了一个网盘给分支机构
硬件用 7200 转的企业硬盘,16TB 的也很快就满了,统计了一下、有将近 1300 万个文件

现在的问题是:由于都是 1MB 以内大小的文件,造成硬盘读写非常缓慢,为了防止数据丢失,做了数据备份,结果每次备份就要 5~6 天才能完成。

我想到的办法是:把文件按分支机构压缩成 RAR,然后再备份。但压缩的过程也非常缓慢。

不知道各位兄弟有没有什么好的解决办法?

种子用户

问 AI 给的方案是自建 minio 或者买 S3 之类的对象存储,原理是对象存储不是传统文件系统,没有 inode 瓶颈,专门为海量对象设计

每个机构每周一传,机构自己的 3000 个 1mb 文件本地压缩好在发给总部。
如果结构相似,那么 3000 个 1mb 文件压缩后可能还没有 1G 大。

马上来
OP

文件不是一次性产生的,产生了就要传递,所以没法让机构自己压缩了再传递

走个面

如果不是长期大量写入,搞一个写缓存的固态呢?是不是会好很多?

马上来
OP

我建议他将服务器内存扩展到 128G,然后用 PrimoCache 来加速。但这些对持续的读写其实没太大作用。

走个面

如果只是备份的话,rsync 实时备份呢?这样只要写入能来得及,备份应该就能来得及。

展开 1 条评论
种子用户

你想问的好的解决办法,是压缩备份还是传递分发?

马上来
OP

主要是备份,压缩备份是我提的一个办法,但并不好。

种子用户

16T 是机械硬盘? 能塞满 16T 的 1M 小文件就是机械硬盘的灾难。
上 juicefs 、minio 这种对象存储管理吧,推荐 juicefs ,效果立竿见影

展开 2 条评论
大平衡者

有点好奇什么类型的业务,

另外备份是一周一次备份?
每个机构每天 400 个左右文件, 每个文件传到总部的时候直接备份呢?(我瞎说的)

对象存储就搞定了

这个文件量也不是很大,你们搞复杂了

文件现在一块固态上缓存,每超过 100G 自动集合成压缩文件(不要使用任何压缩算法,纯粹合并成一个文件)然后放到机械硬盘上。

混沌

压缩的时候可以调压缩等级,调到仅存储的话就非常快了,基本上可以接近硬盘读写速度

发表一个评论

R保持