首先我們先了解一下什么是虛擬化,虛擬化是云計算的基礎(chǔ)。簡單來說,虛擬化就是在一臺物理服務(wù)器上,運行多臺“虛擬服務(wù)器”。這種虛擬服務(wù)器,也叫虛擬機(VM,Virtual Machine)。
從表面來看,這些虛擬機都是獨立的服務(wù)器,但實際上,它們共享物理服務(wù)器的CPU、內(nèi)存、硬件、網(wǎng)卡等資源。物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。
虛擬化使用軟件來模擬硬件并創(chuàng)建虛擬計算機系統(tǒng)。這樣一來,企業(yè)便可以在單臺服務(wù)器上運行多個虛擬系統(tǒng),也就是運行多個操作系統(tǒng)和應用,而這可以實現(xiàn)規(guī)模經(jīng)濟以及提高效益。
在云計算上虛擬化技術(shù)能為我們解決很多以前解決不了的技術(shù):
服務(wù)器整合技術(shù):這個技術(shù)在沒有虛擬化技術(shù)之前是很難完成的。因為什么東西都是實際存在的,想把兩個工作相對較少的服務(wù)器整合到一起是很困難的。然而當有了虛擬化技術(shù)以后使這種服務(wù)器整合技術(shù)變得非常容易。
靈活的資源調(diào)派:通過虛擬化技術(shù),我們可以動態(tài)調(diào)配資源給VM,并讓它在不同的實體主機之間做到不停機地移轉(zhuǎn)(VMotion),避免硬件因為計劃性的停機維護而不能提供服務(wù)。當虛擬機無法在實體機中取得足夠硬件資源的時候,我們還可以讓它自動去找尋閑置有足夠資源的實體機,并在線轉(zhuǎn)移過去,進行服務(wù)器的資源負載平衡(DRS 功能)。經(jīng)過虛擬化之后,原本困難費心的事情變得很輕松容易實現(xiàn)。
快速大量部署、降低維護工作:要快速產(chǎn)生一臺或多臺合乎標準的虛擬機是非常容易的,這省下了采購硬件的流程、安裝軟件時間、后續(xù)硬件維護等多道麻煩手續(xù),非??焖倥c方便地用于開發(fā)、測試、維運等環(huán)境上面。
增加可用性與備份:使用虛擬快照技術(shù)是將虛擬機此時的狀態(tài)像照片一樣保存下來,當然我說的很容易,其實現(xiàn)原理需要非常復雜,包括cpu運行狀態(tài),內(nèi)存中的數(shù)據(jù)等等。這樣保存下這些虛擬技術(shù)當發(fā)生災難或者某些失誤導致虛擬機出問題時,可以很快恢復。
虛擬化技術(shù)最早是IBM公司在上世紀60年代末所提出的,當時 IBM 公司為實現(xiàn)多用戶對大型計算機同時交互訪問而開發(fā)的一套被稱之為虛擬機監(jiān)視器(Virtual Machine Monitor 簡稱為 VMM)的軟件。在現(xiàn)在的虛擬化技術(shù)中,VMM 是運行在硬件服務(wù)器和操作系統(tǒng)中間層的軟件,它方便同時有多個相同或不同的操作系統(tǒng)和應用共享底層硬件基礎(chǔ)設(shè)施。在云計算中常提及的Hypervisor與 VMM 具有相同含義,其實質(zhì)是一種資源配置的管理技術(shù)。
Hypervisor,漢譯過來是“超級監(jiān)督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監(jiān)視器)。它不是一款具體的軟件,而是一類軟件的統(tǒng)稱。
Hypervisor分為兩大類:
第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(tǒng)(例如Linux或Windows),然后在正常操作系統(tǒng)上安裝hypervisor,生成和管理虛擬機。
像VMware、KVM、Xen、Virtual Box,都屬于Hypervisor。
VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統(tǒng)下安裝WMware,然后創(chuàng)建Linux虛擬機。
但是,真正厲害的,是 KVM(kernel-based virtual machine,基于Linux內(nèi)核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案,在云計算領(lǐng)域目前用的虛擬機技術(shù)最多的也是KVM。