四台 debian 服务器下如何优雅地保持某个超大文件夹下的文件同步?

2023-08-01 03:40:04 +08:00
 spediacn

有四台 debian11 服务器,在其上保持四台服务器都能读写某一个文件夹并在其他服务器上实时同步,看看各位有什么脑洞?

注意:

  1. 这个文件夹下文件和子文件夹数量很庞大,可以达到百万;
  2. 可以用共享文件夹协议,也可以用文件同步协议,也可以用各种高速缓存组件,不考虑磁盘占用的空间浪费,可以冗余最高 4 份;服务器配置相同,内存均为 512G ,硬盘数量相同,CPU 也相同;写入频次和增量大约每秒 100 个文件或每秒 100M 数据量,读的频次很高,大约每秒读 500 个文件或者 300M 数据量
  3. 只有一个目的:该文件夹的读写是四台服务器高速共用的,网卡都是多个万兆口,不论同步预读还是共享,希望实际环境中不要长时间把带宽拉满哦。
3941 次点击
所在节点    Linux
45 条回复
serafin
2023-08-01 04:35:47 +08:00
好像这 4 台服务器没有主从关系。试试 类似 Resilio Sync 这类 P2P 同步。
sNullp
2023-08-01 04:37:04 +08:00
ceph
dcsuibian
2023-08-01 04:38:56 +08:00
做成 NAS 呢,只存在一份就不用同步了
serafin
2023-08-01 04:54:32 +08:00
万兆口应该用基于 iSCSI 的 SAN 而不是 NAS
liangkang1436
2023-08-01 06:38:01 +08:00
试试 nfs
neroxps
2023-08-01 06:54:26 +08:00
ceph
Jirajine
2023-08-01 06:54:50 +08:00
只能用共享存储协议,任何同步方式都无法保证足够的实时性和一致性。
hawhaw
2023-08-01 07:00:32 +08:00
syncthing 了解一下
PerFectTime
2023-08-01 07:59:38 +08:00
Resilio Sync 在本地会有一个超大的索引 db 文件,百万级文件应该会超大吧。之前同步 200g 文件,索引 db 有 10g
liuguangxuan
2023-08-01 08:12:48 +08:00
rsync
lerry
2023-08-01 08:16:14 +08:00
minio
mokiki
2023-08-01 08:20:35 +08:00
关键是四台机器怎么写的。会同时写一个文件吗?还是服务器之间有锁机制?
这个不讲清楚,贸然行动,会导致文件混乱。
ice2016
2023-08-01 08:25:33 +08:00
fastdfs 也可以实现
everyx
2023-08-01 08:27:27 +08:00
在用 juicefs ,你可以试试
litguy
2023-08-01 08:30:02 +08:00
glusterfs 试试呢,感觉和你场景是匹配的
litguy
2023-08-01 08:30:35 +08:00
@ice2016 fastdfs 不是 posix 兼容的,他需要 fastdfs 的儿子: fastcfs
fiht
2023-08-01 08:51:55 +08:00
nfs 应该是正解,参见现在云厂商的方案。

楼主应该是想要一个 https://cloud.tencent.com/product/cfs 的方案。
dusu
2023-08-01 08:58:42 +08:00
看什么数据了 除开日志之类的普通文件
先存 s3
从四台机器上做反代访问 s3 数据 同时缓存热数据
既能低成本 还能提高可靠性
啥? s3 怕单点问题 就异步存多个 s3
ice2016
2023-08-01 09:06:37 +08:00
@litguy 第一次听说 FastCFS ,看着很强大的样子
hefish
2023-08-01 09:31:25 +08:00
oracle 的 ocfs2 好像也行的。

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

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

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

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

© 2021 V2EX