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

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

  •  
  •   kisshere · 218 天前 · 6253 次点击
    这是一个创建于 218 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    先谢为敬

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

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

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

    https://juicefs.com/
    cdlixucd
        36
    cdlixucd   218 天前
    @jamblues 哦 所以说呢 没办法了吗
    jamblues
        37
    jamblues   218 天前 via iPhone
    @cdlixucd 解决方案就是多个小文件合成大文件 降维 减少 I/O 开销,推荐可以试试 pika 或者 ssdb,优势是支撑几 kw 问题不大 内置分布式 也不用自己维护同步 弱点是性能只有在 ssd 下才能体现 如果要求不高 普通硬盘也可以试试
    cdlixucd
        38
    cdlixucd   218 天前
    @jamblues 我们现在就遇到这个问题 都是在云平台上面 之前放在 google 对象存储里,也是有很多小的文件,然后要传到 AWS 对象存储 直接用的 rsync 来做的,先做一部分 后面切换平台再做增量的 你说的这种其实也还好 ,合成大文件后到目的端还是得拆开,一样的效果 真正的提升还是要对比吧
    xiaogui
        39
    xiaogui   218 天前
    tar 分包
    ps1aniuge
        40
    ps1aniuge   218 天前   ♥ 1
    8 楼=唯一正解。
    本地 mirror,远程 mirror。
    任何方案都打不过 8 楼方案。
    hugee
        41
    hugee   218 天前
    按天存储多好啊
    jaskle
        42
    jaskle   218 天前 via Android
    git,很好用
    glfpes
        43
    glfpes   218 天前 via Android
    lsyncd,更简单的 rsync+inotify
    glfpes
        44
    glfpes   218 天前 via Android
    @glfpes 支持正则配置哪些想同步
    AlloVince
        45
    AlloVince   218 天前
    @zelin44913 Cloud Sync 在文件数百万级别就已经不好使了
    mattx
        46
    mattx   212 天前
    @ldrljq 有没有对应的资料可以查看的?
    ldrljq
        47
    ldrljq   211 天前
    @mattx 不同厂家的技术都是不一样的,比如 Netapp 叫 SnapMirror,不过总体来说都是镜像数据,主要是用于数据迁移以及备份和恢复。
    mattx
        48
    mattx   211 天前 via iPhone
    @ldrljq #47 有没有用这个做 数据中心内部强一致备份的,做到可以随时切换。
    ldrljq
        49
    ldrljq   211 天前
    @mattx 有的,基本所有存储厂商都有这种解决方案,双活甚至多活,完全镜像数据,可以跨楼宇甚至城市实现异地容灾,不过是另外一套技术了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1018 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 37ms · UTC 21:21 · PVG 05:21 · LAX 13:21 · JFK 16:21
    ♥ Do have faith in what you're doing.