作用
虛擬化是一個(gè)廣義的術(shù)語,是指計(jì)算元件在虛擬的基礎(chǔ)上而不是真實(shí)的基礎(chǔ)上運(yùn)行,是一個(gè)為了簡(jiǎn)化管理,優(yōu)化資源的解決方案。如同空曠、通透的寫字樓,整個(gè)樓層沒有固定的墻壁,用戶可以用同樣的成本構(gòu)建出更加自主適用的辦公空間,進(jìn)而節(jié)省成本,發(fā)揮空間最大利用率。這種把有限的固定的資源根據(jù)不同需求進(jìn)行重新規(guī)劃以達(dá)到最大利用率的思路,在IT領(lǐng)域就叫做虛擬化技術(shù)。
虛擬化技術(shù)可以擴(kuò)大硬件的容量,簡(jiǎn)化軟件的重新配置過程。CPU的虛擬化技術(shù)可以單CPU模擬多CPU并行,允許一個(gè)平臺(tái)同時(shí)運(yùn)行多個(gè)操作系統(tǒng),并且應(yīng)用程序都可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計(jì)算機(jī)的工作效率。
虛擬化技術(shù)與多任務(wù)以及超線程技術(shù)是完全不同的。多任務(wù)是指在一個(gè)操作系統(tǒng)中多個(gè)程序同時(shí)并行運(yùn)行,而在虛擬化技術(shù)中,則可以同時(shí)運(yùn)行多個(gè)操作系統(tǒng),而且每一個(gè)操作系統(tǒng)中都有多個(gè)程序運(yùn)行,每一個(gè)操作系統(tǒng)都運(yùn)行在一個(gè)虛擬的CPU或者是虛擬主機(jī)上;而超線程技術(shù)只是單CPU模擬雙CPU來平衡程序運(yùn)行性能,這兩個(gè)模擬出來的CPU是不能分離的,只能協(xié)同工作。
虛擬化技術(shù)也與VMware Workstation等同樣能達(dá)到虛擬效果的軟件不同,是一個(gè)巨大的技術(shù)進(jìn)步,具體表現(xiàn)在減少軟件虛擬機(jī)相關(guān)開銷和支持更廣泛的操作系統(tǒng)方面。
虛擬化技術(shù)有很多定義,下面就給出了一些這樣的定義。
“虛擬化是以某種用戶和應(yīng)用程序都可以很容易從中獲益的方式來表示計(jì)算機(jī)資源的過程,而不是根據(jù)這些資源的實(shí)現(xiàn)、地理位置或物理包裝的專有方式來表示它們。換句話說,它為數(shù)據(jù)、計(jì)算能力、存儲(chǔ)資源以及其他資源提供了一個(gè)邏輯視圖,而不是物理視圖。” —— Jonathan Eunice, Illuminata Inc。
“虛擬化是表示計(jì)算機(jī)資源的邏輯組(或子集)的過程,這樣就可以用從原始配置中獲益的方式訪問它們。這種資源的新虛擬視圖并不受實(shí)現(xiàn)、地理位置或底層資源的物理配置的限制。” —— Wikipedia
“虛擬化:對(duì)一組類似資源提供一個(gè)通用的抽象接口集,從而隱藏屬性和操作之間的差異,并允許通過一種通用的方式來查看并維護(hù)資源。” —— Open Grid Services Architecture Glossary of Terms。
目的
虛擬化的主要目的是對(duì)IT基礎(chǔ)設(shè)施進(jìn)行簡(jiǎn)化。它可以簡(jiǎn)化對(duì)資源以及對(duì)資源管理的訪問。
消費(fèi)者可以是一名最終用戶、應(yīng)用程序、訪問資源或與資源進(jìn)行交互的服務(wù)。資源是一個(gè)提供一定功能的實(shí)現(xiàn),它可以基于標(biāo)準(zhǔn)的接口接受輸入和提供輸出。資源可以是硬件,例如服務(wù)器、磁盤、網(wǎng)絡(luò)、儀器;也可以是軟件,例如Web 服務(wù)。
虛擬化支持的操作系統(tǒng)有:Windows和Linux各種系統(tǒng)。[1]
消費(fèi)者通過受虛擬資源支持的標(biāo)準(zhǔn)接口對(duì)資源進(jìn)行訪問。使用標(biāo)準(zhǔn)接口,可以在IT基礎(chǔ)設(shè)施發(fā)生變化時(shí)將對(duì)消費(fèi)者的破壞降到最低。例如,最終用戶可以重用這些技巧,因?yàn)樗麄兣c虛擬資源進(jìn)行交互的方式并沒有發(fā)生變化,即使底層物理資源或?qū)崿F(xiàn)已經(jīng)發(fā)生了變化,他們也不會(huì)受到影響。另外,應(yīng)用程序也不需要進(jìn)行升級(jí)或應(yīng)用補(bǔ)丁,因?yàn)闃?biāo)準(zhǔn)接口并沒有發(fā)生變化。
IT 基礎(chǔ)設(shè)施的總體管理也可以得到簡(jiǎn)化,因?yàn)樘摂M化降低了消費(fèi)者與資源之間的耦合程度。因此,消費(fèi)者并不依賴于資源的特定實(shí)現(xiàn)。利用這種松耦合關(guān)系,管理員可以在保證管理工作對(duì)消費(fèi)者產(chǎn)生最少影響的基礎(chǔ)上實(shí)現(xiàn)對(duì) IT 基礎(chǔ)設(shè)施的管理。管理操作可以手工完成,也可以半自動(dòng)地完成,或者通過服務(wù)級(jí)協(xié)定(SLA)驅(qū)動(dòng)來自動(dòng)完成。
在這個(gè)基礎(chǔ)上,網(wǎng)格計(jì)算可以廣泛地利用虛擬化技術(shù)。網(wǎng)格計(jì)算可以對(duì) IT 基礎(chǔ)設(shè)施進(jìn)行虛擬化。它處理 IT 基礎(chǔ)設(shè)施的共享和管理,動(dòng)態(tài)提供符合用戶和應(yīng)用程序需求的資源,同時(shí)還將提供對(duì)基礎(chǔ)設(shè)施的簡(jiǎn)化訪問。
軟件簡(jiǎn)介
似乎與所有顛覆性技術(shù)一樣,服務(wù)器虛擬化技術(shù)先是悄然出現(xiàn),然后突然迸發(fā),最終因?yàn)楣?jié)省能源的合并計(jì)劃而得到了認(rèn)可。如今,許多公司使用虛擬技術(shù)來提高硬件資源的利用率,進(jìn)行災(zāi)難恢復(fù)、提高辦公自動(dòng)化水平。本組文章分別從服務(wù)器、存儲(chǔ)、應(yīng)用程序和桌面虛擬化技術(shù)三個(gè)角度介紹了如何消除物理硬件的限制。
有了虛擬化技術(shù),用戶可以動(dòng)態(tài)啟用虛擬服務(wù)器(又叫虛擬機(jī)),每個(gè)服務(wù)器實(shí)際上可以讓操作系統(tǒng)(以及在上面運(yùn)行的任何應(yīng)用程序)誤以為虛擬機(jī)就是實(shí)際硬件。運(yùn)行多個(gè)虛擬機(jī)還可以充分發(fā)揮物理服務(wù)器的計(jì)算潛能,迅速應(yīng)對(duì)數(shù)據(jù)中心不斷變化的需求。
虛擬化概念并不是新概念。早在20世紀(jì)70年代,大型計(jì)算機(jī)就一直在同時(shí)運(yùn)行多個(gè)操作系統(tǒng)實(shí)例,每個(gè)實(shí)例也彼此獨(dú)立。不過直到當(dāng)今,軟硬件方面的進(jìn)步才使得虛擬化技術(shù)有可能出現(xiàn)在基于行業(yè)標(biāo)準(zhǔn)的大眾化x86服務(wù)器上。
實(shí)際上,如今數(shù)據(jù)中心管理人員面臨的虛擬化解決方案種類繁多,有些是專有方案,而有些是開源方案??偟膩碚f,各自都基于以下三種基本技術(shù)當(dāng)中的一種,但哪種技術(shù)效果最好,這取決于要進(jìn)行虛擬化處理的具體工作負(fù)荷以及優(yōu)先業(yè)務(wù)目標(biāo)。
完全虛擬
最流行的虛擬化方法使用名為hypervisor的一種軟件,在虛擬服務(wù)器和底層硬件之間建立一個(gè)抽象層。VMware和微軟的VirtualPC是代表該方法的兩個(gè)商用產(chǎn)品,而基于核心的虛擬機(jī)(KVM)是面向Linux系統(tǒng)的開源產(chǎn)品。
hypervisor可以捕獲CPU指令,為指令訪問硬件控制器和外設(shè)充當(dāng)中介。因而,完全虛擬化技術(shù)幾乎能讓任何一款操作系統(tǒng)不用改動(dòng)就能安裝到虛擬服務(wù)器上,而它們不知道自己運(yùn)行在虛擬化環(huán)境下。主要缺點(diǎn)是,hypervisor給處理器帶來開銷。
在完全虛擬化的環(huán)境下,hypervisor運(yùn)行在裸硬件上,充當(dāng)主機(jī)操作系統(tǒng);而由hypervisor管理的虛擬服務(wù)器運(yùn)行客戶端操作系統(tǒng)(guest OS)。
IBM也有自已的虛擬化產(chǎn)品,Z/VM。
準(zhǔn)虛擬
完全虛擬化是處理器密集型技術(shù),因?yàn)樗骽ypervisor管理各個(gè)虛擬服務(wù)器,并讓它們彼此獨(dú)立。減輕這種負(fù)擔(dān)的一種方法就是,改動(dòng)客戶操作系統(tǒng),讓它以為自己運(yùn)行在虛擬環(huán)境下,能夠與hypervisor協(xié)同工作。這種方法就叫準(zhǔn)虛擬化(para-virtualization)。
Xen是開源準(zhǔn)虛擬化技術(shù)的一個(gè)例子。操作系統(tǒng)作為虛擬服務(wù)器在Xen hypervisor上運(yùn)行之前,它必須在核心層面進(jìn)行某些改變。因此,Xen適用于BSD、Linux、Solaris及其他開源操作系統(tǒng),但不適合對(duì)像Windows這些專有的操作系統(tǒng)進(jìn)行虛擬化處理,因?yàn)樗鼈儫o法改動(dòng)。
準(zhǔn)虛擬化技術(shù)的優(yōu)點(diǎn)是性能高。經(jīng)過準(zhǔn)虛擬化處理的服務(wù)器可與hypervisor協(xié)同工作,其響應(yīng)能力幾乎不亞于未經(jīng)過虛擬化處理的服務(wù)器。準(zhǔn)虛擬化與完全虛擬化相比優(yōu)點(diǎn)明顯,以至于微軟和VMware都在開發(fā)這項(xiàng)技術(shù),以完善各自的產(chǎn)品。
系統(tǒng)虛擬
實(shí)現(xiàn)虛擬化還有一個(gè)方法,那就是在操作系統(tǒng)層面增添虛擬服務(wù)器功能。Solaris Container就是這方面的一個(gè)例子,Virtuozzo/OpenVZ是面向Linux的軟件方案。
就操作系統(tǒng)層的虛擬化而言,沒有獨(dú)立的hypervisor層。相反,主機(jī)操作系統(tǒng)本身就負(fù)責(zé)在多個(gè)虛擬服務(wù)器之間分配硬件資源,并且讓這些服務(wù)器彼此獨(dú)立。一個(gè)明顯的區(qū)別是,如果使用操作系統(tǒng)層虛擬化,所有虛擬服務(wù)器必須運(yùn)行同一操作系統(tǒng)(不過每個(gè)實(shí)例有各自的應(yīng)用程序和用戶賬戶)。
雖然操作系統(tǒng)層虛擬化的靈活性比較差,但本機(jī)速度性能比較高。此外,由于架構(gòu)在所有虛擬服務(wù)器上使用單一、標(biāo)準(zhǔn)的操作系統(tǒng),管理起來比異構(gòu)環(huán)境要容易。
桌面虛擬
服務(wù)器虛擬化主要針對(duì)服務(wù)器而言,而虛擬化最接近用戶的還是要算的上桌面虛擬化了,桌面虛擬化主要功能是將分散的桌面環(huán)境集中保存并管理起來,包括桌面環(huán)境的集中下發(fā),集中更新,集中管理。桌面虛擬化使得桌面管理變得簡(jiǎn)單,不用每臺(tái)終端單獨(dú)進(jìn)行維護(hù),每臺(tái)終端進(jìn)行更新。終端數(shù)據(jù)可以集中存儲(chǔ)在中心機(jī)房里,安全性相對(duì)傳統(tǒng)桌面應(yīng)用要高很多。桌面虛擬化可以使得一個(gè)人擁有多個(gè)桌面環(huán)境,也可以把一個(gè)桌面環(huán)境供多人使用,節(jié)省了license。另外,桌面虛擬化依托于服務(wù)器虛擬化。沒有服務(wù)器虛擬化,這個(gè)桌面虛擬化的優(yōu)勢(shì)將完全沒有了。不僅如此,還浪費(fèi)了許多管理資本。
硬件助力軟件
不像大型機(jī),PC的硬件在設(shè)計(jì)時(shí)并沒有考慮到虛擬化,而就在不久前,它還是完全由軟件來承擔(dān)這項(xiàng)重任。隨著AMD和英特爾推出了最新一代的x86處理器,頭一回在CPU層面添加了支持虛擬化的功能。
遺憾的是,這兩家公司的技術(shù)各自獨(dú)立開發(fā),這意味著它們的代碼不相兼容。不過,硬件虛擬化支持功能讓hypervisor從極其繁重的管理事務(wù)中脫離出來。這除了提高性能外,還有操作系統(tǒng)不用改動(dòng)就能在準(zhǔn)虛擬化環(huán)境下運(yùn)行,包括Windows環(huán)境。
CPU層虛擬化技術(shù)不會(huì)自動(dòng)發(fā)揮作用。為了專門支持它,必須開發(fā)虛擬化軟件。不過,因?yàn)檫@種技術(shù)的優(yōu)點(diǎn)非常誘人,預(yù)計(jì)各種類型的虛擬化軟件會(huì)源源不斷地開發(fā)出來。
廠商
隨著虛擬化應(yīng)用變得越來越熱門熱門,簡(jiǎn)單分析幾大虛擬化廠商之間的優(yōu)缺點(diǎn)
Citrix公司:Citrix公司是近兩年增長(zhǎng)非常快的一家公司,他得益于云計(jì)算的興起,Citrix公司主要有三大產(chǎn)品,服務(wù)器虛擬化XenServer,優(yōu)點(diǎn)是便宜,管理一般;應(yīng)用虛擬化XenAPP,桌面虛擬化Xendesktop。后兩者是目前為止最成熟的桌面虛擬化與應(yīng)用虛擬化廠家。企業(yè)級(jí)VDI解決方案中不少都是使用Citrix公司的Xendesktop與Xenapp的結(jié)合使用。
IBM:在2007年11月的IBM虛擬科技大會(huì)上,IBM就提出了“新一代虛擬化”的概念。只是時(shí)之今日,成功的案例全并不多見,像陜西榆林地區(qū)的中國神華分公司的失敗案例到是不少。不過筆者認(rèn)為IBM虛擬化還是具備以下兩點(diǎn)優(yōu)勢(shì):第一,IBM豐富的產(chǎn)品線;對(duì)自有品牌良好的兼容性,第二,強(qiáng)大的研發(fā)實(shí)力,可以提供較全面的咨詢方案,只是成本過高,不是每一個(gè)客戶都這么富有的。加上其對(duì)第三方支持兼容較差,運(yùn)維操作也比較復(fù)雜,對(duì)于企業(yè)來說是把雙刃劍。并且IBM所謂的虛擬化只是服務(wù)器虛擬化,而非真正的虛擬化。
VMware:做為業(yè)內(nèi)虛擬化領(lǐng)先的廠商VMware公司,一直以其易用性和管理性得到了大家的認(rèn)同。只是受其架構(gòu)的影響限制,VMware還主要是在X86平臺(tái)服務(wù)器上有較大優(yōu)勢(shì),而非真正的IT信息虛擬化。加上,其本身只是軟件方案解決商,而非像IBM與微軟這樣擁用各自己陣地用戶基礎(chǔ)的廠商。所以當(dāng)前,對(duì)于VMware公司來說將面臨著多方面的挑戰(zhàn),這其中包括微軟、XenSource(被Citrix購得)以及Parallels、IBM公司。所以,未來對(duì)于VMware公司來說這條道虛擬化之道能否繼續(xù)順風(fēng)順?biāo)氯ミ€真不好說。
微軟:2008年,隨著微軟Virtualization的正式推出,微軟已經(jīng)擁有了從桌面虛擬化、服務(wù)器虛擬化到應(yīng)用虛擬化、展現(xiàn)層虛擬化的完備的產(chǎn)品線。至此,其全面出擊的虛擬化戰(zhàn)略已經(jīng)完全浮出水面。因?yàn)椋谖④浹壑刑摂M化絕非簡(jiǎn)單的加固服務(wù)器和降低數(shù)據(jù)中心的成本。他還意味著幫助更多的IT部門最大化ROI,并在整個(gè)企業(yè)范圍內(nèi)降低成本,同時(shí)強(qiáng)化業(yè)務(wù)持續(xù)性。這也是微軟為什么研發(fā)了一系列的產(chǎn)品,用以支持整個(gè)物理和虛擬基礎(chǔ)架構(gòu)。
并且,近兩年隨著虛擬化技術(shù)的快速發(fā)展,虛擬化技術(shù)已經(jīng)走出了局域網(wǎng),從而延伸到了整個(gè)廣域網(wǎng)。幾大廠商的代理商業(yè)越來越重視客戶對(duì)虛擬化解決方案需求的分析,因此也不局限于僅與一家廠商代理虛擬化產(chǎn)品。
評(píng)價(jià)
每種虛擬化方法都有各自的優(yōu)點(diǎn),選擇哪個(gè)則取決于用戶的具體情況。一組服務(wù)器基于同一操作系統(tǒng),這非常適用于通過操作系統(tǒng)層實(shí)現(xiàn)合并。
準(zhǔn)虛擬化技術(shù)集兩者之所長(zhǎng),如果與支持虛擬化技術(shù)的處理器一起部署,優(yōu)點(diǎn)更為明顯。它不但提供了良好性能,還提供了可運(yùn)行多種異構(gòu)客戶端操作系統(tǒng)的功能。
在三種方法中完全虛擬化性能受到的影響最大,但提供了這個(gè)優(yōu)點(diǎn):既能讓客戶端操作系統(tǒng)彼此完全隔離,還能讓它們與主機(jī)操作系統(tǒng)完全隔離。它非常適用于軟件質(zhì)量保證及測(cè)試,另外還支持種類最廣泛的客戶端操作系統(tǒng)。
完全虛擬化解決方案提供了其他獨(dú)特功能。譬如說,它們可以對(duì)虛擬服務(wù)器拍“快照(snapshot)”,保留狀態(tài)、有助于災(zāi)難恢復(fù)。這種虛擬服務(wù)器映像可以用來迅速配置新的服務(wù)器實(shí)例。越來越多的軟件公司甚至開始提供評(píng)測(cè)版產(chǎn)品,作為可下載、預(yù)包裝的虛擬服務(wù)器映像。
就跟物理服務(wù)器一樣,虛擬服務(wù)器需要不斷得到支持和維護(hù)。越來越流行的服務(wù)器虛擬化已為第三方工具造就了興旺的市場(chǎng),無論是物理環(huán)境到虛擬環(huán)境的遷移實(shí)用程序,還是面向虛擬化技術(shù)的各大系統(tǒng)管理控制臺(tái),它們都旨在簡(jiǎn)化從傳統(tǒng)IT環(huán)境遷移到高效、具有成本效益的虛擬環(huán)境的過程。
維護(hù)
對(duì)于任何虛擬化環(huán)境來說,一個(gè)非常重要的方面是減少動(dòng)態(tài)的和復(fù)雜的 IT 基礎(chǔ)設(shè)施的管理和維護(hù)需求。另外,通過軟件和工具實(shí)現(xiàn)的模式和技術(shù)都支持這些管理任務(wù)。這些模式和技術(shù)的組合可以實(shí)現(xiàn)以下功能:
為 IT 基礎(chǔ)設(shè)施中所有資源的管理訪問提供單一且安全的接口,允許管理員對(duì)所有資源進(jìn)行診斷 ,對(duì)所有資源進(jìn)行配置和修改管理 ,發(fā)現(xiàn)并維護(hù)可用資源目錄, 監(jiān)視資源并記錄它們平時(shí)的健康狀況, 當(dāng)某個(gè)條件達(dá)到已建立的上限值時(shí),觸發(fā)器就會(huì)執(zhí)行相應(yīng)操作;此時(shí)執(zhí)行的操作可能包括通知管理員手工作出響應(yīng),也可能會(huì)根據(jù)正確的條件自動(dòng)進(jìn)行響應(yīng) 根據(jù)資源的使用情況、可用性和服務(wù)級(jí)別要求提供資源或收回資源;資源的提供可以手工、半自動(dòng)或根據(jù)建立好的策略自動(dòng)完成 獲得并維護(hù)資源的使用和檢測(cè)信息,并提供適當(dāng)?shù)膱?bào)告,例如對(duì)資源消耗進(jìn)行記錄 提供補(bǔ)充最終用戶或應(yīng)用程序安全性的安全機(jī)制 ,為滿足最終用戶和應(yīng)用程序 SLA 而記錄所有資源的性能信息
模式簡(jiǎn)介
虛擬化可以通過很多方法來證實(shí)。它不是一個(gè)單獨(dú)的實(shí)體,而是一組模式和技術(shù)的集合,這些技術(shù)提供了支持資源的邏輯表示所需的功能,以及通過標(biāo)準(zhǔn)接口將其呈現(xiàn)給這些資源的消費(fèi)者所需的功能。這些模式本身都是前面介紹過的各種不同虛擬形式的重復(fù)出現(xiàn)。
下面是在實(shí)現(xiàn)虛擬化時(shí)常常使用的一些模式和技術(shù):
單一資源多個(gè)邏輯表示
這種模式是虛擬化最廣泛使用的模式之一。它只包含一個(gè)物理資源,但是它向消費(fèi)者呈現(xiàn)的邏輯表示卻仿佛它包含多個(gè)資源一樣。消費(fèi)者與這個(gè)虛擬資源進(jìn)行交互時(shí)就仿佛自己是唯一的消費(fèi)者一樣,而不會(huì)考慮他正在與其他消費(fèi)者一起共享資源。
多個(gè)資源單一邏輯表示
這種模式包含了多個(gè)組合資源,以便將這些資源表示為提供單一接口的單個(gè)邏輯表示形式。在利用多個(gè)功能不太強(qiáng)大的資源來創(chuàng)建功能強(qiáng)大且豐富的虛擬資源時(shí),這是一種非常有用的模式。存儲(chǔ)虛擬化就是這種模式的一個(gè)例子。在服務(wù)器方面,集群技術(shù)可以提供這樣的幻想:消費(fèi)者只與一個(gè)系統(tǒng)(頭節(jié)點(diǎn))進(jìn)行交互,而集群事實(shí)上可以包含很多的處理器或節(jié)點(diǎn)。實(shí)際上,這就是從 IT 技術(shù)設(shè)施的角度看到的網(wǎng)格可以實(shí)現(xiàn)的功能。
在多個(gè)資源之間提供單一邏輯表示
這種模式包括一個(gè)以多個(gè)可用資源之一的形式表示的虛擬資源。虛擬資源會(huì)根據(jù)指定的條件來選擇一個(gè)物理資源實(shí)現(xiàn),例如資源的利用、響應(yīng)時(shí)間或臨近程度。盡管這種模式與上一種模式非常類似,但是它們之間有一些細(xì)微的差別。首先,每個(gè)物理資源都是一個(gè)完整的副本,它們不會(huì)在邏輯表示層上聚集在一起。其次,每個(gè)物理資源都可以提供邏輯表示所需要的所有功能,而不是像前一種模式那樣只能提供部分功能。這種模式的一個(gè)常見例子是使用應(yīng)用程序容器來均衡任務(wù)負(fù)載。在將請(qǐng)求或事務(wù)提交給應(yīng)用程序或服務(wù)時(shí),消費(fèi)者并不關(guān)心到底是幾個(gè)容器中執(zhí)行的哪一個(gè)應(yīng)用程序的副本為請(qǐng)求或事務(wù)提供服務(wù)。消費(fèi)者只是希望請(qǐng)求或事務(wù)得到處理。
單個(gè)資源單一邏輯表示
這是用來表示單個(gè)資源的一種簡(jiǎn)單模式,就仿佛它是別的什么資源一樣。啟用 Web 的企業(yè)后臺(tái)應(yīng)用程序就是一個(gè)常見的例子。在這種情況下,我們不是修改后臺(tái)的應(yīng)用程序,而是創(chuàng)建一個(gè)前端來表示 Web 界面,它會(huì)映射到應(yīng)用程序接口中。這種模式允許通過對(duì)后臺(tái)應(yīng)用程序進(jìn)行最少的修改(或根本不加任何修改)來重用一些基本的功能。也可以根據(jù)無法修改的組件,使用相同的模式構(gòu)建服務(wù)。
復(fù)合或分層虛擬
這種模式是剛才介紹的一種或多種模式的組合,它使用物理資源來提供豐富的功能集。信息虛擬化是這種模式一個(gè)很好的例子。它提供了底層所需要的功能,這些功能用于管理對(duì)資源、包含有關(guān)如何處理和使用信息的元數(shù)據(jù)以及對(duì)信息進(jìn)行處理的操作的全局命名和引用。例如 Open Grid Services Architecture(OGSA)或者 Grid Computing Components,實(shí)際上都是虛擬化的組合或虛擬化的不同層次。
評(píng)估
1、使用習(xí)慣、感受:企業(yè)大量的分散的PC采用集中式運(yùn)算結(jié)合虛擬化技術(shù)進(jìn)行集中式的管理確實(shí)為我們企業(yè)提供了很好的解決方案。不過我們知道計(jì)算資源是不可缺少的,不過是存在的位置不同而已,我們放在終端上還是服務(wù)器上都是無法減少的。假設(shè)我們當(dāng)今每個(gè)人桌面的計(jì)算資源相當(dāng)于(cpu雙核2.0 內(nèi)存2G)在這種環(huán)境下我們已經(jīng)習(xí)慣了的用戶體驗(yàn)轉(zhuǎn)移到服務(wù)器上,100個(gè)用戶的并發(fā)那就要求服務(wù)器提供100X2X2等于400的CPU運(yùn)算能力和200G的內(nèi)存才可以滿足用戶習(xí)慣了的體驗(yàn)環(huán)境(冗余未計(jì)算內(nèi))。那么我們計(jì)算如果我們的企業(yè)有500個(gè)用戶呢,如果是1000個(gè)用戶呢。實(shí)際上我們不可能為我們的用戶提供如此的計(jì)算能力的,那么也就從這個(gè)單方面就必須犧牲用戶的體驗(yàn)了。其二在每個(gè)用戶都要去服務(wù)器端下載它所用的操作系統(tǒng)對(duì)帶寬壓力是巨大的,用戶越多這個(gè)因素就越明顯,所以這個(gè)因素也需要企管人員重點(diǎn)考慮。用戶的體驗(yàn)沒以前好了,會(huì)不會(huì)對(duì)IT人員的工作推進(jìn)造成影響呢?
2、設(shè)備和軟件兼容性:我們習(xí)慣了即插即用的外設(shè)設(shè)備,新的系統(tǒng)會(huì)不會(huì)對(duì)日常的工作習(xí)慣造成影響呢,如果有了影響是如何避免的呢?我們的IT管理人員的工作量是增加了還是降低了,效率是提高了還是降低了?需要我們企管人員具體考量。
3、成本:企業(yè)花費(fèi)的每一分錢都會(huì)具體考慮投入產(chǎn)出比,一個(gè)好的管理工具要推廣,最起碼它能夠給企業(yè)在一個(gè)時(shí)間內(nèi)帶來成倍以上的收益才給與考慮的。集中式的虛擬化方案帶來的投入成本主要是虛擬化軟件授權(quán)費(fèi)用,正版操作系統(tǒng)的授權(quán),正版辦公軟件的授權(quán),瘦客戶機(jī)的采購費(fèi)用,網(wǎng)絡(luò)設(shè)備的換代費(fèi)用,新的存儲(chǔ)設(shè)備增加費(fèi)用,服務(wù)器集群的硬件和軟件采購費(fèi)用,甚至有一些網(wǎng)絡(luò)改造的費(fèi)用。由于新的技術(shù)對(duì)管理人員的技術(shù)要求的提高相應(yīng)的就會(huì)有技術(shù)人員的培訓(xùn)學(xué)習(xí)費(fèi)用,新增管理人員費(fèi)用。由于設(shè)備的成倍增加帶來的還有機(jī)房改造電力消耗的各種費(fèi)用。 考慮到各種費(fèi)用的總和,計(jì)算出的單點(diǎn)改造成本,還要考慮到日后虛擬化平臺(tái)升級(jí)費(fèi)用和兼容性是否能匹配企業(yè)內(nèi)部的系統(tǒng)升級(jí)。然后才可以制定一個(gè)完整的財(cái)務(wù)規(guī)劃來應(yīng)對(duì)整個(gè)項(xiàng)目的開支和升級(jí)。這個(gè)計(jì)劃就需要整個(gè)集團(tuán)公司所有部門一起參與協(xié)調(diào)。
4、多媒體和大型程序體驗(yàn):在一些設(shè)計(jì)部門和跟設(shè)計(jì)關(guān)聯(lián)部門,需要大型的設(shè)計(jì)程序由于當(dāng)今顯卡虛擬化的技術(shù)尚未成熟,所以在這個(gè)場(chǎng)景中是無法應(yīng)用的。
5、軟硬件架構(gòu)改變:新的系統(tǒng)和新的應(yīng)用,我們有做好準(zhǔn)備嗎來應(yīng)對(duì)管理架構(gòu)的改變,來應(yīng)對(duì)團(tuán)隊(duì)組織的改變嗎?最后建議我們的企管人員對(duì)于云計(jì)算模式引入虛擬化產(chǎn)品的方案問一句:我們準(zhǔn)備好了嗎?
軟件方案
純軟件虛擬化解決方案存在很多限制。“客戶”操作系統(tǒng)很多情況下是通過虛擬
虛擬化
機(jī)監(jiān)視器(Virtual Machine Monitor,VMM)來與硬件進(jìn)行通信,由VMM來決定其對(duì)系統(tǒng)上所有虛擬機(jī)的訪問。(注意,大多數(shù)處理器和內(nèi)存訪問獨(dú)立于VMM,只在發(fā)生特定事件時(shí)才會(huì)涉及VMM,如頁面錯(cuò)誤。)在純軟件虛擬化解決方案中,VMM在軟件套件中的位置是傳統(tǒng)意義上操作系統(tǒng)所處的位置,而操作系統(tǒng)的位置是傳統(tǒng)意義上應(yīng)用程序所處的位置。這一額外的通信層需要進(jìn)行二進(jìn)制轉(zhuǎn)換,以通過提供到物理資源(如處理器、內(nèi)存、存儲(chǔ)、顯卡和網(wǎng)卡等)的接口,模擬硬件環(huán)境。這種轉(zhuǎn)換必然會(huì)增加系統(tǒng)的復(fù)雜性。此外,客戶操作系統(tǒng)的支持受到虛擬機(jī)環(huán)境的能力限制,這會(huì)阻礙特定技術(shù)的部署,如64位客戶操作系統(tǒng)。在純軟件解決方案中,軟件堆棧增加的復(fù)雜性意味著,這些環(huán)境難于管理,因而會(huì)加大確保系統(tǒng)可靠性和安全性的困難。
硬件方案
而CPU的虛擬化技術(shù)是一種硬件方案,支持虛擬技術(shù)的CPU帶有特別優(yōu)化過的指令集來控制虛擬過程,通過這些指令集,VMM會(huì)很容易提高性能,相比軟件的虛擬實(shí)現(xiàn)方式會(huì)很大程
虛擬化
度上提高性能。虛擬化技術(shù)可提供基于芯片的功能,借助兼容VMM軟件能夠改進(jìn)純軟件解決方案。由于虛擬化硬件可提供全新的架構(gòu),支持操作系統(tǒng)直接在上面運(yùn)行,從而無需進(jìn)行二進(jìn)制轉(zhuǎn)換,減少了相關(guān)的性能開銷,極大簡(jiǎn)化了VMM設(shè)計(jì),進(jìn)而使VMM能夠按通用標(biāo)準(zhǔn)進(jìn)行編寫,性能更加強(qiáng)大。另外,在純軟件VMM中,缺少對(duì)64位客戶操作系統(tǒng)的支持,而隨著64位處理器的不斷普及,這一嚴(yán)重缺點(diǎn)也日益突出。而CPU的虛擬化技術(shù)除支持廣泛的傳統(tǒng)操作系統(tǒng)之外,還支持64位客戶操作系統(tǒng)。
虛擬化技術(shù)是一套解決方案。完整的情況需要CPU、主板芯片組、BIOS和軟件的支持,例如VMM軟件或者某些操作系統(tǒng)本身。即使只是CPU支持虛擬化技術(shù),在配合VMM的軟件情況下,也會(huì)比完全不支持虛擬化技術(shù)的系統(tǒng)有更好的性能。
兩大CPU巨頭Intel和AMD都想方設(shè)法在虛擬化領(lǐng)域中占得先機(jī),但是AMD的虛擬化技術(shù)在時(shí)間上要比Intel落后幾個(gè)月。Intel自2005年末開始便在其處理器產(chǎn)品線中推廣應(yīng)用Intel Virtualization Technology(Intel VT)虛擬化技術(shù)。Intel已經(jīng)發(fā)布了具有Intel VT虛擬化技術(shù)的一系列處理器產(chǎn)品,包括桌面平臺(tái)的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列,還有Core Duo系列和Core Solo系列中的部分產(chǎn)品,以及服務(wù)器/工作站平臺(tái)上的Xeon LV系列、Xeon 5000系列、Xeon 5100系列、Xeon MP 7000系列以及Itanium 2 9000系列;同時(shí)絕大多數(shù)的Intel下一代主流處理器,包括Merom
核心移動(dòng)處理器,Conroe核心桌面處理器,Woodcrest核心服務(wù)器處理器,以及基于Montecito核心的Itanium 2高端服務(wù)器處理器都將支持Intel VT虛擬化技術(shù)。
而AMD方面也已經(jīng)發(fā)布了支持AMD Virtualization Technology(AMD VT)虛擬化技術(shù)的一系列處理器產(chǎn)品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,并且絕大多數(shù)的AMD下一代主流處理器,包括即將發(fā)布的Socket F接口的Opteron都將支持AMDVT虛擬化技術(shù)。
內(nèi)容來自百科網(wǎng)