为了避免rsync对系统和网络造成饥饿,我们在启动rsync时使用ionice并设置--bwlimit参数。例如:
ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo root@dest.com:/这确实有助于确保源服务器保持响应。但是,由于磁盘io达到100% (如atop实用程序所示),目标服务器变得非常慢。
是否可以在目标服务器上以某种方式使用ionice?也许是通过rsync -e选项?如果可能的话,我宁愿不运行rsync守护进程。
发布于 2012-04-20 12:08:27
更改rsync命令或将其包装在shell脚本中,以包含离子命令/参数是一个选项。此外,您还可以利用--rsync-path选项,它告诉rsync要在远程服务器上执行哪个命令。类似--rsync-path="ionice -c2 -n7 rsync"的东西将确保离子在目的地运行。
我要补充的是,根据服务器配置,电离并不总是有效的。它只适用于默认CFQ I/O电梯。如果您做过任何存储系统优化,则此方法可能不适用。
您能给出一个加载的例子或者帮助解释在复制过程中启动系统是如何成为资源的吗?我倾向于深入研究,并明白为什么rsync,特别是您在示例中列出的低速率,会带来如此多的麻烦。
你在抄什么?硬件/操作系统的设置是什么?
发布于 2012-04-20 11:38:12
rsync命令也会在远程目的地启动rsync命令。
尝试将以下内容放置到目标服务器根用户.bashrc,换句话说,将其放置到/root/.bashrc
alias rsync="ionice -c2 -n7 rsync"https://serverfault.com/questions/381488
复制相似问题