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

13T 的文件:近千万个几兆的小文件,在两台服务器之间备份同步,最好的方法是?

  •  
  •   kisshere · 3 天前 · 5326 次点击

    近千万个几百 K~几兆的小文件,目录存放是以 MD5 分割出来的四级目录,形如:/static/ac/bd/ef/blahblah.zip ,并且每天文件数量以几百个的增加,目前想要实时备份此服务器的数据:

    1. 看中了一台 4x12T 的服务器,想把生产环境和数据全部转移到这上面去,做 RAID10,我都不用考虑两台服务器同步备份的软件了,有硬盘坏了直接替换上去是不是就 OK 了,美滋滋
    2. rsync+inotify 对这种海量数据备份效果如何,新增一个文件,可不可以做到不扫描全部的“ static ”文件夹?立马将主服务器的该文件传输至备份服务器。有没有更好的专门针对这种海量数据备份软件?

    先谢为敬

    45 回复  |  直到 2019-06-13 23:19:27 +08:00
        1
    a852695   2 天前
    rsync 本身就是增量的吧
        2
    JingKeWu   2 天前
    内网环境 先用 nc+tar 全部打包传输过去 增量用 lsyncd
        3
    dianso   2 天前 via Android
    nc 开端口同步啊
        4
    zycpp   2 天前 via iPhone
    就算每天增加 1000 个,这 1 千万的量都要累积二十多年……好奇这是啥数据?

    天文?地理信息?
        5
    mattx   2 天前   ♥ 6
    @zycpp 说不定是海量的 种子 文件
        6
    liangkang1436   2 天前
    @mattx 老哥稳!开车吗?
        7
    luozic   2 天前
    這麽多 還不上文件數據庫來存?
        8
    ldrljq   2 天前
    支持 Mirror 模式的磁盘阵列加光纤,复制是基于块模式的,还可以组建双活和高可用。
        9
    silencefent   2 天前
    rsync 转移到 nas 盘里,比维持服务器磁盘要便宜得多
        10
    mattx   2 天前
    @liangkang1436 种子 可以通过 种子爬虫来获得, 我只是猜测下, 不一定是真实情况.
        11
    luozic   2 天前
    同步的時候直接用數據庫日志備份 or 增量備份就行。
        12
    DestinyHunter   2 天前
    我仿佛看到了你在开车
        13
    kisshere   2 天前
    @DestinyHunter
    @mattx 真不是种子
        14
    wweir   2 天前
    磁盘块拷贝?
        15
    lvzhiqiang   2 天前
    目前我们生产环境的静态文件同步就是通过 rsync+inotify 方式同步备份的。
        16
    pxw2002   2 天前 via Android
    rsync+inotify
    就是增量的呀
        17
    Tink   2 天前 via iPhone
    rsync
        18
    oott123   2 天前 via Android
    值得提醒的是 raid 不是备份
        19
    jamblues   2 天前 via iPhone
    相信我,inotify 文件多了,每次机器重启或者服务重启 I/O 会卡到你怀疑人生。

    目前比较实用的方案就是用 K/V 方案存 leveldb 类似的产品(如 ssdb 或 pika )做集群。
        20
    HarrisonZ   2 天前
    不如直接 s3 或者 oss
        21
    avastms   2 天前 via Android
    无脑 ceph
        22
    vincel   2 天前
    TFS 集群
        23
    AlohaV2   2 天前
    rsync
        24
    kisshere   2 天前
    @jamblues 楼上的 lsyncd 可不可以解决此问题
        25
    pyder   2 天前 via iPhone
    貌似是做 CV 的呀,应该全是图片,用来训练的。
        26
    zelin44913   2 天前
    rsync+inotify 只适合少量文件(十万以内)
        27
    zelin44913   2 天前
    既然有考虑采购服务器,不如采购一台群晖 nas, 然后配置 Cloud Sync 套件做实时同步增量备份至阿里云 OSS
        28
    okjb   2 天前 via Android
    今年 18 岁,申请上车😂
        29
    mdjxyz   2 天前
    上 minio 吧
        30
    loading   2 天前 via Android
    minio
        31
    cy97cool   2 天前 via Android
    seaweedfs
        32
    jamblues   2 天前 via iPhone
    @kisshere 文件多了都会在 I/O 上有瓶颈 无论是 rsync 还是 lsync 底层是绕不过的
        33
    iwannarun2   2 天前
    疑车无据
        34
    qile1   2 天前 via Android
    文件如果放那里只读取,为啥不按年月日存放,这样同步起来只同步每天的数据不是简单了?
        35
    Livid   V2EX Moderator   2 天前
    试试这个?

    https://juicefs.com/
        36
    cdlixucd   2 天前
    @jamblues 哦 所以说呢 没办法了吗
        37
    jamblues   2 天前 via iPhone
    @cdlixucd 解决方案就是多个小文件合成大文件 降维 减少 I/O 开销,推荐可以试试 pika 或者 ssdb,优势是支撑几 kw 问题不大 内置分布式 也不用自己维护同步 弱点是性能只有在 ssd 下才能体现 如果要求不高 普通硬盘也可以试试
        38
    cdlixucd   2 天前
    @jamblues 我们现在就遇到这个问题 都是在云平台上面 之前放在 google 对象存储里,也是有很多小的文件,然后要传到 AWS 对象存储 直接用的 rsync 来做的,先做一部分 后面切换平台再做增量的 你说的这种其实也还好 ,合成大文件后到目的端还是得拆开,一样的效果 真正的提升还是要对比吧
        39
    xiaogui   2 天前
    tar 分包
        40
    ps1aniuge   2 天前   ♥ 1
    8 楼=唯一正解。
    本地 mirror,远程 mirror。
    任何方案都打不过 8 楼方案。
        41
    hugee   2 天前
    按天存储多好啊
        42
    jaskle   2 天前 via Android
    git,很好用
        43
    glfpes   2 天前 via Android
    lsyncd,更简单的 rsync+inotify
        44
    glfpes   2 天前 via Android
    @glfpes 支持正则配置哪些想同步
        45
    AlloVince   2 天前
    @zelin44913 Cloud Sync 在文件数百万级别就已经不好使了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1531 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 00:47 · PVG 08:47 · LAX 17:47 · JFK 20:47
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1