LXC和VM的典型用例是什么?

我正在设法决定何时使用LXC容器比使用完整虚拟机更好。

您是否有任何确切的用例可以以某种方式带来某些争议?

LXC更“PaaS”为导向,运行应用程序没有硬件控制? 我们是否总是需要在需要基础架构控制的“IaaS”angular度使用虚拟机?

问候,

我不认为IaaS需要虚拟机。 使用LXC,您可以定义cpushare和Memory用户限制的数量。

事情是虚拟机非常重,例如PHP / MySQL / Apache,你将有1个虚拟机。 由于LXC是轻量级的,你可以有3个LXC,所以更好的扩展(如果你需要分割mysql,只需复制mysql LXC)

LXC就像是类固醇的chroot监狱。 为了争辩,你可以把它看作一个轻量级的虚拟机(尽pipe它根本不是虚拟机)。

如果你已经完成了编写一个应用程序的工作,那么这个应用程序就可以在短暂的基础架构上运行,那么LXC就可以让你以更less的开销来完成这个任务。

对我来说,关于LXC最酷的事情就是围绕它而增长的社区。 考虑像docker这样的东西 – docker图像相对便携。 它提供了在物理硬件上configuration相同容器的工具,或在台式机上运行的VirtualBox VM中,或在Amazon或Rackspace提供的虚拟机中configuration相同的容器。 这使我们更接近一次写入任意位置的梦想。

LXC的启动速度比虚拟机快得多,每个容器的主机资源比虚拟机less,所以它们非常适合将大量隔离进程打包到一台主机上和/或频繁启动。

一个用例是用于在可重复的环境中运行unit testing(当与Docker提供的快照文件系统结合使用时)。 您可以旋转整个容器,运行testing,并尽可能快地closurestesting。 LXC的好处是testing的所有非内核依赖将在容器内。 它甚至可能是一种不同的Linux风格(例如,主机可以是Ubuntu,容器可以运行Centos,但是它们必须共享主机的内核)。

对我来说,lxc的好处是可以帮助你拥有一个非常小的环境。 所以当你只有一个应用程序运行它时,它使用完整。 如果你想在你的环境中运行几个应用程序,虚拟机是更好的。 VM更好的另一种情况是当你想要使用另一个内核而不是主机内核时。

对我来说lxc只是一个非常轻的虚拟机系统。 随着速度和尺寸更好。 但是约束不可能是你所需要的。