linux下如何实现快速拷贝大文件
拷贝数据
远程拷贝数据的时候,我们一般使用rsync命令,但是如果拷贝大量的小文件,会导致rsync的传输速度慢。使用tarpvlz4打包压缩传输,可以解决这问题,使用这个方法,等同于使用scp、rsync传输大文件。
实测,使用rsync传输1200G,单个文件大小为几十KB~2GB,千兆网卡,需要同时跑6个rsync才能把带宽跑满,每个速度20MB左右,速度波动大。每分钟可以拷贝4.5GB左右。
但是,使用tarpvlz4,跑一个就可以了,而且速度波动小。每分钟可以拷贝6.8GB左右。
rsync使用例子
rsync安装:yuminstall-yrsync
#推送 [root@vm5~]#rsync-auvzP-e"ssh-p22"mssh.tar.gzroot@192.168.176.11:/data/ sendingincrementalfilelist mssh.tar.gz 1,977100%0.00kB/s0:00:00(xfr#1,to-chk=0/1) sent2,069bytesreceived35bytes4,208.00bytes/sec totalsizeis1,977speedupis0.94 #拉取 [root@vm5~]#rm-fmssh.tar.gz [root@vm5~]#rsync-auvzP-e"ssh-p22"root@192.168.176.11:/data/mssh.tar.gz. receivingincrementalfilelist mssh.tar.gz 1,977100%1.89MB/s0:00:00(xfr#1,to-chk=0/1) sent43bytesreceived2,069bytes4,224.00bytes/sec totalsizeis1,977speedupis0.94
参数auvzP解释:参数a是归档传输,保留文件属性,u是更新传输,源文件修改时间较新,则传输。v是显示详细过程,z是压缩传输,P是断点传输。
注意:rsync传输文件夹时候,folder/带/则是传输目录下的文件,不带/是把文件夹也传输过去。
使用压缩传输
安装pv、lz4工具
注意:服务器两端都要安装。
pv在yum源里面没有,可以到pv官网找
#去pv官网,搞到个rpm包链接,直接rpm命令安装 [root@vm5~]#rpm-ivhhttp://www.ivarch.com/programs/rpms/pv-1.6.6-1.x86_64.rpm 获取http://www.ivarch.com/programs/rpms/pv-1.6.6-1.x86_64.rpm 警告:/var/tmp/rpm-tmp.mFbA6u:头V3DSA/SHA1Signature,密钥ID3fc56f51:NOKEY 准备中...#################################[100%] 正在升级/安装... 1:pv-1.6.6-1#################################[100%] #lz4可以直接yum安装 [root@vm5~]#yuminstall-ylz4
使用
[root@vm5~]#timetar-cgo|pv|lz4-B4|ssh-p22-caes128-ctr192.168.176.11"lz4-d|tar-xC/data/" usingblocksofsize64KB 18.1MiB0:00:00[49.5MiB/s][<=>] real0m0.376s user0m0.080s sys0m0.108s #对比rsync [root@vm5~]#timersync-auvzP-e"ssh-p22"go192.168.176.11:/data/ ...... sent11,741,677bytesreceived10,451bytes7,834,752.00bytes/sec totalsizeis18,502,481speedupis1.57 real0m1.130s user0m0.797s sys0m0.160s [root@vm5~]#
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。