为什么使用rsync 备份数据特别慢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
arkilis
V2EX    Linux

为什么使用rsync 备份数据特别慢?

  •  
  •   arkilis 2013-12-11 08:49:14 +08:00 13985 次点击
    这是一个创建于 4372 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近用 rsync 来备份一个大约300G的数据.都一天了还在运行,感觉这个跟内存的使用有关:

    cat /proc/memoinfo

    MemTotal: 98992132 kB
    MemFree: 319196 kB
    Buffers: 26052 kB
    Cached: 96985728 kB
    SwapCached: 0 kB
    Active: 25044636 kB
    Inactive: 72410604 kB
    HighTotal: 0 kB
    HighFree: 0 kB
    LowTotal: 98992132 kB
    LowFree: 319196 kB
    SwapTotal: 51511288 kB
    SwapFree: 51511024 kB
    Dirty: 12 kB
    Writeback: 304 kB
    AnonPages: 443732 kB
    Mapped: 61240 kB
    Slab: 985844 kB
    PageTables: 25240 kB
    NFS_Unstable: 0 kB
    Bounce: 0 kB
    CommitLimit: 101007352 kB
    Committed_AS: 1131388 kB
    VmallocTotal: 34359738367 kB
    VmallocUsed: 305392 kB
    VmallocChunk: 34359430583 kB
    HugePages_Total: 0
    HugePages_Free: 0
    HugePages_Rsvd: 0
    Hugepagesize: 2048 kB


    有什么办法可以看看瓶颈吗?
    20 条回复    1970-01-01 08:00:00 +08:00
    kingwkb
        1
    kingwkb  
       2013-12-11 08:53:25 +08:00
    用scp
    likuku
        2
    likuku  
       2013-12-11 08:59:22 +08:00 via iPhone   1
    记得rsync有参数可以不比对直接复制的
    megaforce
        3
    megaforce  
       2013-12-11 09:11:15 +08:00
    @arkilis
    你怎么用Rsync命令的?我一般用rsync -avuz xxx x.x.x.x::xx/xx ,300G很快的。

    是不是源磁盘有问题?
    网卡是什么样的?
    感觉跟内存无关
    arkilis
        4
    arkilis  
    OP
       2013-12-11 09:20:55 +08:00
    @megaforce Thanks,我只用了两个参数

    -a: archive
    --partial: keep partially transferred files

    网络连接两个设备,但是都是千兆的网卡,速度应该不慢. 磁盘没有问题.
    arkilis
        5
    arkilis  
    OP
       2013-12-11 09:21:36 +08:00
    @likuku 根据客户需求还是需要对比的.
    lch21
        6
    lch21  
       2013-12-11 09:56:59 +08:00
    btsync 快
    Admstor
        7
    Admstor  
       2013-12-11 10:19:50 +08:00
    大文件小文件?小文件当然很慢很慢了
    nocoo
        8
    nocoo  
       2013-12-11 11:00:27 +08:00
    @Admstor 刚好相反,这张情况下小文件反而快,因为很多很多小文件,有更大可能性大部分在前后两次备份的时候没有发生变化而跳过。

    楼主可以讲讲文件的类型和结构,如果是一个大文件,而且内容经常发生变化,rsync这时候并不能发挥优势。rsync在处理大文件的时候会将文件分块然后hash,相同的块会跳过。因此一些基于行或者有固定元素大小的文件在这个时候会有优势。
    likuku
        9
    likuku  
       2013-12-11 13:29:44 +08:00
    @nocoo 纯文本的文件是可以这样...要是binary的数据,块比对没戏了,都直接完全复制覆盖了。
    ericFork
        10
    ericFork  
       2013-12-11 13:48:45 +08:00
    不要用 ssh 协议,用 rsync daemon,可以大幅提升速度
    arkilis
        11
    arkilis  
    OP
       2013-12-11 13:57:08 +08:00
    @ericFork 把rsync 作为一个一直running的deamon? interesting
    ericFork
        12
    ericFork  
       2013-12-11 14:53:27 +08:00
    @arkilis 不是,是 rsyncd....用的是 rsync:// 协议,而不是 ssh
    julyclyde
        13
    julyclyde  
       2013-12-11 15:07:26 +08:00
    @ericFork rsync://协议就是把rsync作为daemon运行
    arkilis
        14
    arkilis  
    OP
       2013-12-12 07:27:31 +08:00
    @julyclyde Thanks!
    nocoo
        15
    nocoo  
       2013-12-12 07:48:36 +08:00
    @likuku binary实际上也可以,binary文件可以理解为外星文文本或者乱码文本文件,只要发生修改的时候部分位移/覆盖/删除/追加,都有可能导致分块恰好不变而节约传输。
    arkilis
        16
    arkilis  
    OP
       2013-12-12 07:59:35 +08:00
    @nocoo 就是用来备份的,有时候保证数据的完整性,我特意运行RSYNC两次,所以这个时候时间问题就来了. 总的来说以50m左右的binary文件为主,还有一些文本文件.总共的大小为300~500GB.
    julyclyde
        17
    julyclyde  
       2013-12-12 11:19:19 +08:00
    试试-W
    likuku
        18
    likuku  
       2013-12-12 23:38:31 +08:00
    @arkilis 这样…两头机器磁盘IO都得很强才行…

    前两年搞过一台备份服务器是32G内存跑Freebsd,直接拿SATA 2T硬盘x2作ZFS的mirror,跑rsyncd服务,zpool持续写入速度120MBytes/sec 吧
    ptcracker
        19
    ptcracker  
       2013-12-16 07:29:53 +08:00
    @likuku ZFS?Linux or FreeBSD or Solaris?如果是 Linux,是基于 kernel 的还是基于 fuse 的?
    likuku
        20
    likuku  
       2013-12-16 10:52:41 +08:00
    @ptcracker 我18楼的写清楚是 freebsd 啊。solaris 现在收费才能用了,没钱。

    授权冲突问题,所以当前 zfs 进不了 linux 内核,fuse 的性能功能稳定性作为生产机风险大。

    所以,想提高 当前 linux 的磁盘I/O,只有 SSD/阵列产品
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1057 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 23:40 PVG 07:40 LAX 15:40 JFK 18:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86