星期一, 3月 31, 2008

中華技術-資訊平台在虛擬化浪潮下的蛻變(下)

這是小弟之前所寫的文章,刊登在公司發行的刊物"中華技術"上,分享出來給需要的人參考
原文刊於中華技術
(ISSN1818-4464)76期2007年10月發行

關鍵詞

擬化、VirtualizationVirtual MachineVirtual ArchitectureVirtual Server

肆、伺服器虛擬化的市場現況


根據Gartner 的報告指出,2006年大約有20%25%的企業正在使用虛擬化,200740%的企業將會透過實施虛擬化減少其20%的伺服器數量。另Forrester的調查顯示,大型企業更能意識到伺服器虛擬化的好處,從而實現伺服器虛擬化,在員工人數超過20000人的全球2000家企業中,已有三分之一使用了虛擬化,13%的企業則表示計畫在未來一年內開始虛擬化的試驗和部署[8]。而當前主要的虛擬化技術方案簡述如下:


一、VMware

VMware[9]成立於1998年,於2003年被EMC收購,是全球第一家專注於系統虛擬化技術的公司,也是當前虛擬化領域中最主要的公司,主要提供x86環境下的虛擬化軟體,提供跨平台的運行能力,支援LinuxMac OSMicrosoft Windows等平台,其產品主要區分成可免費使用的VMplayerVMserver,需付費使用的VMware Workstation(如圖4VMware InfrastructureVMware ESX Server(如圖5等。VMwareVMM提供一個模擬的硬體平台,該平台位在實體和虛擬設備間來管理系統資源,這種作法解決了x86 OSRing轉換問題,也就是提供一個全虛擬化的環境,OS可以不經改變執行在VMware的虛擬環境上,但是系統相容度付出的代價是效能的損失,而新版本的 VMware ESX Server已經開始整合CPU虛擬技術,已藉此提升VMs的效能[10]VMware目前主要的領先優勢便是其在商業環境上的支援能力與完善的解決方案,其擁有最多的第三方廠商支援,諸如實體與VMs間的轉換工具,虛擬環境下的熱機動態遷移,虛擬資源的管理等,都是其它競爭對手目前所欠缺的,也是其領先業界的主要因素。

二、Virtual PC/ServerMicrosoft Virtual PC/Server

Virtual PC[11]原來由Connectix公司所開發,初期提供Mac OS平臺的虛擬軟體,之後持續開發了Microsoft Windows平台的虛擬化軟體。2003年被Microsoft公司收購,將原本的軟體改名為Microsoft Virtual PC/Server2006MicrosoftMicrosoft Virtual PC開放為免費軟體,其伺服器端虛擬軟體Microsoft Virtual Server則仍需付費使用,Virtual PC/Server其虛擬化技術原理基本上與VMware相同。

Microsoft Virtual Server目前的版本為Microsoft Virtual Server 2005 R2(如圖6,對應到VMware的產品相當於VMware ESX Server,惟最主要的差異為VMware ESX Server係運行在Linux平台上,而Microsoft Virtual Server則運行在Microsoft Windows Server上,依目前Microsoft已公佈的訊息得知,在下一代Windows Longhorn Server上,Microsoft將直接整合Windows Hypervisor(代號Viridian)在其OS上,藉而允許多個Guest OS執行個體可以緊密地執行在同一個實體伺服器上。但Microsoft也因此導致系統開發進度嚴重延遲,最後被迫放棄了部份重要的功能,如VMs的動態遷移等,皆須等到之後的修補套件中才可能會付諸實現[12]

三、XEN

Xen[13][14][15]是一個由劍橋大學開發的開放原碼虛擬化軟體,Xen的初始版本是基於半虛擬化技術的Linux OS為目標,Linux OS的核心需做特殊修改才能在Xen上執行,2005Xen發佈的Xen 3.x在架構上有了重大的修改,使得其它OSNovell NetWareSun Solaris等也可以透過修改在Xen上執行。Xen 3.x同時支援半虛擬化與全虛擬化技術,但其全虛擬化與其它軟體的全虛擬化架構有所不同,Xen的全虛擬化需要仰賴CPU虛擬化架構的支持,如AMD-VIntel VT架構。由於Xen無論在半虛擬化與全虛擬化皆有獨特的技術架構設計(如圖7,故其效能較其它VMs軟體為佳,目前廣受重視,在各大IT廠商如AMDIntelNovellIBMRed HatSunMicrosoft等對其相容性的承諾與支持下,XEN Hypervisor正成為某種實質上的標準。

Xen的虛擬化技術非常獨特,一般OSAPP分別是在CPURing 0Ring 3在處理的,而Xen便是透過改變OS Kernel或透過CPU的虛擬化支援,讓Xen執行在CPURing 0,而讓OS執行在CPURing 1OS透過Xen來存取伺服器硬體資源,來達到OS的虛擬化目的。

四、KVM

KVM[16][17]是由以色列公司Qumranet所提出的虛擬化技術,KVMKernel-based Virtual Machine)顧名思義是OS Kernel層虛擬化技術,是近來快速崛起的開放原碼虛擬化專案,透過Linux的核心模組來實現提供虛擬化的環境,KVM將內建在Linux Kernel2.6.20版中,亦可視為一個Linux Kernel的更新(Patch),KVM的特點是直接將Linux Kernel轉變成功能強大的Hypervisor(如圖8,故其在VMs的效能表現上亦相當的理想。

KVM目前受到廣大Linux開發者的關注,所以發展相當的迅速,由於其已成功被內嵌於往後所發布的Linux Kernel中,值得密切注意相關的應用與發展。

五、AMDIntelCPU虛擬化

為因應x86平台上的虛擬化需求,AMDIntel便各自提出了CPU虛擬化方案,透過CPU所提供的硬體虛擬化協助,傳統的Hypervisor可以被設計的更緊緻輕量化,虛擬化也更容易被實行,且VMs的效能更佳,系統損耗更低,虛擬化的成本也可以進一步的降低。

Intel率先於x86平台上提出CPU虛擬化架構,其產品化的正式命名為Intel VTIntel Virtualization Technology[18],而AMD隨後也提出了其CPU虛擬化架構,產品化的正式命名為AMD-VAMD Virtualization[19]。兩者在技術基本架構與原理上大致類似,都是利用CPURing 1來運行Hypervisor,並藉由Hypervisor來管理所有的VMs生命週期,例如VMs的建立、資源調整與消滅等,而VMs都是平行運行在Ring 0之中,且這些VMs間並不知道其正與其它機器共用硬體資源,此架構設計解決了OSRing轉換問題,提供了一個全虛擬化的環境,所以即便VMs出現了問題與錯誤,位於Ring 1中的VMM都將不致受到影響,透過VMM可以隨時中止有問題的VMs。不過由於AMDIntel CPU目前在記憶體的控制上走上分歧,AMD平台的記憶體控制器內建於CPU當中,而Intel平台的記憶體控制器則位於CPU外部的北橋晶片之上,如此在VMs的記憶體管理上,Intel平台便需依賴軟體來配合處理記憶體的位址轉換,而AMD平台則是透過CPU新增的指令集來控制,AMD將此技術命名為MMUMemory Management Unit),透過MMU來處理VMs的記憶體分配。


伍、伺服器虛擬化的應用


伺服器虛擬化的技術發展至此已成為資訊系統規劃時不可忽略的議題,隨著科技工藝不斷的演進,伺服器的效能越來越強大,但伴隨而來伺服器的耗能也越來越高,伺服器的間接持有成本(諸如:空調、電力與空間成本)已經幾乎和直接持有成本相當(如表2,而現在各企業對資訊化已形成一種依賴,資訊應用越趨廣泛,伴隨者實體伺服器的蔓延,如果伺服器的建置與佈屬思維仍如同過往,則IT的 支出成本勢必會成長到令企業無法接受的地步,一般的實體伺服器若以四年為生命週期,其累計的間接成本與直接成本幾乎相當。為了解決上述的問題,伺服器的虛 擬化便受到重視。且一般而言專屬或客製化的資訊系統其生命週期通常大於伺服器設備的生命週期,一般伺服器設備的生命週期通常為4~6年,而專屬或客製化的應用系統的生命週期在6~10年,甚至更久,這些應用系統在導入及建置上往往所費不貲,雖然年代久遠但也仍敷使用,不需急於轉換到新的資訊系統平台上,如何延續這些資訊系統的邊際效應,也是當前伺服器虛擬化被廣為接受的另一因素。

2、實體與虛擬伺服器的電力成本比較


實體伺服器

虛擬伺服器

實體設備數量

24台機架式伺服器

3台機架式伺服器

1台容量3TBSAN Storage與相關週邊

伺服器數量

24

24

設備總發熱量(推估)

7200W

500*0.6(負載)*24(台數)=7200W

2925W

575*1(負載)*3(台數)+1200(SAN設備)=2925W

空調負荷

6200Kcal/Hr

7.2kw≒6.2(6190)Kcal/Hr


2515Kcal/Hr

2.925kw2515Kcal/Hr


電費()

299504

7.2+6.2/2.44(ERR)9.74kw

9.74kw234

234*365*3.12=266479

108186

2.93+2.5/2.44(ERR)3.96kw

3.96kw95

95*365*3.12=108186

備註

民國九十一年的氣冷式與水冷式空調機組的ERR值國家標準將分別提昇為2.443.17 千卡/瓦小時

目前營業用電電價(93.1.1以後,每月500度以上用戶),夏季(4個月)3.465、非夏季(8個月)2.730

95.7.1電價調漲後,全年營業用電平均每度3.12



陸、台灣世曦的伺服器虛擬化


台灣世曦於2002年(中華顧問時期)起即開始在PC端應用虛擬技術,2004年密切關注伺服器虛擬化發展,隨即於2005年導入伺服器的虛擬化應用,在當時國內可供參考的實際案例仍非常的少,系統廠商能夠提供的協助與支援相對於現今更顯匱乏,故參考國外技術文件資訊並與系統廠商共同規劃建置伺服器虛擬化系統,至2007年台灣世曦已有40%的伺服器以虛擬化型態提供服務,隨著資訊系統的持續更新虛擬化的比率預計將提升到50%以上,這樣的系統架構在過往是難以想像的。目前台灣世曦虛擬化的平台則涵蓋了Microsoft WindowsNovell NetWareLinux等。


柒、伺服器虛擬化的架構規劃


一、系統效能

伺服器虛擬化係由於多個VMs需同時運行於一個系統平台之上,這個平台就是VM Server,故VM Server的規劃與硬體配置便顯得極其重要,VM Server對於硬體資源的依賴依序是「CPU>記憶體>I/O(磁碟)效能>網路效能」。一般需求而言配備2顆雙核心CPUx86伺服器,其效能便足以滿足8~10台中低負載的VMs,而當前雙核心雙CPU的伺服器已隨手可得,於此VM Server的記憶體容量反而會是影響效能的重點,建議規劃時每台VMs至少須配置1~2GB的記憶體,如前述一台雙核心雙CPU的伺服器佈署8VMs,便建議最好配置16GB的記憶體。另一個影響虛擬化效能的便是I/O設備,I/O效能一直都是影響伺服器效能的重要因素,但卻也是最容易被忽視的一點,I/O設備是電腦元件中唯一的機械動作,其它設備元件都是電器訊號,所以I/O設備的速率往往都是電腦系統的主要瓶頸,而一台VM Server得負載多台VMs,故I/O的吞吐量與穩定性便非常的重要,而好的伺服器I/O設備其投資往往所費不貲,建議如果預算許可規劃上最好選擇SAN Storage為儲存媒介,可以兼顧架構彈性與效能,但也別過度迷信SAN Storage,很多不良規劃的SAN架構則系統效能會比DAS 架構還差,基本觀念是一個磁碟陣列群組內的實體硬碟數量越多效能越佳,因為機械動作越少,而Storage設備或RAID控制器的快取記憶體容量也會影響整個系統的I/O的效能。最後影響VMs效能的便是網路設備,當前電腦主機設備上的網路卡其速率皆以1Gbps為主,這樣的網路速率供1~4台伺服器使用或許還算足夠,但是若要提供給8VMs同時使用,其效能可能就不敷使用了,建議在實體伺服器上增加網路卡埠數,並妥善規劃網路配置,建議1~4台伺服器共用一埠網路卡為宜。

除了硬體週邊的因素之外,虛擬伺服器技術解決方案的選擇便是另一個重點,硬體虛擬化的效能會高於軟體虛擬化,而軟體虛擬化中Type-1 Hypervisor效能又會高於Type-2 Hypervisor。至於半虛擬化與全虛擬化的差異,一般而言半虛擬化的系統效能會高於全虛擬化,但若結合CPU虛擬技術的全虛擬化則其效能將與半虛擬化相較不分軒輊。


二、刀鋒伺服器與虛擬伺服器

目前業界很多廠商在規劃建置虛擬伺服器方案時常常建議整合刀鋒伺服器方案,但虛擬伺服器技術強調的是眾多VMs同 時運行在單一實體伺服器上,以分時運算的原理充分發揮利用硬體資源,而刀鋒伺服器強調的卻是在單一機箱中容納越多的伺服器運算單元,發揮空間效益,刀鋒伺 服器為了滿足此一需求通常得在效能上作出取捨,單一片刀鋒伺服器的效能通常較一般伺服器差,且系統擴充性亦受限於空間限制,如此便與虛擬伺服器的系統需求 交相違背,故如VMware的技術顧問公司VM Power也不建議現階段使用刀鋒伺服器來建置虛擬伺服器環境[20]

刀鋒伺服器與虛擬伺服器是否就如同兩條平行線不會交錯呢?這倒也不是,只是現階段的技術還無法完全整合兩者的優點,至於何時才適合,個人的看法認為是需等到VMM能夠視整個刀鋒伺服器機箱為單一伺服器個體,類似大型Unix伺服器的硬體虛擬化架構,由VMM來直接分配整個機箱的硬體資源,而不是目前每一片刀鋒伺服器都是獨立個體,如此才可以充分發揮刀鋒伺服器架構的意義與伺服器虛擬化的長處。



捌、虛擬伺服器的優缺點


一、伺服器虛擬化的優點與價值

當前,相同數量的虛擬伺服器與實體伺服器在直接建置成本上相去不遠;然而,若將伺服器的間接與維護成本一倂考慮,虛擬伺服器的效益就顯而易見,因為在空間、空調、電力等需求與維護成本上,虛擬伺服器都有明顯的優勢。

此外,藉由伺服器虛擬化的幫助,企業內的IT資 源可以獲得更有效的利用與配置,例如:新應用系統可以加速測試與佈署上線時程,以節省寶貴的時間成本,且虛擬化技術下的伺服器佈署及遷移也容易;相對的, 企業在規劃及進行備援與災難回復時,將更具彈性,投資也相對較低。這些都是難以量化的效益,尤其是「災難回復」,相信所有企業一定不希望有那天要從這兒得 到投資回報,但IT人員本於職責,仍要考量準備一可行的因應方案,以避免這萬一的風險。

二、伺服器虛擬化的缺點與風險

透 過虛擬化技術雖然可以在一台實體伺服器上運行更多台的虛擬伺服器,提供更多的應用系統服務;相對的,硬體失敗所導致的風險也會增加。因此,相關的硬體系統 架構規劃需要更為仔細謹慎,應儘可能避免設備單點失敗所帶來的風險,最好能預留備援設備以降低此風險。另由於眾多的伺服器藉由虛擬化技術集中運行,系統管 理人員的責任也相對的加重,IT人員需隨時觀察虛擬伺服器的運行狀態,適當的調配系統資源與進行伺服器的維護作業,系統管理人員的知識與經驗也更形重要。

另一要素就是所有資訊系統皆須面對的問題:「資訊安全」,在伺服器虛擬化上也依然存在,甚或更趨嚴重。傳統的惡意攻擊針對的是應用程式、OS、網路,如果攻擊的對象轉到VMM呢?那麼便可能立即癱瘓或接管運行於其上的所有VMs。這麼有效的攻擊,當然駭客絕對不會放過,如何防禦呢?防毒軟體?傳統的防毒軟體得運行在OS之上,而VMM卻在更底層,已經有資安專家示範了直接利用CPU虛擬化技術的病毒,類似隱藏的Rootkit病毒[21],這部份的問題已經引起重視。對於傳統資訊安全防禦系統無法解決的部分課題,業界廠商已著手研擬因應對策並開發新產品,目前在VMM上已陸續有相對應的心資安產品。



玖、伺服器虛擬化的未來


虛擬化已是資訊系統架構的重大課題,伴隨著虛擬技術的演進,可以大膽的預言,OS架構將會越來越薄型化,而VMM架構將越趨重要。在可見的近程上,未來的主要OS都將會內建Hypervisor,無論是Microsoft Windows或者是LinuxOSVMM兩者將更為結合也將更為模糊。

傳統的OS極可能在5~15年後逐漸消失,取而代之的是VMM與應用層虛擬技術結合Application Level Virtualization(如Java.Net)直接架構在硬體系統上,而應用程式直接執行於VMM之上,並透過VMM直接呼叫使用硬體資源。如發展至此,虛擬化技術可就不單單存在於傳統的ServerPC間,相關應用將擴及至各類行動裝置甚至數位家電上。這類將Application虛擬化的應用,正在IT產業間發酵中,如VMware大力推廣Virtual Appliance的觀念與架構,如果您需要建置一套資訊系統,只要將其安裝於VMM平台上即可立刻使用,就如同一般的硬體Appliance設備般簡易,而不用如現今系統建置作業,需先分別採購硬體設備、OS及應用系統等,然後再將其結合。這樣的系統架構思維與發展趨勢,勢必衝擊傳統的資訊系統設計構思,故此建議,舉凡與系統規劃、設計、開發,甚至行銷等有關人員,都得跳脫傳統的窠臼,認真且務實的去面對及因應此一即將發生重大變化。



拾、結語


虛擬伺服器技術在x86平台上仍算是較為新穎的技術,尤其在國內更是如此,相關的資訊既少且雜,而業界IT人員普遍的心態,總是推薦或使用「自我熟悉」或「我會的」技術及解決方案去建置一套新的資訊系統,常常忽略了應該用「最適的」及「最低成本」的技術及可獲解決的方案去建置該系統。此類心態與作為,的確會辜負了企業主、經理人(CEO)、甚至客戶對IT人員的期待與所賦予的職責。由於時勢所趨,在可預見的未來,虛擬化勢將成為往後資訊系統架構重要的發展方向,如何因應及善用虛擬化則是IT人員所須面臨的重要課題。


參考文獻


  1. Wikipedia,虛擬技術,http://zh.wikipedia.org/wiki/%E8%99%9A%E6%8B%9F%E6%8A%80%E6%9C%AF

  2. IBM M. Tim JonesVirtual Linuxhttp://www-128.ibm.com/developerworks/linux/library/l-linuxvirt/?ca=dgr-lnxw09Virtual-Linux

  3. Susanta NandaTzi-cker ChiuehA Survey on Virtulization Technologies

  4. CNW網界 謝文硯,虛擬技術現實全景,http://cnw2005.cnw.com.cn/store/detail/detail_feedback.asp?articleId=48033&ColumnId=1102&pg=&view=

  5. WikipediaHypervisorhttp://en.wikipedia.org/wiki/Hypervisor

  6. JDMBAVMwareXenMicrosoft虛擬化技術解析,http://blog.csdn.net/JDMBA/archive/2006/11/08/1372948.aspx

  7. WikipediaRing (computer security)http://en.wikipedia.org/wiki/Ring_%28computer_security%29

  8. eNet,虛擬化大行其道比量三種虛擬化工具,http://www.enet.com.cn/article/2006/1025/A20061025269015_6.shtml

  9. WikipediaVMwarehttp://zh.wikipedia.org/w/index.php?title=VMware&variant=zh-tw

  10. VMwareVirtualization Overviewhttp://www.vmware.com/pdf/virtualization.pdf

  11. WikipediaVirtual PChttp://zh.wikipedia.org/w/index.php?title=Virtual_PC&variant=zh-tw

  12. CNET,微軟縮減Windows虛擬化功能,http://www.zdnet.com.tw/news/software/0,2000085678,20117867,00.htm

  13. WikipediaXenhttp://zh.wikipedia.org/wiki/Xen

  14. Jun NakajimaHybrid Virtualization-The Next Generation of XenLinuxIntel Open Source Technology Center2007

  15. PUGXen-Installationhttp://www.pug.org/index.php/Xen-Installation

  16. QumranetKVM:Kernel-based Virtualization Driver

  17. WikipediaKernel-based Virtual Machinehttp://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine

  18. IntelIntel Virtualization Technologyhttp://www.intel.com/technology/platform-technology/virtualization/index.htm

  19. AMDAMD's Virtualization Solutionshttp://enterprise.amd.com/us-en/AMD-Business/Business-Solutions/Consolidation/Virtualization.aspx

  20. TechTarget Alex BarrettServer virtualization expert expounds on why blade servers are badhttp://searchservervirtualization.techtarget.com/originalContent/0,289142,sid94_gci1239548,00.html

  21. Matasano Dino A. Dai ZoviHardware Virtualization Rootkits


標籤:

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁