物理機、虛擬機、容器是什么?


物理機

物理機,對應采購的服務器設備,又叫裸設備,bare metal,隨着摩爾定律的增長,單個服務器的性能逐漸提升,物理服務器的性能是如此的高,以致於我們實際使用到的物理機的性能只占了百分之幾甚至更低,為了靈活的部署系統和應用,需要一層虛擬層

在物理機之上,這就是虛擬機。

注意:物理機就是普通的主機。筆記本電腦,台式電腦都可以叫物理機。

虛擬機

虛擬機,與現在流行的“雲計算”的概念的有着緊密聯系,虛擬機的概念在IaaS層,即基礎設施即服務部分,可以自行學習一下。為了讓全人類能夠像使用自來水、電一樣使用計算資源,我們需要在幾百上千台物理機上部署虛擬化軟件,如vmware等等,使得

他們的表現就像一台巨大的計算機。同時它還具有靈活性和解耦性,你可以在一台物理機上部署10台虛擬機,使得一台物理機的表現就像10台性能略差的服務器,當你不需要他們時,你又可以隨時的回收資源重新分配。

注意:虛擬機是建在物理機上的。相當於你有了幾個電腦

容器

容器,也是虛擬層的概念,相對虛擬機而言,容器更加輕量級。虛擬機中需要模擬一台物理機的所有資源,比如你要模擬出有多少CPU、網卡、顯卡等等,這些都是在軟件層面通過計算資源實現的,這就給物理機憑空增加了不必要的計算量。容器僅僅在操

作系統層面向上,對應用的所需各類資源進行了隔離。這也是為何微服務、PaaS和Docker最近如此火爆的原因,資源消耗少,遷移部署簡單,成本低。尤其是CNCF提供的一系列工具,更是把容器技術推動到了浪潮之巔。

注意:容器可以建在物理機和虛擬機上。一個物理機可以建很多個容器。每個容器都是一個小系統。。比虛擬機消耗更少

other

你去京東或者淘寶上,買CPU、顯卡啊,硬盤啊,組裝起來,開機裝上Windows也好,Linux也好。

這就是一台物理機,硬件>你使用的系統。

然后,假設你裝的Windows,你需要一台Linux來跑你的代碼也好,學習也好,你需要安裝一個虛擬化工具(如Windows自帶的HV或者vmware),這樣你就能啟動一個Linux起來。

硬件>windows>linux,Linux就是虛擬機。

然后就到容器,這里就需要更加深一層的知識。從上面的架構來看,Windows就是hostOS,linux屬於GuestOS,而容器則是取代了本來屬於GuestOS的位置(既上圖中的Linux)。

那么虛擬化工具就從vmware變成docker。虛擬機和容器的區別,最重要就是在損耗上面,容器管理一般不建議把一些不必要的功能放進去,所以容器啟動的時候,基本是保持,一個應用啟動一個容器,這樣啟動速度和消耗都會很小。

但是虛擬機則會把很多服務附帶進去。所以啟動速度和損耗都比較大一點

總結

一台電腦是物理機,然后在物理機上通過虛擬軟件裝虛擬機,每個電腦可以裝多個虛擬機,只要內存夠,登陸虛擬機進去,又類似一台電腦,每個虛擬機可以安裝不同的操作系統,容器也是建立在物理機上的,物理機和容器可以一對多,也可以一對一,容器和虛擬機作用是一樣的,只不過容器比虛擬機更加輕量級

參考

容器和虛擬機到底有啥區別?(贊)

 

 
 
 
 
 
 
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM