文件系统(百万文件)同步策略
- 0次
- 2021-05-17 11:10:56
- idczone
公司文件系统有做简单备份的需求(主文件服务器上有文件新增,需要动态同步到备份服务器)。
之前采用的是自己写 java 程序扫库,将新增的文件 copy 到备份服务器,但有的文件在库里面是没有对应记录的,每增加一种该类型就需要修改程序国外服务器,比较麻烦。
领导想采用现有的开源项目来实现文件的备份,于是乎研究了几款网上比较火的同步软件,基本都是监听+copy 两个操作。
inotify + rsync
sersync(基于 inotify+rsync)
lsyncd(lua 实现 inotify 监听的功能,再通过 cp 或 rsync 进行同步)
发现这些工具在需要监听的文件夹比较小,文件不多的时候可以正常运行。但部署到线上监听文件系统文件夹(12T 大小的文件,接近 200W 文件),有文件新增后,这些工具不能正常监听到,也就无法实现文件同步。
请教各位前辈,你们公司有采用过百万数量级的文件同步么,求指教。
我用 python 调度 rsync 同步,实现了数十万个文件,上 T 大小,上百个节点之间的非实时数据同步。
你这个文件级别,要做实时同步,做起来有点费脑。
不知道你业务场景,一个可能对你有用的方案就是把 12T 数据分散到不同机器上分别监控同步。
不需要实时同步的
“之前采用的是自己写 java 程序扫库,将新增的文件 copy 到备份服务器,但有的文件在库里面是没有对应记录的,每增加一种该类型就需要修改程序,比较麻烦。 ”
不能走配置文件吗?
syncthing
我提一个, hadoop ,是这样不能同步吗?,那我没有办法了
看看能不能监听文件的产生者。