虛擬化:虛擬化的前世今生
服務(wù)器虛擬化,是一個(gè)非常抽象化的概念,這源于其字面意義的難以理解。在著(zhù)名的虛擬化軟件供應商VMware看來(lái),“虛擬化是一個(gè)抽象層,它使物理硬件與操作系統彼此分離,有助于提高 IT 資源的利用率和靈活性。”這是迄今為止對于虛擬化這一技術(shù)而言難得的精要概括與闡釋。
本文引用地址:http://dyxdggzs.com/article/88183.htm但是問(wèn)題接踵而至:為什么要虛擬化?這是伴隨著(zhù)計算機技術(shù)的飛速進(jìn)步而必然出現的結果。早在誕生初期,英特爾公司的創(chuàng )始人之一摩爾先生總結出了著(zhù)名的“摩爾定律”,幾十年過(guò)去,這一定律依舊有效并帶動(dòng)著(zhù)IT技術(shù)的進(jìn)步乃至文明的前進(jìn)。在今天,以高性能的英特爾安騰、至強處理器為代表,讓服務(wù)器的性能帶到了一個(gè)全新的高度。但對于各類(lèi)用戶(hù)而言,這同時(shí)衍生出來(lái)一個(gè)問(wèn)題,那就是單一服務(wù)器執行單獨的任務(wù),導致服務(wù)器使用量驟增,開(kāi)支增加,而服務(wù)器的計算能力資源卻遭到了大量的浪費。
前世
最早意識到這一問(wèn)題的,是在基于精簡(jiǎn)指令集的大型RISC處理器上。從這個(gè)意義上說(shuō),服務(wù)器虛擬化并不是一門(mén)很新鮮的技術(shù),從誕生至今,已有四十多年的歷史。虛擬化技術(shù)的最初來(lái)源卻不在 x86 架構上,而是大型主機。最早使用虛擬化技術(shù)的是 IBM 7044 計算機,IBM 之后在上世紀 60 年代還開(kāi)發(fā)了型號為 Model 67 的 System/360 主機。Model 67 主機通過(guò)虛擬機監視器(Virtual Machine Monitor)虛擬所有的硬件接口。在早期的計算中, 操作系統被稱(chēng)做 Supervisor,能夠運行在其它操作系統之上的操作系統被稱(chēng)做 hypervisor。其中,VMM 直接運行在底層硬件上, 允許執行多個(gè)虛擬機(VM),每一個(gè) VM 運行自己的會(huì )話(huà)式監控系統[Ning1] (CMS,Conversational Monitor System)?;萜?、Sun 公司也跟隨 IBM 在自己的 RISC 服務(wù)器上提供了虛擬化技術(shù),但由于真正使用大型機和小型機的用戶(hù)還是少數,加上各家產(chǎn)品和技術(shù)之間并不兼容,虛擬化技術(shù)仍舊不太被公眾所關(guān)注。目前,主要的 UNIX 廠(chǎng)商均支持 64 路 SMP 的虛擬。并且普遍能實(shí)現 1/X 量級 CPU 的微調。
今生
今天,虛擬化技術(shù)的發(fā)展已經(jīng)蔓延到了 x86 架構。此前,虛擬化技術(shù)在 x86 架構上進(jìn)展緩慢的主要原因有兩個(gè):首先是x86 架構本身不適合進(jìn)行虛擬化,這個(gè)障礙已經(jīng)由英特爾等公司修改 x86 處理器的指令集得到解決;其次是 x86 處理器的性能不足,而對于今天的高頻多核服務(wù)器用處理器,性能以及今非昔比。由于 x86 架構的廣泛普及,x86 架構上的虛擬化技術(shù)也得到了比以前多得多的關(guān)注。
英特爾的加入
作為全球處理器及芯片制造的領(lǐng)導企業(yè),英特爾公司早在2005年,就意識到虛擬化技術(shù)在x86架構服務(wù)器上的廣闊應用前景。作為硬件廠(chǎng)商,英特爾首先看到了純軟件虛擬化的不足。傳統純軟件虛擬化技術(shù)的主要問(wèn)題是性能和隔離性之間存在矛盾。FullVirtualization完全虛擬化技術(shù)可以提供較好的客戶(hù)操作系統獨立性,但其性能不高,在不同的應用下,可以消耗掉主機10%~30%的資源。而OSVirtualization可以提供良好的性能,但各個(gè)客戶(hù)操作系統之間的獨立性不強。無(wú)論是何種軟件方法,隔離性都是由Hypervisor軟件提供的,過(guò)多的隔離必然會(huì )導致性能的下降。為此,英特爾特意開(kāi)發(fā)出了基于硬件的英特爾虛擬化技術(shù)——IntelVT。
關(guān)于IntelVT技術(shù),我們會(huì )在以后提到。但是正是英特爾的介入,方便了虛擬化軟件廠(chǎng)商的軟件編寫(xiě),也促成了今天虛擬化技術(shù)空前繁榮的局面。
評論