Wes*_*ley 48 networking centos bandwidth
我有一台 CentOS 5.7 服务器,它将每晚备份其文件。我担心当备份通过网络传输时,服务器托管的各个站点的访问者会遇到性能下降。
是否可以将进程的最大允许吞吐量限制为网络接口?我想将基于 SSH 的文件传输限制为我可用带宽的一半。这可能在服务器端或客户端;也就是说,我很乐意在发起连接的客户端或接收连接的服务器上执行此操作。
(不幸的是,我无法添加专门用于备份的接口。我可以增加可用吞吐量,但这仅意味着网络传输将完成得更快,但在执行此操作时仍能最大限度地提高连接的总容量。)
也许一些背景是有序的。退一步说,我遇到了没有足够的本地空间来创建备份本身的问题。进入SSHFS!备份被保存到表面上是本地驱动器的地方,这样网络服务器本身就没有备份位。
为什么这很重要?因为那似乎会使尊者的使用无效rsync --bwlimit。rsync实际上不是这样的转移,也可以,因为我甚至无法腾出空间来保存备份文件。
我可以听到你问:“等等,为什么你甚至需要制作备份文件?为什么不只是rsync源文件和文件夹?” 因为一个叫“Plesk”的烦人的东西混在了一起!这是我的面向客户端的 Web 主机,为了方便使用 Plesk。因此,我使用 Plesk 来启动备份,因为 Plesk 为备份添加了各种额外的魔法,这使得在恢复过程中使用它非常安全。
悲伤的脸
Mir*_*ici 25
您可以使用iptables标记数据包(--pid-owner ...),然后使用tc来调整流量。此外,“--sid-owner”可用于包含该进程的线程和子进程。
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#OWNERMATCH
Match --pid-owner
Kernel 2.3, 2.4, 2.5 and 2.6
Example iptables -A OUTPUT -m owner --pid-owner 78
说明 这个匹配用于根据负责它们的进程 ID (PID) 匹配数据包。这个匹配有点难使用,但一个例子是只允许 PID 94 从 HTTP 端口发送数据包(当然,如果 HTTP 进程没有线程化)。或者,我们可以编写一个小脚本,从特定守护程序的 ps 输出中获取 PID,然后为其添加规则。例如,您可以有一个如 Pid-owner.txt 示例中所示的规则
hha*_*amu 23
如果您可以写入管道(或标准输出),则可以安装pv(pipe viewer) 命令。它最初是为了显示通过管道传输的数据的进度而编写的。
tar cvf - /files/to/backup | pv -L 512k > /your/file/on/sshfs
-L RATE, --rate-limit RATE
Limit the transfer to a maximum of RATE bytes per second. A
suffix of "k", "m", "g", or "t" can be added to denote kilobytes
(*1024), megabytes, and so on.
Run Code Online (Sandbox Code Playgroud)
出于同样的原因,我将 rsync 与 --bwlimit=KBPS 选项一起使用。
我们的 1 Gbit 以太网很容易淹没我们旧的 SCSI320 DAS RAID,基本上 DOS 的一些我们的旧生产设备依赖于它的 NFS 存储。
| 归档时间: |
|
| 查看次数: |
52261 次 |
| 最近记录: |