科技 新浪科技 雲計算底層技術之虛擬化技術

雲計算底層技術之虛擬化技術

原標題:雲計算底層技術之虛擬化技術

首先我們先了解一下什麼是虛擬化,虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一台物理伺服器上,運行多台「虛擬伺服器」。這種虛擬伺服器,也叫虛擬機(VM,Virtual Machine)。

bff5-ivrxcex2835755.jpg

從表面來看,這些虛擬機都是獨立的伺服器,但實際上,它們共享物理伺服器的CPU、內存、硬體、網卡等資源。物理機,通常稱為「宿主機(Host)」。虛擬機,則稱為「客戶機(Guest)」。

虛擬化使用軟體來模擬硬體並創建虛擬計算機系統。這樣一來,企業便可以在單台伺服器上運行多個虛擬系統,也就是運行多個操作系統和應用,而這可以實現規模經濟以及提高效益。

在雲計算上虛擬化技術能為我們解決很多以前解決不了的技術:

伺服器整合技術:這個技術在沒有虛擬化技術之前是很難完成的。因為什麼東西都是實際存在的,想把兩個工作相對較少的伺服器整合到一起是很困難的。然而當有了虛擬化技術以後使這種伺服器整合技術變得非常容易。

靈活的資源調派:通過虛擬化技術,我們可以動態調配資源給VM,並讓它在不同的實體主機之間做到不停機地移轉(VMotion),避免硬體因為計劃性的停機維護而不能提供服務。當虛擬機無法在實體機中取得足夠硬體資源的時候,我們還可以讓它自動去找尋閑置有足夠資源的實體機,並在線轉移過去,進行伺服器的資源負載平衡(DRS 功能)。經過虛擬化之後,原本困難費心的事情變得很輕鬆容易實現。

快速大量部署、降低維護工作:要快速產生一台或多台合乎標準的虛擬機是非常容易的,這省下了採購硬體的流程、安裝軟體時間、後續硬體維護等多道麻煩手續,非常快速與方便地用於開發、測試、維運等環境上面。

增加可用性與備份:使用虛擬快照技術是將虛擬機此時的狀態像照片一樣保存下來,當然我說的很容易,其實現原理需要非常複雜,包括cpu運行狀態,內存中的數據等等。這樣保存下這些虛擬技術當發生災難或者某些失誤導致虛擬機出問題時,可以很快恢復。

虛擬化技術最早是IBM公司在上世紀60年代末所提出的,當時 IBM 公司為實現多用戶對大型計算機同時交互訪問而開發的一套被稱之為虛擬機監視器(Virtual Machine Monitor 簡稱為 VMM)的軟體。在現在的虛擬化技術中,VMM 是運行在硬體伺服器和操作系統中間層的軟體,它方便同時有多個相同或不同的操作系統和應用共享底層硬體基礎設施。在雲計算中常提及的Hypervisor與 VMM 具有相同含義,其實質是一種資源配置的管理技術。

Hypervisor,漢譯過來是「超級監督者」,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟體,而是一類軟體的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。

像VMware、KVM、Xen、Virtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案,在雲計算領域目前用的虛擬機技術最多的也是KVM。