裸机上的服务器设置:虚拟机上的服务与裸机(主机)操作系统上的服务

我有一个健壮的Linux服务器(32 GB的RAM)与良好的硬驱动器。 与我的主人之一。 我运行了许多使用varnish,nginx,独angular兽应用服务器,瘦应用服务器,redis,mongodb和postgresql的webapps。 现在,我不希望有大量的stream量到webapps。 所以,我的问题是,有一个足够好的服务器,我应该只运行裸机操作系统上的所有服务? 还是应该设置VMS并在VMS上运行一些服务? 设置虚拟机似乎不是一个好主意性能明智的。

编辑:如果有人有这个数字,这将是很好的。 我永远不会想到将数据库放在虚拟机上,因为它们是更密集的IO。 我没有任何数字来支持,但想知道是否有人在虚拟机上部署了数据库。

我的规则很简单 – 除虚拟机pipe理程序阻塞之外,我将所有内容虚拟化。

即使我只把一个虚拟机放在一个盒子里,至less我有抽象的硬件,当你需要高的正常运行时间(实时移动到另一台机器)时,它会派上用场,万一发生灾难(减less大型服务器移动到同一台机器)和终身(升级不处理低级别的驱动程序,我可以将机器移动到新的硬件)。

有一些例外情况是对时间敏感的系统。 数毫米以下的数据收集和决策在虚拟机上并不真正可用,因此某些活动已closures。 请注意,这些不是VOIP等 – VOIP大多数情况下可以延迟。 不过,当你开始处理金融市场数据和交易时,并不多。


更新:

有一个明显的其他情况,你不能虚拟化 – 这是当你的硬件太强大。 目前,使用hyper-V时,需要4个以上内核的机器不能虚拟化,因为虚拟机只支持4个内核。 简单的决定。 下一代hyper-V将支持32个虚拟处理器,但是当AMD出来20个核心的CPU时,你有两个……再次超过限制。 这是主要与更强大的服务器有关,商定。

主机上的服务

  • 没有虚拟化开销(更原始的性能,直接硬件访问);
  • 在引导期间提前启动(例如:DHCP或VM的防火墙);
  • 手动迁移到其他主机;

虚拟机上的服务

  • 虚拟化开销(但对于“轻”服务可以);
  • 所有虚拟机启动时启动;
  • 轻松迁移到其他主机;