如果一台服务器要运行虚拟机,每个虚拟机都有2个内核和3GB内存,运行一个巨大的四核服务器(20核心处理器)效率更高(处理能力,而不是能源成本或部件成本)和120GB内存(128GB),或者使用四个双核CPU-10核心处理器和120GB内存的服务器? 在什么时候开始变得效率低下? 一定有一个快乐的媒介。
任何pipe理程序都将包含某种虚拟处理器调度程序。 这些调度程序非常有用,因为它们使您能够过度使用您的机器。 但是,他们确实有成本。
当你没有过度使用你的机器,那么这个成本将会保持相当小,但是它仍然会在那里。 一般来说,将工作负载分割成几个较小的机器将使其效率提高一点点。
但是,那又如何?
在我看来,这不是你应该考虑的问题。 任何一个安装程序都会以类似的方式运行您的工作负载,只要您不过度使用。 在大机器上,至less,你真正的瓶颈可能是存储吞吐量。 所以我只是假设在这两种情况下,您都希望使用相同数量的HBA和存储设备来回答您的问题。
相反,您应该将这种折衷视为一个单一的大机器,您可以轻松实现主机/pipe理程序pipe理。 使用小型机器,您通常可以降低总体成本和整体正常运行时间。
如果您的一台小型机器出现故障,您只需在其他机器上重新启动这些工作负载,直到您修复硬件为止,这些工作量会被过度使用。 如果单个大机器发生故障,那么一切都将停止,直到您可以重新启动机器。
主张购买真正的大型机器来运行虚拟机pipe理程序的人(我认为“真正的大”是“比你将要托pipe的最大虚拟机大五倍以上”)主张以pipe理成本为基础。 他们说,一台机器比一大堆小机器要便宜得多。
无论“他们”是否正确,以及您是否会专门为小型机器集群看到更高的成本,主要取决于您是否设置了高效pipe理群集。 有很多pipe理套件可以帮助您,使您可以将群集视为一个单独的实体。 如果你已经拥有并使用其中的一个,那么你可能会在集群中变得更好。