我有一台CentOS 5.7服务器,它将每晚备份其文件。我担心在通过网络传输备份时,服务器托管的各个站点的访问者的性能都会下降。
是否可以将进程的最大允许吞吐量限制为网络接口?我想将基于SSH的文件传输限制为仅可用带宽的一半。它可以在服务器或客户端。也就是说,我很乐意在发起连接的客户端或接收连接的服务器上执行此操作。
(不幸的是,我无法添加专用于备份的接口。我可以增加可用的吞吐量,但这仅意味着网络传输将更快地完成,但在执行连接时仍会最大化连接的总容量。)
一些背景
也许是有一些背景知识的。退一步,我遇到了一个问题,就是没有足够的本地空间来创建备份本身。输入SSHFS!备份被保存到表面上是本地驱动器的位置,因此Web服务器本身上没有备份位。
为什么这么重要?因为那似乎会使尊者的使用无效rsync --bwlimit
。rsync
实际上并没有进行传输,也无法进行传输,因为我什至都无法腾出空间来保存备份文件。
我听到您问:“等等,为什么您甚至需要制作一个备份文件?为什么不只是rsync
源文件和文件夹?” 因为令人讨厌的东西叫做“ Plesk”!这是我面向客户的Web主机,使用Plesk为方便起见。因此,我使用Plesk来启动备份,因为Plesk向备份添加了各种额外的魔术,这使得在还原过程中使用它非常安全。
悲伤的脸
ionice
来限制进程可以进行的写入。由于我正在写SSHFS文件系统,因此我可以将备份进程的类降至3,以使其完全让位给任何其他要编写的进程。通过这种方式,我得到了我想要的效果,即永远不会由于备份占用带宽而降低站点访问者的体验。