文件系统(百万文件)同步策略

2016-08-19 09:31:21 +08:00
 wendellup
公司文件系统有做简单备份的需求(主文件服务器上有文件新增,需要动态同步到备份服务器)。

之前采用的是自己写 java 程序扫库,将新增的文件 copy 到备份服务器,但有的文件在库里面是没有对应记录的,每增加一种该类型就需要修改程序,比较麻烦。

领导想采用现有的开源项目来实现文件的备份,于是乎研究了几款网上比较火的同步软件,基本都是监听+copy 两个操作。
inotify + rsync
sersync(基于 inotify+rsync)
lsyncd(lua 实现 inotify 监听的功能,再通过 cp 或 rsync 进行同步)
发现这些工具在需要监听的文件夹比较小,文件不多的时候可以正常运行。但部署到线上监听文件系统文件夹(12T 大小的文件,接近 200W 文件),有文件新增后,这些工具不能正常监听到,也就无法实现文件同步。

请教各位前辈,你们公司有采用过百万数量级的文件同步么,求指教。
3270 次点击
所在节点    服务器
6 条回复
Aliencn
2016-08-19 10:37:45 +08:00
我用 python 调度 rsync 同步,实现了数十万个文件,上 T 大小,上百个节点之间的非实时数据同步。
你这个文件级别,要做实时同步,做起来有点费脑。
不知道你业务场景,一个可能对你有用的方案就是把 12T 数据分散到不同机器上分别监控同步。
wendellup
2016-08-19 10:44:29 +08:00
@Aliencn 不需要实时同步的
just4test
2016-08-19 11:25:41 +08:00
“之前采用的是自己写 java 程序扫库,将新增的文件 copy 到备份服务器,但有的文件在库里面是没有对应记录的,每增加一种该类型就需要修改程序,比较麻烦。 ”

不能走配置文件吗?
julor
2016-08-19 11:42:37 +08:00
syncthing
jyf007
2016-08-19 11:56:28 +08:00
我提一个, hadoop ,是这样不能同步吗?,那我没有办法了
zado
2016-08-19 20:49:50 +08:00
看看能不能监听文件的产生者。

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

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

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

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

© 2021 V2EX