技术解析

LXD,基于 Linux 容器的虚拟机
0
2021-07-05 01:58:11
idczone
这个技术是 Ubuntu 母公司推出的,很早就看到过,不过没有深入学习,最近貌似已经到 2.0 ,应该是很稳定了。尽管这个技术的底层是用的是和 docker 一样的 Linux 容器,但在使用的体验中更接近一个全主机虚拟机。而比起全虚拟机来说,其秒级的启动速度则是无与伦比。

目前这个东东在开发和测试环境中如果用的好的话,应该可以极大地降低成本和部署时间。
链接: http://www.ubuntu.com/cloud/lxd
2.0 也是上周一刚发布的,现在用那就真是小白鼠了
另外这是官网, https://linuxcontainers.org/lxd/,不是上面那个

好用吗

性能如何?

因为是基于 Linux 容器的,它里面的进程归根到底都是主机里的进程,所以相对全虚拟技术,它的性能是接近主机的。

如 所指, 其技术网站是在 https://linuxcontainers.org/lxd/。
代码在 Github 上: https://github.com/lxc/lxd

docker 两种底层, lxc 或者自己的。 lxd 基于 lxc

说到 Ubuntu ,我就又想到了一件事。
再过 3 天之后, Ubuntu 16.04 就要发布了。

C 社的东西都敢用……
从 unity 准确的说是 ubuntu. One 之后,哪个东西成功过…

有時間去關注一下。
直覺上,這是一個加強版的 openvz

用了 lxc 根本就不可能像虚拟机,至少你 linux 内核能动?你一个实例导致 kernel panic 立刻全部爆炸。
有强隔离需求的同学请使用 kvm, xen, hyper-v 等虚拟化技术。对于普通的 container 需求,我认为用 docker 就好了,毕竟 docker 已经有很多人用了,坑都填了不少,网上能找到解决方案。

说它不是虚拟机我认同,比较是基于 LXC 的。但比起 docker 来说就不一样了, docker 的目标是应用基本的隔离,而 lxd 则是模仿 host 级别的隔离。至少在表现出来的行为,跟一个持续运行的 linux host 没有什么太大差别。

完全虚拟化的 vm 启动 Ubuntu 也只要 3 秒不到啊。。。

本质上区别不大,比如 OpenVZ

user NS 的隔离可靠性和 illumos 系还差的远. 不使用传统虚拟化基础方法部署不可信 docker 镜像就是玩火.

我倒想知道它如何模仿 OS 级别的隔离?只要基于 lxc ,那么他们必将共用一个内核啊,那你其中一个程序导致 kernel panic 就会全部爆炸啊,这个对不对?再模仿也不能超越技术的限制嘛。
基于 lxc 的应用不是没有, infoq 上面雪球就作过一场演讲,讲的就是他们 IO 密集型的应用都是用 lxc 部署管理的,其他 CPU 密集型服务则是 docker (原话是 DB 是用 lxc ,应用使用 docker)。
回到你所说的用 lxd 会提高开发效率的话题,我不认可,很多开发 linux 程序的同学都是用 mac 的, docker 现在至少是原生支持 OS X 了。在 OS X 上用 LXD 必然会用到 VM ,那么为什么不直接用 VM ,写一个初始化的部署脚本或者是制作一个公用的镜像又不是什么难事。去到运维的阶段,我相信运维的人员会对 docker 更加熟悉。 LXD 跟 docker 比起来没有什么优点,它不能完全取代 VM ,但在进程层面又比不过 docker ,那么为什么要用它?它这个定位我觉得是没有抓到痛点。

哈哈哈哈其实 Docker 也是自己利用 Virtualbox API 去做工具启动而已本质上也还是 VM 。 LXD 需要生态,生态自然也是 Docker 的优势。但不管是哪种,规模不大的应用上 Container 都是杀鸡用牛刀,白白提高复杂度。

不是吧,最近出个了 beta ,那是原生啊, windows 也是啊,我觉得是一个 syscall 的 wrapper

也就是跟 OPENVZ 类似的虚拟化?
那种跟虚拟主机差不多呀。

你是说 Docker toolbox 吧

不是,再看了一下他们的日志,原来是用系统自带的虚拟化,地址在这里 https://blog.docker.com/2016/03/docker-for-mac-windows-beta/

叼叼叼。终于不会烧内存咯。

还以为能跑 Windows 了,以为可以取代 SmartOS 了。哎。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服