随着MirageOS 3.0的发布,开源MirageOS unikernel项目在2月23日达到了一个重要的里程碑。unikernel的基本思想是,它是一个高度优化和专门构建的操作系统,可以帮助实现应用程序的高效运行和交付。
MirageOS 1.0 版本于2013年12月首次亮相,这是Linux基金会的Xen虚拟机管理程序虚拟化项目领导的一项工作。随着新的MirageOS 3.0版本的发布,Unikernel现在正在扩展到Xen虚拟机管理程序的范围之外,并且现在还支持KVM和Bhyve虚拟机管理程序。
自MirageOS 1.0发行版以来,还发生了变化的是Unikernel Systems的所有权,这是MirageOS背后的主要开发人员之一。Docker公司于2016年1月收购了 Unikernel Systems。
MirageOS项目负责人Anil Madhavapeddy对eWEEK表示:“ MirageOS仍然是Xen项目的孵化项目,是一个开源的单内核项目。” “自从收购Unikernel Systems以来,该项目没有改变;但是图书馆生态系统增长了很多:我们现在在数百个存储库中拥有350多个贡献者。
MirageOS将自己定义为“库操作系统”,这意味着它可以部署为在存在必需的驱动程序和引导程序的任何目标系统上运行。Madhavapeddy解释说,随着MirageOS 3.0版本的发布,开发人员的体验有了重大改进,并且对核心库API进行了重构,以提高可移植性和性能。添加新的虚拟机管理程序目标以及KVM和Bhyve也很重要,因为MirageOS的先前版本仅支持在Linux,BSD和macOS上运行的Xen虚拟机管理程序。
Madhavapeddy说:“ MirageOS 3.0通过IBM贡献的Solo5项目以KVM的形式添加了第二个虚拟机管理程序目标。”
他补充说,Solo5添加了“ virtio”和“ ukvm”目标,它们现在已与Mirage前端工具完全集成。这两个目标使用virtio为不同的用例提供服务,以便在可模拟传统虚拟网络的公共云(例如Google Compute Engine)上运行。Madhavapeddy解释说,ukvm目标是一种非常简单的设备模式,仅专用于unikernel使用,并且仅需要KVM内核支持,而不需要任何用户空间设备仿真。
Madhavapeddy说:“为所有这些架构推广MirageOS 3的工作量很大,但是有一种新的配置语言使这一切都非常易于管理。” “现在,我们的MirageOS 3的早期用户可以在Debian上的FreeBSD Bhyve,Xen,KVM上愉快地部署他们的网站,甚至可以通过Hypervisor框架直接在macOS上进行实验。”
MirageOS现在可以在Xen以外的虚拟机管理程序上运行,这对于Xen Project来说不是问题。Xen项目顾问委员会主席Lars Kurth表示,Xen项目在早期一直是Unikernels的大力支持者和支持者。
Kurth对eWEEK表示: “作为Xen项目的孵化项目,MirageOS为他们提供了实施该计划所需的基础设施支持。”
Kurth补充说,MirageOS总是有可能与其他虚拟机管理程序一起工作,以将unikernel的功能引入其他环境。他指出,Xen项目将这视为单内核增长的下一个阶段,非常高兴能够继续支持MirageOS,以将这一关键技术带给整个系统制造商社区。
Docker Inc.已使用MirageOS启用其适用于Mac和Windows 应用程序的 Docker 。Madhavapeddy解释说,Docker引擎在MacOS上的自定义库管理程序或Windows上的Hyper-V虚拟机(VM)之上的Alpine Linux发行版中运行,并且该VM由Docker应用程序管理。
Madhavapeddy说:“在Mac应用程序上运行的容器中,每个单个网络数据包都是通过MirageOS TCP / IP堆栈重建的,这对Mirage 3的整体稳定性表示了肯定。”
当Docker使用MirageOS组件时,容器和unikernel是交付应用程序的两种不同方式。Unikernel提供操作系统级别的组件,而容器则依赖于主机操作系统。
Madhavapeddy说:“关于Docker和unikernel之间的交集,我们认为unikernel和容器是一个连续体。” “最终,我们希望使开发人员能够轻松地使用熟悉且连贯的工具链来构建,发布和运行他们的代码-不管应用程序是在容器中还是作为Unikernel构建,或者无论出现什么情况,下一个。