V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wendellup
V2EX  ›  服务器

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

  •  1
     
  •   wendellup · 2016-08-19 09:31:21 +08:00 · 3271 次点击
    这是一个创建于 3017 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司文件系统有做简单备份的需求(主文件服务器上有文件新增,需要动态同步到备份服务器)。

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

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

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

    不能走配置文件吗?
    julor
        4
    julor  
       2016-08-19 11:42:37 +08:00 via Android
    syncthing
    jyf007
        5
    jyf007  
       2016-08-19 11:56:28 +08:00 via Android
    我提一个, hadoop ,是这样不能同步吗?,那我没有办法了
    zado
        6
    zado  
       2016-08-19 20:49:50 +08:00
    看看能不能监听文件的产生者。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2659 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 15:02 · PVG 23:02 · LAX 07:02 · JFK 10:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.