V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
playnoa
V2EX  ›  程序员

批量迁移实现方案求助

  •  
  •   playnoa · 2019-08-04 21:02:52 +08:00 · 2558 次点击
    这是一个创建于 1937 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    现在有很多服务器需要迁移上云,之前需要数据同步到云上的新机器非集中式,需要 A->A,B->B 的对应方式,我已经用脚本加上 expect 实现了首次自动化处理,但是在同步方式上没有找到合适的软件或工具来做实时同步;

    要求

    尽量不动生产服务器(原服务器)(每台大约 100G 以内的数据)

    过程

    1. rsync + inotify
    2. lsyncd + ssh

    方式 1 得安装配置 client,而且网上对于这种同步方式在大量数据的情况下,目录对比和灵敏性方面很不如意;它不知道哪个文件修改了,而是用全部目录对比的方式进行同步,这也太傻了,还有就是它的是从 原到新的同步方式,有点像备份,就是用“推”的方式,我更希望是从 新到原 的方式,就新机器从原机器“拉”数据

    方式 2 lsyncd 封装了 rsync+inotify,但是工作方式也是推数据的方式

    Google 都搜烂了,也没找到方法,是我的思路不对?

    17 条回复    2019-08-05 21:40:19 +08:00
    billlee
        1
    billlee  
       2019-08-04 23:35:18 +08:00
    没看明白,为什么需要 inotify, 直接 rsync 不行吗?
    oott123
        2
    oott123  
       2019-08-04 23:51:28 +08:00 via Android
    你要实时同步,就要推,这是个逻辑问题
    playnoa
        3
    playnoa  
    OP
       2019-08-05 00:39:35 +08:00 via Android
    @billlee 直接不行,首次同步完成后,就是实时增量了,只同步修改的,所以需要 inotify 来知道哪个文件的变动
    playnoa
        4
    playnoa  
    OP
       2019-08-05 00:43:25 +08:00 via Android
    @oott123 你的意思是只能主从逻辑?生产环境批量修改难度很大,不能有一点失误;要是有一种能够跟随监测同步就好了
    openwrt
        5
    openwrt  
       2019-08-05 01:14:40 +08:00
    其实 rsync 没什么不好,全目录对比花不了多少时间。推和拉实际上并没有本质区别,如果你想用拉的方式,完全可以在新机器上运行 rsync 命令去旧服务器上拉。
    msg7086
        6
    msg7086  
       2019-08-05 05:08:10 +08:00
    你是说 SyncThing 么?
    hawhaw
        7
    hawhaw  
       2019-08-05 07:16:32 +08:00 via Android
    rsync 也可以指定某些文件做同步吧,不一定都会全目录做对比
    opengps
        8
    opengps  
       2019-08-05 08:09:03 +08:00 via Android
    阿里云的话,有快递硬盘业务
    playnoa
        9
    playnoa  
    OP
       2019-08-05 09:15:22 +08:00 via Android
    @hawhaw 在需要同步的目录下有很多子目录,要监测这整个目录的变化,它的工作方式就是从指定的目录起到最深处的目录树
    playnoa
        10
    playnoa  
    OP
       2019-08-05 09:16:40 +08:00 via Android
    @openwrt 不想用推的方式其实是不想动生产服务器,因为多,得批量操作,有风险
    playnoa
        11
    playnoa  
    OP
       2019-08-05 09:17:03 +08:00 via Android
    @msg7086 我查查这个
    playnoa
        12
    playnoa  
    OP
       2019-08-05 09:28:45 +08:00 via Android
    @msg7086 我查,查这个
    playnoa
        13
    playnoa  
    OP
       2019-08-05 09:29:04 +08:00 via Android
    @opengps 我问问云厂商有啥好办法
    figael
        14
    figael  
       2019-08-05 18:05:32 +08:00
    怎么同步,应该不是问题,关键是你什么时候切,切完是否要强一致。
    billlee
        15
    billlee  
       2019-08-05 21:34:23 +08:00
    @playnoa #3 你是要不停机迁移?没必要这样搞吧?
    playnoa
        16
    playnoa  
    OP
       2019-08-05 21:39:08 +08:00 via Android
    @billlee 不能停机,就是因为卡在同步方式上
    playnoa
        17
    playnoa  
    OP
       2019-08-05 21:40:19 +08:00 via Android
    @figael 一针见血,同步方式决定着数据的完整性,也影响着切换的质量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   956 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:20 · PVG 04:20 · LAX 12:20 · JFK 15:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.