a)軟件輔助的完全虛擬化。在x86虛擬化早期,由于x86體系沒有在硬件層次上對虛擬化提供支持,因此許多商業的虛擬化產品都采用了基于軟件輔助的完全虛擬化技術,例如Vmware ESX Server,VMwareWorkstation和Microsoft Virtual Serve:系PlJ產品。為了正確處理不能直接捕獲的虛擬機特權指令,完全虛擬化引入了動態指令轉換,通過在運行時動態執行指令掃描以發現特權指令,然后依據VMM狀態執行指令的二進制轉換,使得特權指令的執行跳轉到等價模擬代碼段處,從而實現與自陷相同的目標。基于軟件輔助雖然能夠實現完全虛擬化,但由于所有指令都要經過VMM進行處理,這種虛擬化的性能受動態指令轉換引擎設計和實現的影響比較大。
b)硬件輔助的完全虛擬化。硬件輔助虛擬化是通過修改x86 CPU指令的語義,使其直接支持虛擬化。這一工作必須在CPU中進行,也就是Intel-VT技術和AMD-V技術。通過引人新的處理器操作來支持虛擬化,使得虛擬機的各種特權指令能夠被CPU所截獲,并通過異常報告給VMM,這樣就解決了虛擬化的問題。硬件輔助虛擬化是一種完備的虛擬化方法,部分虛擬化軟件產品,例如Microsoft的Hyper-V目前必須借助于CPU硬件輔助才能實現虛擬化。
完全虛擬化是處理器密集型技術,因為它要求hypervisor管理各個虛擬服務器,并讓它們彼此獨立。減輕這種負擔的一種方法就是,改動客戶操作系統,讓它以為自己運行在虛擬環境下,能夠與hypervisor協同工作。這種方法就叫半虛擬化。
與完全虛擬化技術不同,半虛擬化技術通過修改操作系統代碼使特權指令產生自陷。半虛擬化技術最初由Denali和Xen項目在x86體系架構上實現。通過對客戶操作系統的內核進行適當的修改,使其能夠在VMM的管理下盡可能地直接訪問本地硬件平臺。半虛擬化技術降低了由于虛擬化而引入的系統性能損失。半虛擬化技術的主要實現思路是:對于內存分段管理的虛擬化,要求客戶操作系統對硬件分段描述符的更新由VMM進行驗證,這也就要求客戶操作系統不能有高于VMM的特權級別和不允許訪問VMM保留地址空間;對于內存分頁管理的虛擬化,要求客戶操作系統可以直接讀取硬件頁表,但對頁表的更新需要VMM進行驗證和處理,VMM支持客戶虛擬系統可以分布在不連續的物理內存上;對于客戶虛擬系統,其只能運行在低于VMM的特權級別上;客戶虛擬系統需要注冊一個異常處理函數的描述符表,直接支持VMM的虛擬化;客戶虛擬系統的硬件中斷機制被VMM中的Event處理機制代替;每個客戶虛擬系統都有自己的時鐘接口,并且可以了解真實的時間和虛擬的時間;客戶虛擬系統通過異步I/O的內存區域和外部設備(網絡、硬盤)來傳遞數據,采用事件處理機制代替硬件中斷通知機制。
準虛擬化技術的優點是性能高。經過準虛擬化處理的服務器可與hypervisor協同工作,其響應能力幾乎不亞于未經過虛擬化處理的服務器。
3.2.2 Type II:寄居架構
Type II虛擬化架構(見圖2中軟件層虛擬化部分)中,VMM安裝在已有的主機操作系統(宿主操作系統)之上,通過宿主操作系統來管理和訪問各類資源(如文件和各類vo設備等)。這類虛擬化架構系統損耗比較大。
就操作系統層的虛擬化而言,沒有獨立的hypervisor層。主機操作系統負責在多個虛擬服務器之間分配硬件資源,并且讓這些服務器彼此獨立。一個明顯的區別是,如果使用操作系統層虛擬化,所有虛擬服務器必須運行同一操作系統(不過每個實例有各自的應用程序和用戶賬戶)。
雖然操作系統層虛擬化的靈活性比較差,但本機速度性能比較高。此外,由于架構在所有虛擬服務器上使用單一、標準的操作系統,管理起來比異構環境要容易。
上述各種虛擬化方法都有各自的優點,總體來說,裸金屬架構下的半虛擬化技術的優點得到了驗證,也是目前各廠家重點發展的技術。
4 虛擬化技術應具備的功能要點
服務器虛擬化解決方案在不同的場景實現的功能各不相同,在云計算中虛擬化技術應具備以下功能。
a)服務器“一變多”。支持在一臺物理服務器中創建多個相互獨立的虛擬服務器,每個虛擬服務器各自擁有計算、存儲和網絡等資源,運行各自的操作系統和應用。
b)設備資源抽象化。支持通過虛擬化軟件功能,將物理服務器中的CPU、內存、IO等資源進行抽象化,將原先與具體物理服務器和物理設備綁定的資源轉化為可以統一分配和管理的一組邏輯資源。通過資源抽象,服務器資源不再與具體物理設備以及上層應用綁定,能夠靈活分配,被不同虛擬服務器共享。
c)32位/64位支持。為了使虛擬服務器能夠充分滿足企業現有IT系統的應用需求,同時提供較強的擴展能力,虛擬化產品應支持在舊有32位物理服務器上運行32位虛擬服務器,以及在新的64位物理服務器上運行32位或64位虛擬服務器的能力。
d)支持多種操作系統。物理服務器所支持的各種操作系統類型及版本,在對該物理服務器進行虛擬化后,也能夠在創建的虛擬服務器中安裝并正常運行。
e)兼容服務器和存儲設備。服務器虛擬化產品需具備廣泛的物理服務器硬件設備兼容性,服務器虛擬化產品必須支持市場上主流設備廠商提供的服務器。虛擬化產品功能的實現,不得依賴于特殊的服務器硬件設備。
f)虛擬服務器的創建。創建過程需提供用戶交互方式,引導用戶設定虛擬服務器名稱、資源類型和數量、操作系統類型、網絡設置等配置參數。支持通過第三方工具或者編寫腳本等方式,實現虛擬服務器及其操作系統和應用的自動化安裝和配置,并支持遠程操作。
g)虛擬服務器的模板和復制。為了實現虛擬服務器的快速部署,服務器虛擬化產品需提供通過模板的方式克隆已有虛擬服務器的能力。
h)支持P2V轉換。PZV是指將物理服務器連同上面安裝的操作系統和應用轉換為虛擬服務器,常用于將已有應用系統由物理服務器平臺遷移到虛擬服務器平臺。在創建虛擬服務器時,應支持通過P2V方式實現虛擬服務器的快速部署。
i)虛擬網絡支持。虛擬服務器須提供對網卡和交換機等網絡設備的虛擬化支持,虛擬網卡和虛擬交換機通過物理網絡設備接人物理網絡。為了提高通信效率,減少對物理網絡設備的壓力,虛擬服務器之間的通信可配置為通過虛擬網卡以及虛擬交換機的方式進行,無須通過物理網卡。
j)虛擬服務器運行控制。可通過手動或自動的方式,對虛擬服務器的運行狀態進行控制,包括虛擬服務器的啟動、關閉、暫停、重新啟動、恢復、快照,遷移操作等。可對虛擬服務器的運行狀態進行快速在線備份,虛擬服務器不需要暫停或關閉。可對虛擬服務器在需要的時候恢復到任一備份點,恢復后虛擬服務器的狀態應該與備份時一致。
k)可使用資源分配。對于包含特定資源類型、數量等要求的資源分配請求,虛擬化管理平臺能夠從統一管理的虛擬化服務器資源池中,自動選擇合適的物理服務器進行資源分配。為有效利用所分配的資源,促進資源共享,在為虛擬服務器分配能夠使用的CPU,內存、I/O等資源數量時,支持指定可使用資源的最大值和最小值。虛擬服務器在運行過程中實際使用的資源,允許隨工作負載在分配的資源范圍內變動。
j)資源調度和虛擬服務器遷移。虛擬服務器自身的資源調度,或者虛擬服務器在不同物理服務器之間的遷移可以由管理員手動進行,也可以按照事先設置的策略自動進行。通過策略可以實現虛擬服務器資源配置的自動化和智能化,提高設備資源利用率和系統可用性。資源調度策略的觸發方式包括定時觸發、在預先設定的時間觸發、資源利用率閡值觸發。
m)虛擬化管理功能。虛擬化的管理需提供網絡內部各種軟硬件資源的統一管理,包括物理服務器(編號、名稱、IP地址等)、虛擬服務器(編號、名稱、操作系統、IP地址等)、存儲及網絡設備(編號、名稱、類型等)。
n)運行狀態監控。對物理服務器和各個虛擬服務器的運行狀態進行實時監控,記錄詳細的數據,運行狀態監控涉及的性能指標包括CPU利用率、內存利用率、磁盤I/O讀寫速率、網絡I/O通信速率、存儲數據量等。
o)故障告警管理。虛擬化的管理支持實時監測網絡中各物理服務器和虛擬服務器的運行狀態變化情況,針對可能引發潛在性問題的配置更改、資源不足、設備故障等故障情況,提供告警界面和信息。
5 選擇虛擬化技術需要考慮的因素
目前虛擬化實現的技術非常多,涵蓋各個層面的虛擬化技術,云計算在實施過程中應結合需要實現的性能和功能要求選擇相應的虛擬化技術。一般選擇虛擬化技術應注意以下要求。
a)性能。在評估不同虛擬化技術的性能時,需要考慮在一臺物理服務器上能夠運行的虛擬服務器的數量限制。盡管所有的虛擬化技術對虛擬服務器的數量都沒有限制,但在過去由于過高的額外損耗,根本就不能支持更多的虛擬服務器數量。同時如果虛擬化對物理服務器的處理損耗較高,那只能運行非產品級或不太重要的應用服務。虛擬化的應用程序的運行效率差異很大,有的能夠做到接近原始物理環境下運行的效率,有的則低劣到終端用戶所難以接受的程度。同一虛擬化技術路線的不同產品性能也有很大差異。
b)虛擬化平臺管理工具。雖然IT系統的硬件成本較高,但帶來的維護成本同樣不可忽視,完備的管理工具可有效降低系統的維護成本。常見管理性任務包括操作系統和應用程序更新、打補丁、備份、安裝、開通和應用管理、服務流程、統計分析等等。因此對于虛擬化基礎設施的管理而言,管理工具就更加重要,只有很好地進行資源的管理和監控才能真正做到有效地利用虛擬服務器的資源。
c)平臺支持。虛擬化技術將虛擬服務器從其下的硬件中抽象出來,但這并不意味著虛擬基礎結構可以支持任何硬件。需要特別注意的是,硬件輔助虛擬化必須硬件支持;而操作系統虛擬化技術建立在標準的操作系統之上,所以操作系統虛擬化產品部署過程更容易。某些虛擬化技術除了支持基本的硬件,還有充分利用所有硬件的能力,包括支持SMP,64位處理器,直到16路CPU和64 GB的內存。
d)遷移。虛擬化技術將虛擬服務器從硬件中抽象出來,這樣做最大的好處是虛擬服務器可以在不同物理服務器中來回遷移。遷移能力允許將虛擬服務器克隆出來,或從一臺物理服務器遷移到另外一臺。遷移的好處包括:消除由于硬件升級或出現問題時造成的宕機時間,避免軟件更新時的宕機時間,可以按需求將虛擬服務器遷移到更強或更弱的服務器上。
e)隔離和安全。對于隔離和安全問題,每種虛擬化技術的處理方式都不同。所有虛擬計算機必須完全隔離,這樣進程、動態連接庫及應用程序才不會影響同一臺服務器的其他虛擬服務器上的應用。相對于普通服務器,由于虛擬化技術改變了訪問節點和不同的組件,所以不太可能對于虛擬服務器實施常規性攻擊。同隔離一樣,對于同一臺物理服務器上的2個虛擬服務器來說,彼此之間的安全同樣重要。
f)開通效率。每個虛擬化解決方案的服務器開通能力是不同的。某些解決方案提供了模板和預先設置工具或定制配置提前縮短了開通時間。不同處理方法的開通時間從30 s到1h有很大的差別。與獨立服務器相比,虛擬服務器急劇地縮短了服務器的開通時間。
g)成本。服務器虛擬化提高了IT系統的利用率,降低了系統硬件上的投人,但同時增加了虛擬化技術的費用支出,在衡量系統性價比時不僅需要橫向比較不同虛擬化方案的成本,還需要縱向考慮增加虛擬化技術后的成本。
6 服務器虛擬化的優點及缺點
服務器虛擬化是云計算的必備選項,有著顯著的優點,但也有相應的缺點,在技術使用過程中應注意揚長避短。
服務器虛擬化技術具有以下優點。
a)維護運行在早期操作系統上的業務應用。對于某些早期操作系統,發行廠商已經停止了系統的維護,不再支持新的硬件平臺,而重寫運行在這些系統上的業務應用又不現實。為此,可以將這些系統遷移到新硬件平臺上運行的虛擬系統上,實現業務的延續。
b)提高服務器的利用率。將多種低消耗的業務利用整合到一臺服務器上,可以充分發揮服務器的性能,從而提高整個系統的整體利用效率。
c)動態資源調配,提升業務應用整體的運行質量,可在一臺計算機內部的虛擬機之間或是集群系統的各個業務之間進行動態資源調配,進而提升業務應用的整體運行質量。
d)提供相互隔離、安全的應用執行環境。虛擬系統下的各個子系統相互獨立,即使一個子系統遭受攻擊而崩潰也不會對其他系統造成影響。而且在使用備份機制后,子系統可被快速恢復。
e)提供軟件調試環境,進行軟件測試,保證軟件質量采用虛擬技術后,用戶可以在一臺計算機上模擬多個系統,多種不同操作系統,使調試環境搭建簡單易行,大大提高工作效率,降低測試成本。
服務器虛擬化存在以下問題。
a)虛擬技術的認知。用戶對虛擬技術不了解,不明確虛擬技術在提升用戶現有系統效率和降低總體運營成本上的優勢,這是阻礙虛擬技術推廣的最大障礙。
b)虛擬系統的可靠性。客戶采用服務器,很大程度上是為了保障業務的穩定性。如果用戶在一臺服務器上運行多個業務,一旦出現重大硬件故障勢必會影響到所有的應用,這種威脅很難消除。而對于用戶,這種潛在的業務危險往往也是不可接受的。
e)虛擬系統的運行效率。使用虛擬技術的目的在于提高用戶服務器的整體利用效率,如果虛擬系統的運行效率太低,也就失去了它在服務器上應用的價值。
d)平臺支持。硬件支持方面,需要虛擬系統能夠不斷更新,以兼容新的硬件平臺。操作系統支持,需要能夠支持老操作系統。這樣對于某些使用早期操作系統的客戶才有意義。對于這兩方面,虛擬化平臺都需要不斷更新,這些都依賴虛擬化技術提供商的維護。
e)部署效率和易用性。當前虛擬化標準尚不統一,移植和管理工具還不夠成熟,這也影響到虛擬化的大面積普及。特別是遠程管理功能需要配合虛擬化標準工作大力發展,以使得不同的虛擬化平臺叮以通過網絡進行統一管理。
7 結束語
云計算概念的提出和服務器虛擬化技術的發展相輔相成,云計算的實現需要服務器虛擬化的技術支持,服務器虛擬化技術在云計算的推動下得到很好的發展。隨著云計算的實現和推廣,服務器虛擬化技術將得到更進一步的發展。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:云計算中服務器虛擬化技術探討(下)
本文網址:http://www.guhuozai8.cn/html/consultation/1083978465.html