国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

如何享受虛擬化的部署之旅(之一) 探尋虛擬化技術(shù)的前世今身

2009-05-29 06:23:42Twist
微型計(jì)算機(jī) 2009年21期
關(guān)鍵詞:客戶機(jī)應(yīng)用程序內(nèi)存

Twist

隨著近年多核系統(tǒng)、集群、網(wǎng)格、甚至云計(jì)算的廣泛部署,虛擬化技術(shù)在商業(yè)應(yīng)用上的優(yōu)勢(shì)日益體現(xiàn),不僅降低了IT運(yùn)營(yíng)成本,而且還增強(qiáng)了系統(tǒng)安全性和可靠性,虛擬化的概念也逐漸深入到人們?nèi)粘5墓ぷ髋c生活中。那什么是虛擬化技術(shù)?它能為我們帶來(lái)了什么?

在iPhone手機(jī)上運(yùn)行Windows、Office,使用iPhone的多點(diǎn)觸摸功能放大,縮小Windows桌面,創(chuàng)建和修改Word、Excel和DPowerPoint,甚至連耗費(fèi)硬件資源極大的AutoCAD也可以在iPhone上修改。這些都不是“神話”,而是利用“桌面虛擬化”和“應(yīng)用程序虛擬化”技術(shù)在手機(jī)屏幕上顯示出運(yùn)行在數(shù)據(jù)中心上的操作系統(tǒng)和應(yīng)用軟件的鏡像,是最新虛擬化技術(shù)為移動(dòng)用戶帶來(lái)的全新體驗(yàn)。

在服務(wù)器層面,目前利用虛擬化技術(shù)已經(jīng)能做到1:10的整合,就是把一臺(tái)服務(wù)器虛擬成10臺(tái)虛擬客戶機(jī)。舉例來(lái)說(shuō),如果一個(gè)企業(yè)的數(shù)據(jù)中心過(guò)去需要1500臺(tái)服務(wù)器,那現(xiàn)在150臺(tái)就夠了,既符合環(huán)保,低碳概念,又能極大地降低企業(yè)的運(yùn)營(yíng)成本,在經(jīng)濟(jì)危機(jī)下尤其受到企業(yè)的重視和歡迎。虛擬化浪潮契合了IT發(fā)展的兩大趨勢(shì)——計(jì)算成本的不斷下降以及計(jì)算能力重新由分散走向集中。那到底什么是虛擬化技術(shù)呢?

虛擬化技術(shù)的定義

虛擬化簡(jiǎn)單地講是一種將系統(tǒng)硬件資源(包括CPU、內(nèi)存、硬盤(pán)等)按照客戶的要求分割為不同的虛擬空間,使得其中的每一個(gè)都相當(dāng)于一個(gè)完整的系統(tǒng)(對(duì)客戶機(jī)操作系統(tǒng)和用戶來(lái)說(shuō)),用戶可以在這些不同的獨(dú)立空間內(nèi)運(yùn)行各自的操作系統(tǒng)和應(yīng)用軟件,并且互不影響,而創(chuàng)建這些獨(dú)立空間的過(guò)程就被稱為虛擬化,也叫做平臺(tái)虛擬化。那我們不禁有這樣的疑問(wèn):如果是為了實(shí)現(xiàn)多用戶共享,增加更多的機(jī)器不是更簡(jiǎn)單,那為什么還要舍易求難?

虛擬技術(shù)發(fā)展的漫漫歷程

要回答這個(gè)問(wèn)題,就不得不從50年前講起。1959年,美國(guó)學(xué)者Christopher Stmchey首次在《大型高速計(jì)算機(jī)中的時(shí)間共享》一書(shū)中提出了虛擬化的概念。隨后,IBM以及其它公司以此開(kāi)發(fā)出了最初的虛擬化技術(shù)。但和Strachey的目的一樣,當(dāng)時(shí)他們更多的是關(guān)注計(jì)算機(jī)的性能。當(dāng)時(shí)大型機(jī)非常昂貴,為了讓更多用戶使用它,技術(shù)人員使用軟件對(duì)大型機(jī)硬件資源進(jìn)行分割,虛擬成多臺(tái)主機(jī),再安裝相互隔離的操作系統(tǒng),讓更多用戶使用。這就是虛擬化的雛形。

在隨后的10年里,微處理器技術(shù)得到了巨大的發(fā)展,IT技術(shù)也逐漸演變成了一種“通用”的計(jì)算模式。當(dāng)時(shí),絕大部分大型和小型計(jì)算機(jī)系統(tǒng)均被服務(wù)器所取代,因?yàn)樗咝?,成本更低,尤其是在部署新?yīng)用方面。只要某個(gè)部門(mén)需要部署一個(gè)新的應(yīng)用,就會(huì)要求新增一臺(tái)服務(wù)器,這樣做的直接后果就是服務(wù)器數(shù)量急劇增加。從1990年至今,大多數(shù)公司的服務(wù)器規(guī)模增加了10倍以上,用于維護(hù)大型數(shù)據(jù)中心的成本不斷攀升,蠶食了大量的資金,運(yùn)營(yíng)和管理資源,但是每臺(tái)服務(wù)器的資源利用率卻下降到15%左右。這種趨勢(shì)持續(xù)下去,企業(yè)將不堪重負(fù)。

為此,以適用為導(dǎo)向的計(jì)算模式開(kāi)始受到人們的重視,其中,虛擬化就是解決服務(wù)器集群臃腫最切實(shí)有效的辦法,不僅可以減少服務(wù)器的數(shù)量,而且可以大幅提高服務(wù)器的資源利用率。為此,在高端服務(wù)器領(lǐng)域,虛擬化技術(shù)獲得了長(zhǎng)足的發(fā)展,先后經(jīng)歷了部分虛擬化,操作系統(tǒng)虛擬化,完全虛擬化(超虛擬化)階段,以致最終發(fā)展成熟。最具標(biāo)志性的就是1999年2月8日VMware推出的“VMware VirtualPlatform”(VMware虛擬平臺(tái)),它的出現(xiàn)標(biāo)志著虛擬化技術(shù)“平民化”的開(kāi)始。

VMware全虛擬平臺(tái)

VMware虛擬平臺(tái)是在斯坦福大學(xué)的研究基礎(chǔ)上提出的一種完全虛擬化解決方案,利用虛擬化監(jiān)視器(VMM,也叫Hypervisor)軟件來(lái)實(shí)現(xiàn)PC的完全虛擬化。VMM或Hypersivor是一種運(yùn)行在服務(wù)器硬件和操作系統(tǒng)之間的軟件層,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享硬件。VMM可為每個(gè)客戶端操作系統(tǒng)提供一個(gè)完整的硬件界面,讓操作系統(tǒng)認(rèn)為其完全掌控所有資源,從而允許多個(gè)操作系統(tǒng)共享硬件。并且,VMM還能夠模擬與操作系統(tǒng)和應(yīng)用有關(guān)的所有物理服務(wù)器功能。

然而,在純軟件的虛擬化模式中,VMM必須控制各種關(guān)鍵平臺(tái)資源(特別是內(nèi)存),然后分配給每個(gè)客戶機(jī)操作系統(tǒng),以避免發(fā)生沖突。但是在傳統(tǒng)的x86架構(gòu)下,沖突卻不可避免。因?yàn)?,IA-32體系采用的是指令集架構(gòu)(ISA),它確定了四種操作系統(tǒng)和應(yīng)用可以運(yùn)行的“特權(quán)層級(jí)”(Ring0~Ring 3)。操作系統(tǒng)一般運(yùn)行在Ring 0上,它具有訪問(wèn)所有處理器和平臺(tái)資源的特別權(quán)限。應(yīng)用程序通常運(yùn)行在Ring 3上,被限制內(nèi)存映射等特定功能,以避免影響到其它應(yīng)用。通過(guò)這種配置,操作系統(tǒng)把持了所有控制權(quán),以確保整個(gè)系統(tǒng)的流暢運(yùn)行,但是這也造成了VMM與操作系統(tǒng)之間對(duì)資源控制權(quán)的爭(zhēng)奪。

在早期的虛擬化過(guò)程中,常規(guī)的解決方法是在Ring 0中運(yùn)行VMM,將客戶機(jī)操作系統(tǒng)的權(quán)限降至Ring1或Ring 3。但是,操作系統(tǒng)都是針對(duì)Ring 0設(shè)計(jì)的,虛擬機(jī)軟件必須要修改操作系統(tǒng)源代碼,在VMM運(yùn)行期間降低操作系統(tǒng)的權(quán)限。如此一來(lái)就需要操作系統(tǒng)開(kāi)發(fā)商、集成商等在內(nèi)的專業(yè)技術(shù)人員花費(fèi)大量的時(shí)間和人力對(duì)系統(tǒng)源代碼進(jìn)行再修改,這個(gè)工作的繁瑣就不多說(shuō)了。更重要的是這條路根本走不通,因?yàn)橹T如微軟等系統(tǒng)軟件商根本不想把源代碼拿出來(lái)。唯一可行的方法就只有在虛擬平臺(tái)和操作系統(tǒng)之間通過(guò)二進(jìn)制轉(zhuǎn)碼的方式,減少操作系統(tǒng)對(duì)特權(quán)狀態(tài)訪問(wèn)的操作,盡量減少產(chǎn)生不必要的硬件異常,由此出現(xiàn)了類似VMware這樣的全虛擬化技術(shù)。

在全虛擬化狀態(tài)下,虛擬機(jī)模擬了完整的底層硬件,包括處理器、物理內(nèi)存、時(shí)鐘、外設(shè)等,使得操作系統(tǒng)或其它系統(tǒng)軟件完全不做任何修改就可以在虛擬機(jī)中運(yùn)行。操作系統(tǒng)與真實(shí)硬件之間的交互可以看成是通過(guò)一個(gè)預(yù)先規(guī)定的硬件接口進(jìn)行的。全虛擬化VMM以完整模擬硬件的方式提供全部接口,同時(shí)還必須模擬特權(quán)指令的執(zhí)行過(guò)程。但是,如果硬件不提供虛擬化的特殊支持,那么這個(gè)模擬過(guò)程就會(huì)非常復(fù)雜。

舉例而言,在x86體系中,對(duì)于操作系統(tǒng)切換進(jìn)程頁(yè)表的操作,真實(shí)硬件通過(guò)提供一個(gè)特權(quán)CR3寄存器來(lái)實(shí)現(xiàn),操作系統(tǒng)只需執(zhí)行“mov pgtable,%%cr3”匯編指令即可。那交給VMM會(huì)發(fā)生什么情況呢?

當(dāng)客戶機(jī)操作系統(tǒng)執(zhí)行該指令時(shí),由于這條指令超出了它的控制權(quán)限,因此系統(tǒng)產(chǎn)生異常,執(zhí)行控制權(quán)轉(zhuǎn)到VMM手中。VMM首先分配一個(gè)變量給客戶機(jī)操作系統(tǒng),相當(dāng)于原來(lái)的CR3寄存器,然后將pgtable代表的客戶機(jī)物理地址填入這個(gè)“CR3寄存器”中,接下來(lái)

VMM還要將pgtable翻譯成主機(jī)物理地址并填入到真實(shí)的CR3寄存器中,最后返回操作系統(tǒng),操作系統(tǒng)才能執(zhí)行這條指令。因此,盡管全虛擬化可以在不修改操作系統(tǒng)源代碼的情況下穩(wěn)定運(yùn)行,但是就其平臺(tái)本身而言,不僅編程更加復(fù)雜,而且程序的執(zhí)行效率低下。這種狀況—直持續(xù)到2005年。

虛擬化的新階段——硬件輔助虛擬化技術(shù)

在2005年春季信息技術(shù)峰會(huì)上,Intel發(fā)布了IVT(Intel Virtualization Technology),從而拉開(kāi)了IA架構(gòu)虛擬化應(yīng)用的新時(shí)代大幕。支持虛擬化技術(shù)的處理器帶有特別優(yōu)化過(guò)的指令集來(lái)自動(dòng)控制虛擬化進(jìn)程,從而極大簡(jiǎn)化了VMM的設(shè)計(jì),使其性能得到大幅提升。其中,IA-32處理器的虛擬化技術(shù)稱為VT-x,安騰處理器的虛擬化技術(shù)稱為VT-i。

VT-x在原有的IA 4·Rings架構(gòu)之上提供了一個(gè)名為VMX Root的“新特權(quán)階層”,專門(mén)用來(lái)運(yùn)行VMM。與此對(duì)應(yīng),客戶機(jī)操作系統(tǒng)則運(yùn)行在VMX non-rootope ration(也就是原來(lái)的4-Ring架構(gòu)),這兩種操作模式之間可以切換。VMM通過(guò)調(diào)用“VMLAUNCH”或“VMRESUME”指令切換到VMX non-root operation模式,這時(shí)硬件自動(dòng)加載操作系統(tǒng),操作系統(tǒng)獲得運(yùn)行,這種轉(zhuǎn)換被稱為VM entry。操作系統(tǒng)運(yùn)行過(guò)程中遇到需要VMM處理的事件,就會(huì)主動(dòng)調(diào)用“VMCALL”指令硬件自動(dòng)掛起,退出操作系統(tǒng)切換到VMX root operation模式,恢復(fù)VMM的運(yùn)行,這種轉(zhuǎn)換稱為VM exit。這樣一來(lái)基本上解決了VMM與客戶機(jī)操作系統(tǒng)之間的沖突和轉(zhuǎn)換問(wèn)題。

除此之外,IVT還提供了一個(gè)名為虛擬機(jī)控制塊(VMCS)的緩存區(qū),分為客戶機(jī)狀態(tài)區(qū)(GuestState Area)、主機(jī)狀態(tài)區(qū)(Host StateArea)和執(zhí)行控制區(qū)。當(dāng)VM entry發(fā)生時(shí),硬件自動(dòng)從客戶機(jī)狀態(tài)區(qū)加載之前操作系統(tǒng)的哲存數(shù)據(jù)(這時(shí)不需要保存VMM的數(shù)據(jù)。因?yàn)樵赩MX root operation模式下,VMM被賦予了最高權(quán)限。一旦VMM開(kāi)始運(yùn)行,就不會(huì)受到任何干擾,只有在VMM徹底處理完畢后才可能切換到操作系統(tǒng),所以每次VMM運(yùn)行,必然是處理一個(gè)新事件);當(dāng)需要由操作系統(tǒng)切換到VMM時(shí)(VM exit),硬件自動(dòng)將操作系統(tǒng)的暫存數(shù)據(jù)保存到客戶機(jī)狀態(tài)區(qū),并從主機(jī)狀態(tài)區(qū)中加載VMM的通用事件處理函數(shù)的地址,VMM開(kāi)始執(zhí)行。而執(zhí)行控制區(qū)存放的則是可以操控VM entry和 exit的標(biāo)志位,例如標(biāo)記哪些事件可以導(dǎo)致從操作系統(tǒng)切換到VMM。而當(dāng)由VMM進(jìn)入操作系統(tǒng)時(shí),VMM會(huì)自動(dòng)給操作系統(tǒng)“塞”入中斷標(biāo)志,當(dāng)滿足條件時(shí),再切換回VMX root operation。這個(gè)緩存區(qū)的出現(xiàn),從根本上解決了VMM與客戶操作系統(tǒng)之間的信息控制和轉(zhuǎn)換問(wèn)題。至此,軟件虛擬化技術(shù)存在的兩個(gè)最大技術(shù)障礙在以IVT為首的硬件虛擬化技術(shù)出現(xiàn)后都已不復(fù)存在了,這為簡(jiǎn)化虛擬化的實(shí)施鋪平了道路。

可以說(shuō),硬件輔助虛擬化技術(shù)代表了虛擬化技術(shù)的未來(lái),但是,這并不意味著IVT已經(jīng)完美無(wú)缺了,實(shí)際上還有不少值得改進(jìn)的地方。首先,最需要解決的就是提高操作模式間的轉(zhuǎn)換速度問(wèn)題。由于兩種模式的轉(zhuǎn)換太過(guò)頻繁,如果不能有效提高轉(zhuǎn)換速度,即使充分利用硬件特性,虛擬機(jī)的整體性能也會(huì)大打折扣,以Pentium 4處理器為例,它通常需要花費(fèi)2409個(gè)時(shí)鐘周期處理VM entry,花費(fèi)508個(gè)時(shí)鐘周期處理VM exit,代價(jià)相當(dāng)高;而新的Core架構(gòu)響應(yīng)時(shí)間已經(jīng)減少到937和446個(gè)時(shí)鐘周期。其次是提高TLB(Translation Lookaside Buffer,翻譯后援緩沖器)的性能,因?yàn)槊看渭虞d都需要從它里面讀取數(shù)據(jù),它的性能決定了轉(zhuǎn)換的快慢。除此之外,提供內(nèi)存管理單元虛擬化的硬件支持以及支持高效的I/O虛擬化也是處理器級(jí)虛擬化技術(shù)升級(jí)亟需解決的問(wèn)題。

為此,Intel為IVT制定了一條明確的路線圖,從解決Ring 0指令沖突問(wèn)題的VT-x,到解決I/O設(shè)備虛擬化問(wèn)題的VT-d(在2008年的Stoakley平臺(tái)中已實(shí)現(xiàn)),以及解決內(nèi)存虛擬化問(wèn)題的VT-x Gen2(Nehalem處理器中包含此技術(shù))。AMD也推出了自己的虛擬化解決方案,稱為AMD-V(內(nèi)部研發(fā)代號(hào)為Pacifica)。盡管Intel-VT和AMD-V并不完全相同,但是基本思路和數(shù)據(jù)結(jié)構(gòu)卻是相似的。目前,AMD-V可以為CPU虛擬化和I/O設(shè)備虛擬化(10MMU)提供支持。

虛擬技術(shù)的應(yīng)用擴(kuò)展

在Intel-VT和AMD-V推出之后,虛擬化技術(shù)獲得了迅猛的發(fā)展,已經(jīng)從最初的平臺(tái)虛擬化向資源虛擬化和應(yīng)用程序虛擬化方向擴(kuò)展。所謂資源虛擬化,是指對(duì)特定的系統(tǒng)資源的虛擬化,比如CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)資源等。例如,可以將單CPU虛擬成多CPU,虛擬內(nèi)存技術(shù)可以使應(yīng)用程序認(rèn)為其自身?yè)碛羞B續(xù)可用的地址空間。而實(shí)際上,應(yīng)用程序的代碼和數(shù)據(jù)可能是被分隔成多個(gè)碎片頁(yè)或段,甚至被交換到磁盤(pán),閃存等外部存儲(chǔ)器上,即使物理內(nèi)存不足,應(yīng)用程序也能順利執(zhí)行。應(yīng)用程序的虛擬化最經(jīng)典的案例就是本文開(kāi)篇所提到的能夠運(yùn)行Windows和Office的iPhone手機(jī)。此外,云計(jì)算也是一個(gè)很典型的實(shí)例。

虛擬化的未來(lái)

目前,虛擬化技術(shù)已經(jīng)和云計(jì)算一起成為未來(lái)高端服務(wù)器平臺(tái)和數(shù)據(jù)中心必備的兩大技術(shù)。實(shí)際上,虛擬技術(shù)帶來(lái)的變革已隨處可見(jiàn)。云計(jì)算最重要的軟件架構(gòu)就是通過(guò)虛擬化技術(shù)來(lái)實(shí)現(xiàn)的。

另外,虛擬化技術(shù)所帶來(lái)的服務(wù)器數(shù)量減少和散熱成本的降低也是顯而易見(jiàn)的,同時(shí)還帶來(lái)了安全性和可靠性的提升。因?yàn)椋趹?yīng)用程序的虛擬化應(yīng)用中,客戶端擁有的只是一個(gè)鏡像,所有的數(shù)據(jù)都保存在數(shù)據(jù)中心里(服務(wù)器端),因此即使客戶端損壞或丟失,相關(guān)的數(shù)據(jù)也不會(huì)消失。不過(guò),虛擬化技術(shù)所帶來(lái)的更重要的革新是,當(dāng)所有的iPhone(智能手機(jī))都可以運(yùn)行Windows時(shí),也就意味著終端硬件的性能差別將不復(fù)存在,CIO們夢(mèng)想的“網(wǎng)絡(luò)就是計(jì)算機(jī)”就會(huì)成為現(xiàn)實(shí)。

MC點(diǎn)評(píng):“截至2008,不能充分利用虛擬化技術(shù)的企業(yè)將會(huì)多支出40%的采購(gòu)成本和20%左右的管理成本。”(摘自Gartner《服務(wù)器慮擬化的未來(lái)》)這句話能充分說(shuō)明了虛擬化為企業(yè)級(jí)用戶帶來(lái)的成本降低和效益提升。因此,當(dāng)我們發(fā)現(xiàn)虛擬化技術(shù)是如此多姿多彩的時(shí)候,對(duì)它的需求就更為迫切了。

猜你喜歡
客戶機(jī)應(yīng)用程序內(nèi)存
Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
刪除Win10中自帶的應(yīng)用程序
“春夏秋冬”的內(nèi)存
基于內(nèi)存的地理信息訪問(wèn)技術(shù)
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
瘦客戶機(jī):安全與便捷的選擇
三星電子將開(kāi)設(shè)應(yīng)用程序下載商店
基于Web數(shù)據(jù)提高訪問(wèn)速度的方法
微軟軟件商店開(kāi)始接受應(yīng)用程序
上網(wǎng)本為什么只有1GB?
涡阳县| 云霄县| 峨边| 普兰店市| 古交市| 喀什市| 通许县| 疏附县| 新安县| 凯里市| 故城县| 公安县| 普安县| 彰化市| 鸡东县| 济阳县| 香格里拉县| 微山县| 安陆市| 漳平市| 苏尼特左旗| 长沙市| 光泽县| 芦溪县| 乳山市| 广德县| 平乡县| 德庆县| 闸北区| 横山县| 桃源县| 江阴市| 渭源县| 江都市| 天峨县| 专栏| 隆昌县| 天水市| 盐山县| 平陆县| 霍州市|