rsync ionice目的地

为了避免rsync挨饿系统和networking,我们在启动rsync时使用ionice并设置--bwlimit参数。 例如:

 ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo [email protected]:/ 

这确实有助于确保源服务器保持响应。 但是,目标服务器由于100%的磁盘IO而变得非常慢(如atop工具所见)。

是否有可能以某种方式在目标服务器上使用ionice ? 也许通过rsync -e选项? 如果可能,我宁愿不运行rsync守护进程。

更改rsync命令或将其封装在shell脚本中以包含ionice命令/参数是一个选项。 另外,您可以利用--rsync-path选项,它告诉rsync在远程服务器上执行哪个命令。 类似于--rsync-path="ionice -c2 -n7 rsync"将确保ionice在目的地上运行。

我会补充说,ionice并不总是有效的,这取决于服务器的configuration。 它只适用于默认的CFQ I / O电梯 。 如果您已经完成了任何存储系统调整,则此方法可能不适用。

你能举出一个负载的例子,或者帮助解释在复制过程中系统如何启动资源? 我倾向于深入研究,看看为什么一个rsync,特别是限于你在例子中列出的低利率,会造成很大的麻烦。

你在复制什么? 什么是硬件/操作系统设置?

您的rsync命令也会在远程目标上启动rsync命令。

尝试将以下内容放到目标服务器root用户.bashrc中,换句话说就是/root/.bashrc

 alias rsync="ionice -c2 -n7 rsync"