Jas*_*ith 14 rsync ionice high-load rate-limiting
为了避免 rsync 使我们ionice在启动 rsync 和设置--bwlimit参数时使用的系统和网络饿死。例如:
ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo root@dest.com:/
Run Code Online (Sandbox Code Playgroud)
这确实有助于确保源服务器保持响应。但是,由于磁盘 io 为 100%(如atop实用程序所见),目标服务器变得非常慢。
是否也可以ionice在目标服务器上以某种方式使用?也许通过 rsync-e选项?如果可能,我不想运行 rsync 守护进程。
eww*_*ite 11
更改 rsync 命令或将其包装在 shell 脚本中以包含 ionice 命令/参数是一种选择。此外,您可以利用该--rsync-path选项,它告诉 rsync 在远程服务器上执行哪个命令。类似的东西--rsync-path="ionice -c2 -n7 rsync"将确保 ionice 在目的地运行。
我要补充一点,ionice 并不总是有效,这取决于服务器配置。它仅适用于默认的 CFQ I/O 电梯。如果您已完成任何存储系统调优,则此方法可能不适用。
您能否举一个负载示例或帮助解释在复制期间系统如何启动资源?我倾向于深入研究,看看为什么 rsync,特别是限于您在示例中列出的低速率,会造成这么多麻烦。
你在抄什么?什么是硬件/操作系统设置?
您的 rsync 命令rsync也会在远程目标启动命令。
尝试将以下内容放入目标服务器 root 用户 .bashrc,换句话说就是/root/.bashrc
alias rsync="ionice -c2 -n7 rsync"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7692 次 |
| 最近记录: |