限制磁盘I/O速率:限制Linux和Unix上rsync工具的磁盘I/O

时间:2020-01-09 10:43:52  来源:igfitidea点击:

我运行一个名为/root/backup.sh的备份脚本,该脚本运行rsync命令。
但是,rsync会产生大量磁盘I/O和网络I/O。
如何减少磁盘和网络I/O。
我的服务器与160GB SATA硬盘驱动器具有10Mbps服务器连接。
如何减少磁盘I/O,以使整个系统不死机或者无响应?
这是一个众所周知的问题。
使用rsync命令时,有两种方法可以控制或者限制UNIX/Linux下的磁盘和网络I/O速率。

如何防止rsync在Linux/Unix/BSD服务器上使用所有带宽

方法1:使用rsync命令限制I/O带宽

选项--bwlimit限制I/O带宽。
您需要使用每秒千字节设置带宽。
例如,将I/O带宽限制为10000KB/s(9.7MB/s),执行:

# rsync --delete --numeric-ids --relative --delete-excluded --bwlimit=10000 /path/to/source /path/to/dest/

或者

# rsync -av --delete --numeric-ids --relative --delete-excluded \
--bwlimit=10000 \
/var/www/html [email protected]:/backups

方法2:使用ionice实用程序控制I/O带宽

" ionice"命令设置程序或者脚本的io调度类和优先级。
您可以完全控制磁盘I/O。