我尝试使用“速率”来限制配置文件中的虚拟机流量速度,但这只会限制虚拟机的传出流量速度。我想限制流量可以双向流动的速度。
谢谢
答案1
我在回复时使用的是 XEN 4.2.2。
- 从您的客户配置文件中删除 rate=X 并将其关闭。
- 确保您的内核至少启用了以下功能:
- IP: 高级路由器
- TCP:高级拥塞控制(所有选项均启用)
- QoS 和/或公平排队(除调试选项外,所有选项均已启用)
- 安装“tc”命令
- 通过运行以下命令验证其是否正常工作:tc -s qdisc ls dev eth0
如果没有错误,您就可以修改 /etc/xen/scripts/vif-bridge
查找这个词‘online)’
只需添加之前;;
tc qdisc add dev "$dev" root tbf rate 120mbit burst 20mbit latency 5ms peakrate 125mbit minburst 20mbit mpu 64
因此修改后的vif-bridge版本应该是这样的:
online)
setup_virtual_bridge_port "$dev"
mtu="`ip link show $bridge | awk '/mtu/ { print $5 }'`"
if [ -n "$mtu" ] && [ "$mtu" -gt 0 ]
then
ip link set $dev mtu $mtu || :
fi
add_to_bridge "$bridge" "$dev"
tc qdisc add dev "$dev" root tbf rate 120mbit burst 20mbit latency 5ms peakrate 125mbit minburst 20mbit mpu 64
;;
查找这个词‘离线)’
附加到第一行:do_without_error tc qdisc del dev "$dev" root
offline)
do_without_error tc qdisc del dev "$dev" root
do_without_error brctl delif "$bridge" "$dev"
do_without_error ifconfig "$dev" down
;;
使用上述 TBF 规则,您的客户机的上传速度应为大约 12.5MB/s,下载速度为 14.0M/s;略高于 120Mbps
如果同时上传/下载,则上传和下载速度应约为 7.5MB/s ~ 150Mbps 总带宽
这是我经过一小时调整后得到的结果。如果您发现更好的值,请告诉我们
答案2
虽然我不确定如何限制 Xen DomU 的入站流量(实际上您声称已经这样做了),但我过去曾通过对我的 DomU 配置文件中的 vif 定义进行非常简单的更改来限制出站流量。例如,对于一个客户机,我使用:
vif = [ 'rate=5Mb/s , bridge=xenbr0' ]
但正如我所说,这只会限制出站流量的速率。
我还读过(但还没有尝试过),您可以选择指定一个时间窗口来调整延迟/吞吐量,语法如下:
vif = [ 'rate=5Mb/s@25ms , bridge=xenbr0' ]