我有一个 Debian 盒子,运行着 KVM 和两台来宾机器,我在这里将其称为 Tux-A 和 Tux-B,它们都通过桥接连接绑定到主机的同一个物理网卡。
问题是 Tux-A 显示了上传到外部网络的某种带宽限制的证据:
- 从 Tux-A 上传到同一专用网络上的 IP = 45Mb/秒
- 从 Tux-A 上传到外部公共网络上的 IP = 150Kb/秒
- 从 Tux-B 上传到同一专用网络上的 IP = 45Mb/秒
- 从 Tux-B 上传到外部公共网络上的 IP = 3Mb/秒
考虑到这些值,我认为:
- 通过KVM对上传带宽没有设置限制(否则Tux-B上传到公共网络也应该很慢)
- Tux-A 之上没有设置任何限制(否则 Tux-A 上传到专用网络的速度也应该很慢)
只是为了完成场景:
- Debian 主机和 Tux-A 上没有 iptables 处于活动状态(仔细检查并且两台机器上的服务都被禁用)
- Debian 主机和 Tux-A 上没有任何其他特定的流量整形服务处于活动状态(没有 tc、没有 shorewall、没有 KVM 参数调整,什么都没有)
- 连接到外部网络的路由器(据说)无法进行任何形式的流量整形(并且我在管理区域没有这种能力的证据)
所以在我(非常非常谦虚)的观点中,如果它是直接在 Tux-A 上设置的东西,并且如果在 Linux 上一切都是文件,那么 Linux 的系统文件中是否有某个地方可以设置这种限制? /proc、/sys 等的某个地方?或者有人可以建议其他方法来解决这种情况?
答案1
这可能不是流量整形。
如果 NIC 是模拟的而不是半虚拟化的,则模拟的 VM 无法生成太多流量。 (模拟时流量减少了 10 倍)
安装 virtIO 驱动程序并在最慢的计算机上选择 virtio 卡。