作業系統層虛擬化

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

作業系統層虛擬化(英語: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).