操作系统层虚拟化

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

操作系统层虚拟化(英语: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).