![轻量级完整操作系统虚拟化](https://linux22.com/image/714907/%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%AE%8C%E6%95%B4%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E8%99%9A%E6%8B%9F%E5%8C%96.png)
我搜索一个轻量级的完整操作系统虚拟化工具。
它应该在 Linux 上运行,并且虚拟化里面的操作系统也是 Linux。
我的用例:我想测试我们的配置管理。
- 启动当前 Linux 发行版(Ubuntu 和 SuSE)的基础映像
- 运行我们的配置管理(盐栈)
- 检查操作系统是否配置正确且正常运行。
我认为不匹配的地方:
- KVM/Qemu:太重了,不轻量
- Docker:我需要操作系统中的 cron、ssh、apache。据我所知,Docker 不适合这里。
- chroot 是不够的,因为据我所知绑定到 0.0.0.0 不起作用(apache、sshd、...)
可以使用哪种(开源)工具?
答案1
我能想到的最接近的事情是路心得。
LXD 是一个管理守护进程,它使用 LXC 进行“虚拟化”
底层实现更像 Docker(Docker 曾经基于 LXC 库),但使用方式更像是 VM。
实际上,您在这里得到的是容器中的 init 进程。有许多不同的基础映像可供使用,以接近 Ubuntu、CentOS、Alpine 或其他 Linux 系统。但是,没有像虚拟机那样的硬件模拟;所有容器都在主机内核上运行。
首席开发人员有一个博客系列这里关于使用 LXD。
我经常在开发和测试中使用 LXD。您可以将其设置为专用桥接器,作为与本地计算机隔离的网络,或者将其与物理接口桥接,并在外部网络上公开容器。这就是我运行家庭服务器的方式,这样我就可以像完整服务器一样 ssh 进入每个容器/服务器。
对于测试和开发工作,网络桥接器不连接任何物理设备,因此我可以设置数据库集群或任何我需要的真实网络,但只能在我的本地笔记本电脑上。