在将某些文件从本地文件夹传输到NFS文件夹之后,Rsync将进入“可中断睡眠”模式。 我试图备份的文件夹包含超过180GB的数据。
这是什么rsync输出之前挂起:
[sender] expand file_list pointer array to 524288 bytes, did move
我正在运行的Ubuntu服务器14.04 LTS rsync版本3.1.0协议版本31,我运行rsync与这些选项:
/usr/bin/rsync -rHAXxvvut --numeric-ids --progress {SRC_FOLDER} {NFS_FOLDER}
感谢任何提示
两个说法可能有帮助
总是满意-a选项(来自man“ 归档模式;等于-rlptgoD(no -H,-A,-X) ”)
rsync可能正在等待NFS访问文件。 看起来NFS能够实际上获得rsynclocking(可能覆盖某个文件时),而且在进入其“睡眠”之前查看哪个文件被rsync访问会很有趣。 有一个命令来查看rsync当前打开的文件lsof -ad3-999 -c rsync (来自askubuntu )
使用rsync将内容传输到NFS文件夹可能效率非常低。 考虑一下当rsync想要获取远程文件的校验和或修改远程文件时涉及的内容。 rsync与在文件服务器上运行的rsync进程交谈要好得多。 如果可能的话,我会先改变它,然后看看你目前的问题是否仍然存在。 即通过ssh使用rsync或运行rsync守护程序进程,并将NFS完全保留在图片之外。
要找出rsync正在做什么, strace可能是有用的:
strace -p <PID>
或者像这样strace启动rsync:
strace rsync [rsync options] <src> <target>
通过PID连接到正在运行的进程可能需要root权限,尽pipe可以更改(root)。
我遇到了同样的问题,并设法通过远程传输来解决问题。 例如,而不是做rsync -avvxAX source/ destination/ ,我做了rsync -avvxAX source/ root@localhost:destination/
rsync可能对本地传输有特定的优化。 直到我们能够找出问题的确切原因,这个解决方法为我解决了这个问题。
我的系统:Gentoo Linux,内核4.3.0,systemd,rsync 3.1.2协议版本31