LXD是用于生产吗?

由于我想旋转多个虚拟机,LXD似乎是一个有效的select

但作为docker工程师,LXD似乎没有什么嗡嗡声,

最初的想法是,我用LXC创build了一个启动testing容器,并安装了mongodb数据库,至less在mongodb中的数据在重启容器后是持久的。 (我可能在这里是错误的),并与lxc容器交互就像login到物理服务器一样简单。

任何人都可以提到LXD的好处,坏处和痛苦点,就像这篇文章中提到使用docker的个人经验一样吗?

首选的问题来回答

  • 我可以在12GB内存和四核处理器上运行多less个LXD容器?
  • LXD是否足够成熟,可以在生产环境中运行?
  • 我可以使用我的应用程序,数据库创buildLXD图像,只需在生产服务器上运行?
  • LXD容器目前的局限性?
  • 它由Canonical开发和维护,(不知道这个项目会不会像团结8一样掉线),还是会继续?

虽然这个答案不像Docker文章那么广泛,但我会回顾一下你的首选问题:

我可以在12GB内存和四核处理器上运行多less个LXD容器?

  • 根据您的硬件要求,确实没有最大限度的容器,也不能直接回答。 这些容器占用的空间非常小,所以就内存和处理能力而言,在容器真正做到某些事情之前,它们并不真正使用资源。 不要把LXD看作是资源被保留的虚拟机pipe理程序,而是他们坐下来等待容器做一些事情,然后请求就会冒泡到主机操作系统进行硬件访问。 话虽如此,你可以设置每个容器的资源上限,所以他们不会超过一定的限制,但你的问题的答案完全取决于容器将要做什么。 您可以在该设置上运行数百个容器,但前提是他们没有做任何事情。 一旦他们开始消耗资源,你会有更好的想法,你可以运行多less。

LXD是否足够成熟,可以在生产环境中运行?

  • 是的,我们已经为我们的生产服务器运行了一年多的LXD,并且对正常运行时间非常满意。 LXD已经成熟满足我们的需求,但首先要评估您的业务需求,这一点很重要。

我可以使用我的应用程序,数据库创buildLXD图像,只需在生产服务器上运行?

  • 是的,它内置了命令。 您可以使用其基本映像,构build应用程序,制作映像,然后将其复制到其他硬件中,然后根据需要指定负载平衡器。 但要小心你的数据库。 如果您正在复制您的应用程序,我build议您为您的数据库有一个单独的LXD容器,并且可以根据需要分割和映像。 我已经对一些容器做了一些testing,并且我们有50GB容器用于我们的数据库,并且复制镜像,推送到异地进行备份,然后拉到新的服务器通常不到2分钟。 所以,如果你有小容器,你将有快速的响应时间。 我们试图在这些图像写入过程中导致数据库损坏,并且在成像过程中用查询轰炸了数据库,并且它在没有任何损坏的情况下非常优雅地处理它,但是不要依赖它。 始终运行自己的备份。

LXD容器目前的局限性?

  • 在限制方面,我发现糟糕的是基本的networking设置。 不过,目前这个问题正在得到解决,而且好多了。 我们的testing版服务器现在通过DHCP进行连接,而不是桥接,这使得它更快,更容易推出。 我发现那里的工具是缺乏的,所以如果你没有太多的命令行,你最初可能会挣扎。

它由Canonical开发和维护,(不知道这个项目会不会像团结8一样掉线),还是会继续?

  • 据我所知,发展非常活跃,这个项目的负责人StéphaneGraber在这里留下来。 他在社区活跃,我也看到他也回答了有关Stackexchange的问题。 考虑到LXD也是LXC的重大扩张,我会非常惊讶,如果它下降。