作业系统层虚拟化

一些作業系統核心提供的建立隔離軟體執行環境的方法

作业系统层虚拟化(英语:Operating system–level virtualization),亦称容器化(英语:Containerization),是一种虚拟化技术,这种技术将作业系统内核虚拟化,可以允许使用者空间软体实体(instances)被分割成几个独立的单元,在内核中运行,而不是只有一个单一实体运行。

这个软体实体,也被称为是一个容器(containers),虚拟引擎(Virtualization engine),虚拟专用伺服器(virtual private servers)或是 jails。对每个执行程序的拥有者与使用者来说,他们使用的伺服器程式,看起来就像是自己专用的。

作业系统层虚拟化之后,可以实现软体的即时迁移(Live migration),使一个软体容器中的实体,即时移动到另一个作业系统下,再重新执行起来。但是在这种技术下,软体即时迁移,只能在同样的作业系统下进行。

类Unix作业系统中,这个技术最早起源于标准的chroot机制,再进一步演化而成。除了将软体独立化的机制之外,内核通常也提供资源管理功能,使得单一软体容器在运作时,对于其他软体容器的造成的交互影响最小化。

相对于传统的虚拟化(Virtualization),容器化的优势在于占用伺服器空间少,通常几秒内即可启动。同时容器的弹性可以在资源需求增加时瞬时复制增容,在资源需求减小时释放空间以供其他用户使用。由于在同一台伺服器上的容器实体共享同一个系统内核,因此在运行上不会存在实体与主机操作系统争夺RAM的问题发生,从而能够保证实体的性能。[1]

相关条目

参考资料

  1. ^ 什么是容器? 什么是容器编排? 容器化的好处 - 阿里云知识库. 阿里云. [2019-03-06]. (原始内容存档于2020-08-20).