我计划虚拟化两台服务器,大部分网络流量将只在这些服务器之间传输。在虚拟机之间配置内部网络,只让发往客户端的流量通过桥接适配器传输出去,这样会带来很大的好处吗?
我计划使用 VMWare ESXi 或 Hyper-V 作为虚拟机管理程序,并使用 Windows Server 2008 作为客户操作系统。是否可以通过这种方式设置服务器?如果服务器看到彼此之间的两条路径,我该如何配置它们,在一种情况下使用内部网络,在另一种情况下使用桥接适配器?
是否值得尝试这样做,或者配置复杂性最终会给我带来麻烦?我知道如果将其中一台服务器移动到不同的 VM 主机,可能会引发问题。
答案1
我不能代表 Hyper-V 发言,但所有版本的 VMware ESX 都有软件“vSwitches”,它可以以处理器允许的最快速度在同一主机上的两个虚拟机之间切换以太网流量 - 通常比 10Gbps 以太网快得多。事实上,这种配置是默认配置,强制每个虚拟机的流量进入物理网络,如果合适再返回,这是人们出于某些安全考虑不遗余力实现的。顺便说一句,在使用 Windows 2008 时,ESX/i v4 在这方面特别快。
正如我所说,我不能代表 Hyper-V 发言,但我强烈怀疑它会做一些非常类似的事情,我相信有人会很快回答这个问题。
答案2
我对 VMWare 了解不多。然而,在 Hyper-V 下,在同一物理主机上运行的两个虚拟机之间的流量将无法通过网络传输,除非您实际在该主机上配置两个虚拟交换机,每个交换机位于不同的物理以太网适配器上,并且您将虚拟机配置为连接到不同的交换机。
因此,您实际上必须想尽办法将流量强制传输到网络上。只需将虚拟机连接到同一个虚拟以太网交换机即可。外部流量将通过网络传输,而内部流量将通过内存传输。
话虽如此,但还是有权衡的。通过虚拟交换机的流量比通过线路的流量需要更多的 CPU 周期。粗略地说,这是因为当您将流量放在线路上时,您可以在 NIC 上使用硬件加速器。
鉴于当今强大的 CPU,如果您的物理以太网适配器为 1Gb,您将看到单个物理主机上的两个虚拟机之间的吞吐量要大得多。但您也会看到更高的总体 CPU 使用率。您可以决定哪个对您更重要。
- 杰克
答案3
可以在所有主要的虚拟机管理程序上的客户机之间配置内部网络,并且您很可能会发现显著的性能优势。
至于复杂性,网络是任何虚拟基础设施的固有组成部分,我不认为未桥接到物理接口的虚拟接口会比桥接到物理接口的虚拟接口更复杂。或许没那么复杂。
答案4
如果您可以使用 RDM/PCI-PT 为每个 VM 分配单独的 NIC,那么您将获得本机性能。