linux – rsync挂在一个大文件上
每天晚上我都会使用rsync将几个虚拟磁盘从一台
Linux Debian计算机复制到另一台Linux Debian.
rsync挂在一个文件上,总是一样的.传输50 Gb后,每次都会发生挂起.我不确定这是否总是在完全相同的点,但是ls -sh显示50 Gb. 如果我使用rsync在本地更新文件,没有任何网络参与(使用–no-whole-file,这是一个要求,请参阅后面的内容),我的行为完全相同. 一旦rsync停止运行,它就会使用一个CPU核心达到100%并且在接收端使用零磁盘活动(这是一个拉取请求,因此rsync从这一侧运行)并且在发送端使用零CPU和零磁盘. 我找到的唯一例外是当我将此文件rsync到新位置时(即目标文件不存在).所以我怀疑这个问题与旧数据和新数据之间的比较有关. 我使用–inplace来限制对目标磁盘的写入,因为每次备份后都会使用快照.所以这个选项是一个要求,也是rsync,除非我发现一个工具只能更新这些文件的更改部分. 解决方法众所周知,rsync在大型文件上存在这种问题,因为内部哈希缓冲区的算法效率低下.您必须使用具有较大值的–block-size选项.但是当前版本不允许使用超过128 kB.一些网页告诉使用–block-size = 10485760 –protocol = 29但在我的情况下它被rsync拒绝. >使用29或更早版本>或修改MAX_BLOCK_SIZE常量后重新编译 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |