Gre*_*SAT 4 linux rsync virtual-machines
每天晚上,我使用 rsync 将几个虚拟磁盘从一台 Linux Debian 计算机复制到另一台 Linux Debian。
大多数文件是带有“漏洞”的原始图像:某些部分从未写入,因此在磁盘上保持未分配状态。
rsync 挂在一个文件上,始终相同。每次传输 50 Gb 后都会发生挂起。我不确定这是否总是在完全相同的点,但ls -sh显示 50 Gb。
这是一个 800 Gb 的文件,其中包含 151 Gb(因此 649 Gb 未分配)。其他一些虚拟磁盘也有类似的数字,rsync 可以很好地处理它们。
如果我使用 rsync 在本地更新文件,我的行为完全相同,而无需任何网络参与(使用--no-whole-file,这是一个要求,见下文)。
一旦 rsync 停止,它会在接收端使用一个 CPU 内核 100% 和零磁盘活动(这是一个拉取请求,所以 rsync 从这一端运行),并在发送端使用零 CPU 和零磁盘。
我让它运行了几个小时。
Ctrl+c立即停止 rsync。
当运行到本地复制时,一旦停止,我也有一个 CPU 核心 100% 和零磁盘活动。
我发现的唯一例外是当我将此文件同步到新位置时(即目标文件不存在)。所以我怀疑这个问题与新旧数据的比较有关。
我--inplace用来限制对目标磁盘的写入,因为每次备份后都会使用快照。所以这个选项是必需的,rsync 也是必需的,除非我发现一个工具只能更新这些文件的更改部分。
由于内部散列缓冲区的算法效率低下,rsync 在大文件上存在这种问题。
您必须使用--block-size具有大值的选项。但是当前版本不允许使用超过 128 kB。一些网页告诉使用,--block-size=10485760 --protocol=29但在我的情况下,它被 rsync 拒绝。
查看针对 rsync 的错误报告。也许提交一个新的。您可以从https://rsync.samba.org/bugzilla.html找到这些
无论是在这里还是在错误报告中,您都应该提供更多细节。每一端的 rsync 版本是什么,你的操作系统是什么,你使用的是什么命令?文件和/或 rsync 传输是否已压缩?用什么zlib版本?
https://bugzilla.samba.org/show_bug.cgi?id=10518或许https://bugzilla.samba.org/show_bug.cgi?id=10372可能是相关的。另见http://www.anchor.com.au/blog/2013/08/out-tridging-tridge/
| 归档时间: |
|
| 查看次数: |
6715 次 |
| 最近记录: |