LXD是否用于生产?

Is LXD is used in production?

因为我想旋转多个虚拟机,LXD 似乎是一个有效的

但是作为 docker,LXD 似乎没有那么流行,

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

Can anyone mention the good, bad and painful points of LXD, similar to like this article which mentions the personal experience of using docker ?

首选要回答的问题

虽然这个答案不像 Docker 文章那么广泛,但我将讨论您喜欢的问题:

How many LXD containers I can run on 12GB Of RAM and Quad core processor ?

  • 根据您的硬件要求,确实没有一组 最大 的容器,也不是可以直接回答的问题。容器占用的空间非常小,因此在 RAM 和处理能力方面,它们在容器实际执行某些操作之前不会真正使用资源。不要将 LXD 视为保留资源的管理程序,而是在请求冒泡到主机 OS 以进行硬件访问之前,它们会等待容器执行某些操作。话虽如此,您可以为每个容器设置资源上限,这样它们就不会超过一定的限制,但您的问题的答案完全取决于容器将要做什么。您可以 运行 在该设置上安装数百个容器,但前提是它们什么都不做。一旦他们开始消耗资源,您就会更清楚自己可以消耗多少 运行。

Is LXD matured enough to be run on production ?

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

Can I create LXD images with my application, database, and just run on production server ?

  • 是的,它为此内置了命令。你可以使用他们的基础镜像,构建你的应用程序,制作它的镜像,然后将它复制到其他硬件上,然后根据需要简单地指向你的负载均衡器。但要小心你的数据库。如果您正在复制您的应用程序,我建议您为您的数据库准备一个单独的 LXD 容器,您也可以根据需要对其进行分片和映像。我已经对一些容器进行了一些测试,我们有 50gb 的容器用于我们的数据库并复制图像,推送异地备份,然后拉到新服务器通常需要不到 2 分钟的时间。因此,如果您有小型容器,您将拥有极快的响应时间。我们试图在这些图像写入期间通过在成像过程中用查询轰炸数据库来导致数据库损坏,并且它非常优雅地处理它而没有一次损坏,但不要依赖它。总是 运行 你自己的备份。

Current limitations of LXD containers ?

  • 关于限制,我发现最糟糕的是基本网络设置。但是,现在正在开发中解决这个问题,而且要好得多。我们的测试版服务器现在通过 DHCP 连接而不是桥接,这使得它的推出更快更容易。我发现那里的工具很缺乏,所以如果你不太喜欢命令行,一开始你可能会遇到困难。

It is developed and maintained by Canonical, (not sure this project will the dropped like unity 8), or will be continued ?

  • 据我所知,开发非常活跃,这个项目的负责人 Stéphane Graber 也来了。他在社区很活跃,我也看到他在 Stackexchange 上回答问题。如果它被删除,我会感到非常惊讶,考虑到 LXD 也是 LXC 的主要扩展。