之前已经讨论过这个话题的某些部分/方面。下面是我想问的问题:
- eth0 是我的 ubuntu 12.04-server 的官方网卡
- eth1 是网桥“br1”的“local=yes”端口
- eth1/br1 没有 ip 地址
- 所有 VirtualBox客人机器使用桥接适配器:br1(/eth1)
- 所有真实和虚拟机都在同一子网
- 几乎所有网线的一端都插入 Netgear FS726T 智能交换机
运行良好。每个人都可以访问 Samba(在 eth0 上)、彼此的共享文件夹、打印机、NAS 和 Internet。
在 VirtualBox 之前,VMware Server 将所有客户流量桥接到 eth1。而在此之前,我只使用一个网络适配器来处理所有事情。这简直是地狱。只需要备份、从 NAS 上传/下载(无论是从主机还是客户机上传/下载),邮件服务器、远程桌面、VNC、Citrix 或 PuTTY 会话就会中断/超时 [*]。
我没有看到暴风雨肆虐,但是......尽管如此,我应该使用(或避免!)哪些网络选项来防止不良和邪恶的流量模式?
[*]: 我刚刚在这里找到了这篇文章https://serverfault.com/a/136985/167502这可能是罪魁祸首,尽管在 vmnet 使用 eth1 之后它运行良好。
答案1
我觉得还行,应该没什么问题。可能值得启用生成树协议 (STP)在 br1 上,这有助于停止在将 eth0 添加到 br1 时可能发生的任何循环。
这确实意味着路由还没有完全优化,因为流量会从 eth1 上离开服务器,再回到 eth0 上
看起来 switch 支持IEEE802.3ad 链路聚合,因此可能值得考虑在 Linux 上使用绑定进行设置,这将使用两个链接来传输到服务器的流量。eth0 和 eth1 将连接到 bond1,然后将 bond1 添加到 br1。然后将服务器 IP 放在 bond1 上。这意味着在主机上运行的虚拟机将直接连接,而无需通过物理 NIC。
其余流量将通过 eth0 和 eth1 共享。单个连接只能最大化其中一个链接,因此不会影响其余流量
答案2
使用 cgroups 和流量整形 (tc) 的 net_cls 控制器来限制虚拟机可使用的网络带宽量。