本文轉(zhuǎn)載自微信公眾號「無線深海」,作者蜉蝣采采 。轉(zhuǎn)載本文請聯(lián)系無線深海公眾號。
近年來,“虛擬化”這個概念可謂炙手可熱。
對虛擬化最常見的解釋是:把一臺服務(wù)器,虛擬成相互隔離的多臺“虛擬服務(wù)器”,也叫“虛擬機”。
真是咄咄怪事。腳踏實地,真刀真槍地干什么不好,非要搞這些虛頭巴腦的東西做啥?
所謂空穴來風,事出必有因,我們且往下看。
什么是虛擬化?
話說英特爾創(chuàng)始人戈登·摩爾曾說過:“集成電路上可容納的晶體管數(shù)目,約每隔兩年便會增加一倍”。
換言之,就是:處理器的性能每隔兩年翻一倍。
如此快速的發(fā)展,導致硬件的成本越來越低,甚至到了性能過剩的地步。這可怎么辦,眼睜睜地看著資源閑置嗎?
我們先看下面的一個案例。
某小公司想要搭建三個應(yīng)用:郵件系統(tǒng),文檔管理,企業(yè)內(nèi)網(wǎng)。到底要買多少服務(wù)器呢?
由于公司人少,負荷輕,性能上一臺服務(wù)服務(wù)器就足夠用了,但多個應(yīng)用裝在一起的話,不但資源調(diào)用可能起沖突,維護起來也麻煩。
但如果買三臺服務(wù)器的話,又是獅子搏兔,嚴重浪費。這可怎么辦?
既然一套服務(wù)器的硬件性能過剩,那么把它劃分成三個邏輯上完全隔離的虛擬服務(wù)器,每個上面再各自安裝操作系統(tǒng),部署各自的應(yīng)用不就行了嗎?
這樣一來,幾臺虛擬機雖然共用了硬件,但在應(yīng)用看來,它們使用的CPU,內(nèi)存,硬盤,網(wǎng)卡等資源又是完全獨立的,互相隔離,互不沖突。
這就是虛擬化的奧義:分區(qū),隔離,封裝,獨立于硬件。
因此,物理機,通常稱作“宿主機(Host)”,而虛擬機,則也被稱作“客戶機(Guest)”。
這其中的含義非常直白,“客戶機”是寄生在“宿主機”之上的虛擬之物,不能脫離宿主機獨立存在。
虛擬化怎么實現(xiàn)?
實現(xiàn)虛擬化的核心就是引入相關(guān)功能的軟件。這類軟件就叫做Hypervisor,也就是“超級監(jiān)督者”。
這些“超級監(jiān)督者”擁有通天的本領(lǐng),能全面接管服務(wù)器上的物理CPU,內(nèi)存,硬盤,網(wǎng)卡等硬件,把它們抽象成邏輯資源池,并按需分給每個虛擬機。
這樣一來,每個虛擬機都能獨立使用自己的虛擬CPU,內(nèi)存,硬盤,網(wǎng)卡,就像它們是物理實在的一樣。
“超級監(jiān)督者”實際上就充當?shù)氖俏锢碛布瓦壿嬞Y源之間溝通的橋梁,因此也被叫做“中間件”。
目前有兩種虛擬化實現(xiàn)方式,一種叫做“寄居式虛擬化”,另一種則叫做“裸金屬虛擬化”。
對“寄居式虛擬化”來說,物理硬件上是一層操作系統(tǒng),操作系統(tǒng)上再安裝虛擬化軟件Hypervisor,通過虛擬化軟件再劃分出多個虛擬機,各個虛擬機上再安裝各自獨立的操作系統(tǒng)之后,就可以部署應(yīng)用了。
可以看出,這種虛擬化方式存在兩層操作系統(tǒng),虛擬機的操作系統(tǒng)是寄居在物理機的操作系統(tǒng)之上,并由Hypervisor來在中間整合的,叫“寄居式虛擬化”實至名歸。
對于“裸金屬虛擬化”來說,物理硬件上不需要裝操作系統(tǒng),直接安裝Hypervisor來接管硬件并提供虛擬化功能。Hypervisor直接運行于裸機之上,叫“裸金屬虛擬化”也是非常直觀的。
一般來說,寄居式虛擬化雖然效率低一點,但是Hypervisor卻簡單,易于實現(xiàn)。因此,對于個人及小規(guī)模虛擬機應(yīng)用,使用寄居式虛擬化是比較方便快捷的。
裸金屬架構(gòu)的虛擬化不依賴于操作系統(tǒng),非常靈活,但是Hypervisor虛擬層的開發(fā)難度大,價格也就更為昂貴,多用于大型企業(yè)級應(yīng)用。
好了,本期的內(nèi)容就到這里,希望對大家有所幫助。
原文鏈接:https://mp.weixin.qq.com/s/OPC7TpItUAP9yA5ndfFV2Q