LXD在生产环境中有使用吗?

3

由于我想要运行多个虚拟机,LXD似乎是一个有效的选择

但与Docker相比,LXD似乎没有那么受关注。

初步想法,我已经使用LXC创建了一个测试容器,并安装了mongodb数据库,至少在重启容器后mongodb中的数据是持久的。(我可能在这里错了)并且与lxc容器的交互就像登录物理服务器一样简单。

有人能否提到LXD的优点、缺点和痛点,类似于这篇文章提到使用docker的个人经验?

首选问题答案

  • 我可以在拥有12GB RAM和四核处理器的情况下运行多少个LXD容器?
  • LXD是否足够成熟,可以在生产环境中运行?
  • 我能否创建包含我的应用程序、数据库的LXD镜像,并在生产服务器上运行?
  • LXD容器的当前限制是什么?
  • LXD由Canonical开发和维护(不确定这个项目是否会像Unity 8一样被放弃),还是会继续进行?
1个回答

9
尽管这篇回答不如Docker文章详尽,但我会回答您的问题:
问:在12GB RAM和四核处理器上可以运行多少个LXD容器? 答:基于硬件要求没有固定的最大容器数量,也不能直接回答这个问题。容器占用很小的空间,因此就RAM和处理能力而言,在容器实际执行任务前它们并不占用资源。不要把LXD看作一个需要保留资源的虚拟机管理程序,而是等待容器执行任务后才向主机操作系统请求硬件访问。尽管如此,您可以为每个容器设置资源限制,以防止超过特定限制。但是,对于您的问题的答案完全取决于容器将要执行的任务。如果它们什么都不做,您可以在这个设置中运行数百个容器。一旦它们开始消耗资源,您就会更好地了解可以运行多少个容器。
问:LXD是否足够成熟以用于生产环境? 答:是的,我们已经在生产服务器上运行LXD一年多了,并且非常满意其运行时间。对于我们的需求来说,LXD已经足够成熟,但是首先要评估您的业务需求。
问:我可以创建带有应用程序、数据库的LXD镜像,并在生产服务器上运行吗? 答:是的,它有内置命令进行此操作。您可以使用其基本映像,构建应用程序,制作其镜像,然后在其他硬件上复制它,然后根据需要简单地指定负载均衡器。但是请注意您的数据库。如果您正在复制应用程序,则建议为数据库设置单独的LXD容器,并根据需要对其进行分片和映像。我们对一些容器进行了一些测试,我们的数据库有50GB,将镜像复制到远程备份,然后从新服务器拉取通常不到2分钟。因此,如果您的容器很小,响应时间会非常快。我们还试图在这些镜像写入期间通过向数据库发送查询来导致数据库损坏,但是它非常优雅地处理了所有问题,没有任何损坏,但是不要依赖它。始终运行自己的备份。
问:LXD容器的当前限制是什么? 答:关于限制,我发现基本网络设置非常糟糕。但是,目前正在开发中解决这个问题,而且情况已经好多了。我们的beta服务器现在通过DHCP连接,而不是桥接,这使得推出速度更快、更容易。我发现工具有所欠缺,因此如果您不太擅长命令行,刚开始可能会遇到困难。
它由Canonical开发和维护,(不确定这个项目是否会像Unity 8一样被放弃),或者会继续进行吗?
据我所见,该项目的开发非常活跃,并且该项目负责人Stéphane Graber将继续留任。他积极参与社区,并在Stackexchange上回答问题。考虑到LXD也是LXC的重大扩展,如果它被放弃,我会感到非常惊讶。

你救了我的一天 :) ,我有点疲倦了在各个地方阅读所有的“hello world” lxd 容器示例 :) - forum.test17
好的,LXD(或lxd)是LXC 2.x的守护进程...据我所知,这仍然被称为Linux容器(或LXC),并且根据Stéphane在自己的博客上的评论,我理解的是可以证实这一点。人们(包括Canonical)使用LXD这个名称的主要原因是将LXC 2.x与更加繁琐的LXC 1.x区分开来。毕竟,lxd守护进程是LXC 2.x的核心组件。至少这就是我的理解。顺便说一句,在您的回答中提供Stéphane关于LXD的博客系列的链接会真正补充信息。 - 0xC0000022L
@Nixopax,你使用lxd这么长时间后能否给我们更新一下情况? - The Quantum Physicist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接