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