1 引言(Introduction)
近年來,虛擬化技術得到普遍應用,由此也開啟了存儲的任意門,面對不斷增長的業(yè)務系統(tǒng)和龐大的數(shù)據(jù)量,普通的單塊或多塊物理硬盤,已經(jīng)不再能滿足需求,由此必須不斷擴充存儲空間,但同時還需要兼顧不影響業(yè)務的正常運作,尤其是大量并發(fā)用戶在同時訪問數(shù)據(jù)中心時,對存儲性能更是提出了新的挑戰(zhàn)。因此存儲架構(gòu)也需要隨機應變,存儲虛擬化技術中,有多種架構(gòu),每種架構(gòu)都有其獨特的優(yōu)勢,但也存在一定的局限性。
本文的研究內(nèi)容主要基于VMware vSphere虛擬化方式,首先簡要介紹了虛擬化和存儲虛擬化的基本概念,研究了虛擬化中數(shù)據(jù)的存儲實現(xiàn)方式,其次分別剖析了虛擬化技術在服務器虛擬化、桌面虛擬化,以及應用虛擬化幾種虛擬化壞境下,遇到的存儲性能方面的瓶頸,最后得出結(jié)論,要想突破此性能瓶頸,必須同時滿足高讀、寫IOPS,高吞吐量,低延遲,以及更快部署和簡單的網(wǎng)絡架構(gòu)。
2 虛擬化簡介(Virtualization profile)
什么是虛擬化,通俗的講,虛擬化就是將一臺物理計算機分割成多臺邏輯計算機。實質(zhì)上虛擬化是指計算機元件在虛擬的基礎上而不是真實的基礎上運行,它是一個為了簡化管理,優(yōu)化資源的解決方案[1]。CPU的虛擬化技術可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統(tǒng),并且應用程序都可以在相互獨立的空間內(nèi)運行而互不影響,從而顯著提高計算機的工作效率。虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程。計算機中,Virtualization是一種資源管理技術,是將計算機的各種實體資源,如服務器、網(wǎng)絡、內(nèi)存及存儲等,予以抽象、轉(zhuǎn)換后呈現(xiàn)出來,打破實體結(jié)構(gòu)間的不可切割的障礙,使用戶可以比原本的組態(tài)更好的方式來應用這些資源。這些資源的新虛擬部分是不受現(xiàn)有資源的架設方式,地域或物理組態(tài)所限制。一般所指的虛擬化資源包括計算能力和資料存儲。
實際生產(chǎn)環(huán)境中,虛擬化技術主要用來解決高性能的物理硬件產(chǎn)能過剩的老的舊的硬件產(chǎn)能過低的重組重用,透明化底層物理硬件,從而最大化的利用物理硬件。
虛擬化技術中,可以同時運行多個操作系統(tǒng),而且每一個操作系統(tǒng)中都有多個程序運行,每一個操作系統(tǒng)都運行在一個虛擬的CPU或者是虛擬主機上。
虛擬化技術也與VMware Workstation等同樣能達到虛擬效果的軟件不同,是一個巨大的技術進步,具體表現(xiàn)在減少軟件虛擬機相關開銷和支持更廣泛的操作系統(tǒng)方面。
3 存儲虛擬化(Storage virtualization)
存儲虛擬化[2]是通過虛擬卷映射、流數(shù)據(jù)定位、數(shù)據(jù)快照、虛擬機等技術實現(xiàn)異構(gòu)存儲設備的統(tǒng)一管理,以及存儲位置無關性而提出的,目的在于屏蔽存儲管理中的一系列復雜問題而向用戶提供簡單透明統(tǒng)一的存儲訪問模式。簡單來說,就是對物理硬盤等存儲資源進行抽象化表示,即將實體存儲空間(如硬盤)分隔成多個不同的邏輯存儲空間。具體來講,就是將可用的物理硬盤等存儲空間分成幾個或若干個虛擬的卷,使得這些磁盤卷不再受磁盤陣列,磁盤驅(qū)動器等實際存儲元件的物理布局或拓撲結(jié)構(gòu)的限制。通常情況下,虛擬的磁盤卷展現(xiàn)在操作系統(tǒng)面前的是一種物理磁盤的抽象,使操作系統(tǒng)像使用硬盤一樣使用。圖1就是存儲虛擬化示意圖。不同的應用系統(tǒng)使用邏輯上不同的存儲空間(虛擬磁盤),但是實質(zhì)上都是使用的一個物理存儲空間,即一塊或多塊物理硬盤構(gòu)成的同一存儲池。
虛擬化連接存儲方式[3]多種多樣,實現(xiàn)方式不同,性能也不盡相同,比如有基于iscsi的,有基于NFS的,有基于NAS網(wǎng)絡的,有基于光纖通道(FC)的等,如圖2存儲虛擬化實現(xiàn)方式所示。
雖然隨著計算機的普及,虛擬化技術的出現(xiàn),顛覆了IT的傳統(tǒng)架構(gòu),使得桌面、應用、數(shù)據(jù)快速的轉(zhuǎn)移到數(shù)據(jù)中心,讓IT變得更加高效、便捷、可擴展、易維護,同時降低了IT建設的成本。然而,在虛擬化技術大幅提升服務器CPU利用率的同時,傳統(tǒng)服務器存儲受其機械原理的局限,無法滿足虛擬化環(huán)境下的共享存儲資源的性能要求。存儲成為制約服務器整體效率的瓶頸。傳統(tǒng)改善的方式,依靠擴展SAN、NAS等網(wǎng)絡存儲,一方面部署成本高昂,另一方面使得IT架構(gòu)和維護變得更加復雜,且最終也無法較好的解決性能瓶頸問題。
4 服務器虛擬化的困境(The plight of server
virtualization)
服務器虛擬化[4]是將服務器物理資源抽象成一種邏輯資源,使得傳統(tǒng)的服務器變成幾個或者是幾十個邏輯上相互隔離的虛擬服務器,使得系統(tǒng)資源不再受到服務器物理上的限制。把CPU、內(nèi)存、硬盤、I/O等硬件集中起來變成可以動態(tài)調(diào)配和管理的統(tǒng)一資源,并將“資源池”中的資源動態(tài)分配給需要工作的負載,實現(xiàn)服務器的整合,達到充分利用服務器硬件資源,提升其利用率的目的。
隨著信息技術的發(fā)展和學校信息化建設的步伐,我校已經(jīng)初步實現(xiàn)服務器虛擬化。服務器虛擬化的部署大大提升了服務器CPU、內(nèi)存等核心資源的利用率,Windows Server或者Linux Server等虛擬機可以動態(tài)的共享服務器的核心資源,確保資源利用最大化的同時,減少服務器的采購、維護及各種電力開銷等成本。服務器虛擬化將服務器CPU的平均利用率從15%提升到75%左右,而存儲性能的低下及用戶并發(fā)、業(yè)務、數(shù)據(jù)的爆發(fā)增長,不得不使用RAID或網(wǎng)絡存儲的方式來緩解,這使得服務器虛擬化整體擁有成本(TCO)依舊保留在一個較高的水平。運行在服務器上的虛擬機,部署著企業(yè)的眾多關鍵應用或服務,如數(shù)據(jù)庫系統(tǒng)、郵件系統(tǒng)、網(wǎng)站系統(tǒng)、共享下載業(yè)務等。這些應用與服務大部分都是用戶并發(fā)量多的IO密集型業(yè)務,因此在小塊數(shù)據(jù)隨機寫、大塊順序讀,或者混合讀寫等方面,對存儲性能提出了更高的要求,而存儲系統(tǒng)本身在虛擬化前僅能夠滿足單系統(tǒng)應用的小并發(fā)需求。在虛擬化后,不同虛擬機及虛擬機上應用系統(tǒng)對存儲的性能爭用,當前業(yè)務、數(shù)據(jù)并發(fā)的爆發(fā)性增長,都使得原有的存儲系統(tǒng)無法滿足服務器虛擬化對存儲性能的需求。
而簡單的磁盤陣列方式的本地存儲擴展,或者NAS、SAN的網(wǎng)絡存儲擴展,在耗費大量的IT成本支出的同時,只能很有限的緩解服務器虛擬化對存儲性能帶來的挑戰(zhàn),無法從根本上解決虛擬化后存儲的性能瓶頸,也無法全面提升服務器虛擬化的整體效率。
5 桌面虛擬化的挑戰(zhàn)(Desktop virtualization
challenges)
VDI[5]英文全稱Virtual Desktop Infrastructure,即虛擬桌面基礎架構(gòu),是近年來虛擬化技術由服務器虛擬化向桌面虛擬化延伸的一個技術名稱。虛擬桌面基礎架構(gòu)采用“集中計算,分布顯示”的原則,通過虛擬化技術,將所有客戶端的運算合為一體,在企業(yè)數(shù)據(jù)中心內(nèi)進行集中處理,而桌面用戶僅負責輸入輸出與界面顯示,不參與任何計算和應用。VDI(虛擬桌面基礎架構(gòu)),帶來了IT桌面交付的巨大變革,在降低IT成本的同時,帶來了更大的靈活性,然而也帶來了全新的挑戰(zhàn),它依托于服務器虛擬化技術,將用戶桌面遷移到數(shù)據(jù)中心,提升了服務器的利用率,降低終端設備成本,同時在IT管控(桌面及應用管理、病毒防護、補丁升級、數(shù)據(jù)安全等)及IT維護(終端采購、故障處理、系統(tǒng)部署等)方面,帶來突破性的變革,在企業(yè)桌面、應用快速增長時,確保IT可以高速及高效的運轉(zhuǎn)。
VDI(虛擬桌面基礎架構(gòu))雖然存在巨大的優(yōu)勢,但同時也引入全新的挑戰(zhàn),除了對網(wǎng)絡的依賴及遠程顯示協(xié)議固有缺陷之外,還有其他問題:如啟動、關閉風暴,當有大量并發(fā)用戶同時登錄、啟動或者關閉虛擬桌面時,對存儲性能進行爭搶,又比如殺毒風暴,當多個虛擬機桌面用戶同時間進行并發(fā)殺毒或者掃描漏洞等,也會造成存儲性能的爭搶,還有一種最常見的就是更新風暴,Windows系統(tǒng)補丁集中進行更新等,這些問題都會給部分用戶帶來啟動桌面數(shù)分鐘,甚至幾十分鐘的延遲,桌面操作卡頓,極大的降低了用戶體驗,原因說到底就是我們的存儲性能低下,讀、寫速度低所致。虛擬桌面通過部署SAN或NAS來試圖解決以上問題,卻又帶來新的挑戰(zhàn),比如IT架構(gòu)改造,無法利用現(xiàn)有服務器環(huán)境部虛擬桌面,需要重新架構(gòu)網(wǎng)絡和存儲,又比如整體成本提升,需要額外眾多光纖或以太存儲及交換設備。
6 應用虛擬化的難題(Problems in applying
virtualization)
至今為止,大家對應用虛擬化[6]的解釋都不盡相同。其中Vmware的解釋是通過應用虛擬化技術,可以將應用軟件的部署、執(zhí)行、升級等操作均在一個隔離環(huán)境中進行,避免了對本地操作系統(tǒng)配置的更改,確保了本地操作系統(tǒng)和其他應用軟件的完整性。由此應用虛擬化帶來了很多有利的價值,諸如可以讓用戶不再需要在本地下載,安裝應用,用戶可以通過共享應用的方式,簡化應用的部署和使用,而企業(yè)也可以更好的來管控用戶在企業(yè)內(nèi)部對應用的使用權(quán)限,提升IT安全。
在應用虛擬化的場景中,客戶端無需部署和安裝應用程序,通過遠程共享應用模式,即眾多的用戶通過網(wǎng)絡遠程共享服務器上的同一應用。這一應用虛擬化方式給部署應用的服務器帶來了極大的IO考驗。眾多并發(fā)的應用訪問使得傳統(tǒng)的存儲IO難以應對,IT不得不拆分并發(fā)量、同時部署額外的服務器來滿足這一需求。
而另一種應用虛擬化場景,是通過沙盒應用的模式,將應用程序沙盒化,存儲于共享應用服務器,用戶在有授權(quán),有需要或者登錄時刻,前往共享應用服務器下載應用,在用戶終端本地或者虛擬桌面無需安裝即可使用這些應用程序。這一場景對存儲系統(tǒng)的吞吐量或者帶寬提出了更大的需求,不得不增加部署共享服務器,以滿足峰值或者大并發(fā)時刻的存儲帶寬需求。
應用虛擬化的出現(xiàn),顛覆了應用的使用方式,同時也給企業(yè)對提升IT安全管控帶來了新思路。應用虛擬化技術可有效解決應用軟件數(shù)量增多帶來的管理壓力、應用軟件配置沖突、部署困難等問題,然而虛擬化應用的最終載體—存儲系統(tǒng)如何去滿足大并發(fā)的存儲帶寬及高IOPS需求,卻是一個很大的難題。
7 結(jié)論(Conclusion)
那么,我們究竟如何解決遇到的這些問題呢?各種虛擬化方式及應用都給用戶帶來了各種便利和價值,然后存儲性能低下、擴展代價高卻成為制約虛擬化發(fā)展的瓶頸。要想突破各種虛擬化方式和應用虛擬化的存儲性能瓶頸,我們就必須要突破虛擬化在存儲系統(tǒng)性能方面的瓶頸,必須同時滿足高讀、寫IOPS,高吞吐量,低延遲,以及更快部署和簡單的架構(gòu)。在此基礎之上,我們才可以進行深層次的虛擬化性能優(yōu)化,全面的提升單虛擬機/桌面的IOPS和吞吐量,在不改變用戶當前虛擬化架構(gòu),以及不進行存儲的復雜擴展的基礎上,徹底解決虛擬化在存儲方面的性能瓶頸,獲得最佳用戶體驗,同時整體降低用戶虛擬化部署的成本。
分享到微信 ×
打開微信,點擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。