我计划虚拟化两台服务器,大量的networkingstream量将在这些服务器之间。 通过在虚拟机之间configuration内部networking,并通过桥接适配器仅允许客户端发往客户端的stream量,我会看到实质性的好处吗?
我打算将VMWare ESXi或Hyper-V用作pipe理程序,将Windows Server 2008用作来宾OS。 这样可以设置服务器吗? 如果服务器看到彼此之间有两条path,我怎样才能configuration它们在一种情况下使用内部networking,在另一种情况下使用桥接适配器?
是否值得尝试这样做,还是configuration的复杂性最终会回来伤害我? 我可以看到如果其中一台服务器移动到不同的VM主机,它可能会导致问题。
我不能说Hyper-V,但所有版本的VMware ESX都具有软件“vSwitches”,它将在同一主机上的两个虚拟机之间交换以太网stream量,这个速度将比处理器允许的速度快得多,通常比10Gbps以太网要快得多。 事实上,这种configuration是默认configuration,并强制每个虚拟机的stream量进入物理networking,如果适当的话,这是人们为了某些安全考虑而不得不实现的。 顺便说一下,使用Windows 2008时,ESX / i v4在这方面速度特别快。
正如我所说,我不能说Hyper-V,但我强烈怀疑它会做类似的事情,我敢肯定有人会很快回答。
我对VMWare不太了解。 但是,在Hyper-V下,运行在同一台物理主机上的两台虚拟机之间的stream量将不会通过networking传输,除非您实际上在该主机上configuration了两台虚拟交换机,每台虚拟交换机使用不同的物理以太网适配器,并configuration虚拟机连接到不同的交换机。
所以,你实际上不得不自己动手去强制交通。 只需将虚拟机连接到同一个虚拟以太网交换机即可。 外部stream量将在networking上传输,内部stream量将通过内存。
这就是说,有权衡。 只是通过虚拟交换机的stream量需要比stream经networking的stream量更多的CPU周期。 粗略地说,这是因为当你把通信放在线路上时,你可以在网卡上使用硬件加速器。
鉴于当今function强大的CPU,并且如果您的物理以太网适配器是1Gb,则在单个物理主机上的两个虚拟机之间将会看到更大的吞吐量。 但是你也会看到更大的整体CPU使用率。 你决定哪一个对你更重要。
可以在所有主要虚拟机pipe理程序的客户机之间configuration内部networking,而且很可能会发现显着的性能优势。
至于复杂性,networking是任何虚拟基础架构固有的一部分,我不明白一个虚拟接口不是桥接到一个物理接口是如何比一个更复杂。 也许不那么如此。
如果您可以使用RDM / PCI-PT为每个VM分配一个单独的NIC,您将获得本机性能。