路 海,廖曉菊,張 曼
(中國(guó)工程物理研究院 計(jì)算機(jī)應(yīng)用研究所,四川 綿陽(yáng)621900)
采用虛擬桌面系統(tǒng)(virtual desktop infrastructure,VDI)技術(shù)后,桌面系統(tǒng)的IT 基礎(chǔ)架構(gòu)發(fā)生了重大變化,將原來(lái)分布式的計(jì)算能力、數(shù)據(jù)存儲(chǔ)能力、網(wǎng)絡(luò)交換能力集中到后端數(shù)據(jù)中心內(nèi)。由于架構(gòu)的巨大差異,驅(qū)動(dòng)企業(yè)網(wǎng)VDI系統(tǒng)的數(shù)據(jù)中心需要密集的服務(wù)器設(shè)備和存儲(chǔ)設(shè)備,這部分基礎(chǔ)架構(gòu)的成本占據(jù)了VDI系統(tǒng)成本的較大比例。因此計(jì)算和設(shè)計(jì)企業(yè)網(wǎng)數(shù)據(jù)中心內(nèi)的VDI基礎(chǔ)架構(gòu)承載能力,成為了VDI系統(tǒng)設(shè)計(jì)的重要內(nèi)容。錯(cuò)誤的設(shè)計(jì)將導(dǎo)致嚴(yán)重后果——VDI系統(tǒng)因缺乏承載能力無(wú)法滿足需求,或者因過(guò)分設(shè)計(jì)浪費(fèi)大量的投資。在實(shí)際工程設(shè)計(jì)中,需要簡(jiǎn)便、有效、普適的方法測(cè)算和設(shè)計(jì)VDI系統(tǒng)的承載能力。
針對(duì)企業(yè)網(wǎng)私有云環(huán)境,本文給出了一種數(shù)據(jù)中心VDI基礎(chǔ)架構(gòu)的承載能力估算和設(shè)計(jì)方法。該方法通過(guò)計(jì)算VDI基礎(chǔ)架構(gòu)(服務(wù)器、存儲(chǔ)和WAN 網(wǎng)絡(luò)帶寬)的關(guān)鍵性能和容量的承載能力,進(jìn)而確定數(shù)據(jù)中心VDI基礎(chǔ)架構(gòu)主要的能力指標(biāo)和規(guī)格參數(shù)。同時(shí)為了提高估算的準(zhǔn)確性和適應(yīng)性,本文給出了關(guān)鍵參數(shù)測(cè)試校準(zhǔn)的基本方法。
針對(duì)VDI基礎(chǔ)架構(gòu)性能和容量的優(yōu)化設(shè)計(jì),本文總結(jié)了主要的優(yōu)化途徑。通過(guò)性能設(shè)計(jì)的優(yōu)化技術(shù)可提升VDI系統(tǒng)的承載能力、降低成本。
在企業(yè)網(wǎng)的環(huán)境下,VDI系統(tǒng)的性能包括:基礎(chǔ)架構(gòu)性能、虛擬化Hypervisor性能以及虛擬桌面系統(tǒng)內(nèi)操作系統(tǒng)和應(yīng)用軟件的性能。VDI基礎(chǔ)架構(gòu)決定了VDI系統(tǒng)硬件提供的性能和容量。其中3個(gè)主要的因素是:計(jì)算資源性能和容量、存儲(chǔ)資源性能和容量、網(wǎng)絡(luò)性能和帶寬。
VDI系統(tǒng)性能和容量視圖如圖1所示。
圖1 VDI系統(tǒng)性能和容量視圖
VDI基礎(chǔ)架構(gòu)性能和容量設(shè)計(jì)的輸入是用戶規(guī)模和用戶工作量。用戶工作量特指桌面用戶利用桌面系統(tǒng)所完成的工作。用戶工作量與用戶角色、部門職能相關(guān),不同類型用戶的工作量差別可能很大。為了便于工程應(yīng)用,在性能設(shè)計(jì)中可將用戶分為2種類型:
(1)任務(wù)型用戶:每次使用一個(gè)應(yīng)用,以辦公和字處理為主;
(2)知識(shí)型用戶:每次使用多個(gè)應(yīng)用,而且應(yīng)用種類眾多。需要支持多媒體和外設(shè)。
在開(kāi)展系統(tǒng)設(shè)計(jì)前,需分別對(duì)各類型用戶進(jìn)行性能度量指標(biāo)的測(cè)試和統(tǒng)計(jì),如:CPU 利用率、內(nèi)存分配率、網(wǎng)絡(luò)帶寬、磁盤IO 訪問(wèn),利用性能評(píng)估公式計(jì)算VDI基礎(chǔ)架構(gòu)的關(guān)鍵設(shè)計(jì)指標(biāo)。
將現(xiàn)有桌面用戶遷移到VDI架構(gòu)前,應(yīng)對(duì)每個(gè)桌面用戶分組的計(jì)算資源需求進(jìn)行測(cè)算,得出承載虛擬化平臺(tái)的宿主服務(wù)器的配置。關(guān)鍵度量因素包括:CPU 的利用率需求和內(nèi)存的利用率需求。
以下評(píng)估公式用于計(jì)算VDI宿主服務(wù)器可承載虛擬桌面操作系統(tǒng)的容量P,其中宿主服務(wù)器CPU 資源可承載虛擬桌面操作系統(tǒng)的最大數(shù)量為Pcpu,宿主服務(wù)器內(nèi)存資源可承載虛擬桌面操作系統(tǒng)的最大數(shù)量為Pmem
計(jì)算Pcpu所需的參數(shù)為宿主服務(wù)器CPU 路數(shù)S,宿主服務(wù)器CPU 核心數(shù)/線程數(shù)C,宿主服務(wù)器CPU 時(shí)鐘頻率H。桌面虛擬化系統(tǒng)CPU 保護(hù)系數(shù)α和單臺(tái)虛擬化桌面操作系統(tǒng)對(duì)CPU 的需求β是兩個(gè)經(jīng)驗(yàn)系數(shù)
計(jì)算Pmem所需的參數(shù)為宿主服務(wù)器內(nèi)存總量M。桌面虛擬化系統(tǒng)內(nèi)存保護(hù)系數(shù)γ和單臺(tái)虛擬桌面操作系統(tǒng)對(duì)內(nèi)存的需求μ
CPU 保護(hù)系數(shù)α和內(nèi)存保護(hù)系數(shù)γ為虛擬化平臺(tái)運(yùn)行消耗、計(jì)算資源利用巔峰、VDI負(fù)載過(guò)載等留出余量,其單位為百分比。以VMware ESXi 5.0為例,廠家α系數(shù)的建議值為10%—25%,γ系數(shù)的建議值為6%-15%。
在目前企業(yè)網(wǎng)環(huán)境下,虛擬桌面操作系統(tǒng)以微軟Windows XP和Windows 7為主。根據(jù)廠商的技術(shù)文檔,可確定通用用戶桌面操作系統(tǒng)(Windows XP和Windows 7)的單臺(tái)虛擬化桌面操作系統(tǒng)對(duì)CPU 的需求β和對(duì)內(nèi)存的需求μ的經(jīng)驗(yàn)值見(jiàn)表1。
表1 不同用戶類型的β和μ經(jīng)驗(yàn)值
式(1)~式(3)給出了VDI計(jì)算資源性能和容量的理論評(píng)估公式,然而實(shí)際VDI服務(wù)器系統(tǒng)的負(fù)載能力還需要根據(jù)用戶桌面負(fù)載、硬件系統(tǒng)部署的具體情況進(jìn)行測(cè)試。以以下測(cè)試系統(tǒng)為例:①宿主服務(wù)器:2 路8 核Intel Xeon E5-2600 主頻2.4GHz內(nèi)存128GB;②虛擬化環(huán)境VMware ESXi 5.1、VMware View 5.1、連接協(xié)議PCoIP;③桌面操作系統(tǒng) 配置:Windows XP 32 位專業(yè)版SP3,1 個(gè) 虛 擬CPU、1GB 虛 擬 內(nèi) 存,Office 2007、Internet Explorer、Adobe Acrobat 9。
通過(guò)評(píng)估公式計(jì)算得出的可承載最大虛擬桌面操作系統(tǒng)數(shù)量見(jiàn)表2。
表2 不同用戶類型的P實(shí)例值
實(shí)際測(cè)試中,對(duì)宿主服務(wù)器的平均CPU 利用率、存儲(chǔ)利用率進(jìn)行測(cè)量。以CPU 負(fù)載為85%的場(chǎng)景為例,測(cè)試結(jié)果與Pcpu評(píng)估公式測(cè)算的偏差為11.5%,與Pmem評(píng)估公式測(cè)算的偏差為10.6%。
測(cè)試環(huán)境下Pcpu和Pmem測(cè)量值如圖2所示。
圖2 測(cè)試環(huán)境下Pcpu和Pmem測(cè)量值
采用式(1)估算虛擬桌面操作系統(tǒng)的容量P 時(shí),CPU需求β和內(nèi)存需求μ是影響測(cè)算準(zhǔn)確性的重要參數(shù),需要進(jìn)行測(cè)試校準(zhǔn)。測(cè)試校準(zhǔn)的主要方法是:首先確定用戶類型,并根據(jù)功能需求將用戶歸類和分組;其次是針對(duì)每組用戶桌面操作系統(tǒng)進(jìn)行測(cè)試,設(shè)計(jì)若干組CPU 和內(nèi)存配置樣本,進(jìn)行用戶體驗(yàn)測(cè)試;最終滿足接受準(zhǔn)則的最低CPU和內(nèi)存配置確定該組桌面操作系統(tǒng)的β和μ。
測(cè)試的重點(diǎn)是確定接受準(zhǔn)則。特定測(cè)試對(duì)象的接受準(zhǔn)則可能存在較大差異,但是以下接受準(zhǔn)則適用于多數(shù)場(chǎng)景:
(1)常用應(yīng)用軟件打開(kāi)時(shí)間小于5s;
(2)CPU 平均利用率低于80%;
(3)內(nèi)存平均利用率低于70%;
(4)平均IO 延遲小于20ms。
在VDI環(huán)境下,采用內(nèi)存和操作系統(tǒng)優(yōu)化技術(shù),可提升VDI的承載密度。以VMware ESXi 5.0 和Windows桌面操作系統(tǒng)為例,可利用的優(yōu)化技術(shù)包括:
(1)透明頁(yè)共享(transparent page sharing,TPS)技術(shù)是Hypervisor內(nèi)存頁(yè)面消重技術(shù),適用于多臺(tái)虛擬機(jī)運(yùn)行相同OS的場(chǎng)景;
(2)內(nèi)存氣球(ballooning)技術(shù)可動(dòng)態(tài)回收虛擬機(jī)占用的閑置內(nèi)存,當(dāng)VDI承載密度較大時(shí),可有效提升物理內(nèi)存的利用率;
(3)對(duì)Windows桌面操作系統(tǒng)的性能優(yōu)化可有效降低Windows對(duì)CPU 的需求。例如:在 “視覺(jué)效果”中啟用“最佳性能調(diào)整”選項(xiàng)、關(guān)閉休眠、禁用不必要的設(shè)備、禁用Windows頁(yè)交換、禁用磁盤碎片整理、優(yōu)化自動(dòng)更新策略、刪除桌面背景、禁用索引服務(wù)等。
VDI架構(gòu)中,存儲(chǔ)系統(tǒng)的性能是決定VDI性能的關(guān)鍵,其中關(guān)鍵度量因素包括IOPS和容量。
以下評(píng)估公式分別用于計(jì)算VDI系統(tǒng)存儲(chǔ)IOPS和存儲(chǔ)容量S。其中單個(gè)虛擬桌面操作系統(tǒng)所需的IOPS為IOPSos,用戶個(gè)人業(yè)務(wù)文件所需的IOPS為IOPSdata,虛擬化平臺(tái)所需的IOPS為IOPShyper。單個(gè)虛擬桌面操作系統(tǒng)所需的存儲(chǔ)容量為Sos,用戶個(gè)人業(yè)務(wù)文件所需的存儲(chǔ)容量為Sdata
以Windows XP和Windows 7為例,IOPSos、IOPSdata、IOPShyper和Sos的經(jīng)驗(yàn)值見(jiàn)表3。
表3 存儲(chǔ)估算公式的變量參考值
以以下企業(yè)網(wǎng)VDI系統(tǒng)為例:
(1)100用戶;
(2)以辦公和文字處理為主;
(3)操作系統(tǒng)為Windows 7專業(yè)版;
(4)用戶平均個(gè)人業(yè)務(wù)數(shù)據(jù)配額為20GB。
可通過(guò)以上評(píng)估公式測(cè)算出該VDI系統(tǒng)的IOPS和容量指標(biāo)分別為:1600IOPS和5TB。存儲(chǔ)性能和容量指標(biāo)可為存儲(chǔ)系統(tǒng)的配置設(shè)計(jì)提供依據(jù)。
以上評(píng)估公式給出了VDI存儲(chǔ)資源性能和容量的通用測(cè)算方法,實(shí)際中還需注意IOPS的測(cè)算僅針對(duì)系統(tǒng)正常運(yùn)行和用戶正常使用的情況,不能應(yīng)對(duì)VDI啟動(dòng)風(fēng)暴、登錄風(fēng)暴、掃描風(fēng)暴、備份風(fēng)暴。因此在VDI系統(tǒng)的具體設(shè)計(jì)中,還需要設(shè)定運(yùn)行策略規(guī)避以上極端情況的出現(xiàn)。
在VDI環(huán)境下,通過(guò)存儲(chǔ)優(yōu)化技術(shù)可提升VDI的存儲(chǔ)承載容量和IO 性能、降低成本:
(1)通過(guò)SSD 或DRAM 存儲(chǔ)緩存技術(shù),提高存儲(chǔ)IOPS;
(2)利用存儲(chǔ)系統(tǒng)數(shù)據(jù)占位(data footprint)優(yōu)化技術(shù)可有效地縮減虛擬桌面對(duì)存儲(chǔ)空間的消耗。當(dāng)大規(guī)模部署VDI時(shí),重復(fù)數(shù)據(jù)刪除、自動(dòng)精簡(jiǎn)配置是非常必要的配置。重復(fù)數(shù)據(jù)刪除與連接克隆技術(shù)結(jié)合還可提升VDI數(shù)據(jù)的IO性能;
(3)存儲(chǔ)系統(tǒng)高密度承載虛擬機(jī)時(shí),應(yīng)采用虛擬機(jī)分區(qū)對(duì)齊(partition alignment)技術(shù)。分區(qū)對(duì)齊技術(shù)可將虛擬機(jī)的分區(qū)與存儲(chǔ)分區(qū)邊界對(duì)齊,可有效降低IO 讀寫次數(shù),進(jìn)而降低IO 延遲、提升存儲(chǔ)IOPS和吞吐量;
(4)采用鏡像動(dòng)態(tài)組裝技術(shù)、連接克隆技術(shù),可令每組相同配置的用戶組擁有共享一個(gè)操作系統(tǒng)鏡像,可大大縮減用戶桌面操作系統(tǒng)占用的存儲(chǔ)空間;
(5)通過(guò)文件重定向技術(shù)、NAS集中存儲(chǔ)技術(shù),將用戶配置文件(Windows profile data)、臨時(shí)文件、用戶數(shù)據(jù)與Windows系統(tǒng)盤分離,也可提升整個(gè)系統(tǒng)的存儲(chǔ)性能。
以下是實(shí)際場(chǎng)景的一組實(shí)際測(cè)試數(shù)據(jù)。在存儲(chǔ)IO 優(yōu)化前,存儲(chǔ)性能數(shù)據(jù)與評(píng)估公式測(cè)算的偏差為5.6%,啟用了SSD緩存和分區(qū)對(duì)齊優(yōu)化后,存儲(chǔ)的IOPS指標(biāo)提升了35%。
測(cè)試環(huán)境下IOPS測(cè)量值如圖3所示。
圖3 測(cè)試環(huán)境下IOPS測(cè)量值
在廣泛采用百兆和千兆以太網(wǎng)技術(shù)的局域網(wǎng)環(huán)境下,VDI系統(tǒng)端到端帶寬需求是可以得到充足保障的。但是在需要支持分支機(jī)構(gòu)的企業(yè)網(wǎng)環(huán)境下,必須對(duì)廣域網(wǎng)的帶寬進(jìn)行評(píng)估和測(cè)算。
WAN 帶寬估算公式如下,C代表確定帶寬的廣域網(wǎng)鏈路可承載的并發(fā)虛擬桌面會(huì)話數(shù),B 代表WAN 鏈路帶寬,X 代表單個(gè)虛擬桌面會(huì)話所需的帶寬
在不同配置和使用場(chǎng)景的VDI系統(tǒng),X 的變化范圍非常大。影響X 的因素包括:
(1)虛擬桌面?zhèn)鬏攨f(xié)議,包括:傳輸加密算法、傳輸壓縮算法、顯示渲染實(shí)現(xiàn)方法(服務(wù)器端或瘦客戶端);
(2)桌面系統(tǒng)配置的應(yīng)用程序,以及用戶的使用方式;
(3)桌面操作系統(tǒng)顯示體驗(yàn)配置;
(4)視頻播放和打印的解決方案。
因此在估算WAN 帶寬能力之前,需先通過(guò)實(shí)際測(cè)試校準(zhǔn)X。測(cè)量X 之前,應(yīng)根據(jù)實(shí)際需求確定用戶種類,再根據(jù)不同用戶類型組,制定完整的測(cè)試環(huán)境配置計(jì)劃,覆蓋影響X 的關(guān)鍵因素以及對(duì)應(yīng)的測(cè)試用例。
以下是在T1鏈路(帶寬為1.544Mbps)PCoIP協(xié)議環(huán)境獲取的典型辦公VDI測(cè)試會(huì)話的流量利用率采樣。如圖4所示。
圖4 T1鏈路VDI會(huì)話的流量利用率樣本
測(cè)試顯示VDI登錄、關(guān)閉應(yīng)用和注銷對(duì)流量消耗較小。啟動(dòng)應(yīng)用、應(yīng)用導(dǎo)致顯示變化較大時(shí),流量負(fù)荷擊中T1帶寬上限。根據(jù)測(cè)試結(jié)果可得出以下一組X參數(shù)測(cè)量值見(jiàn)表4。
表4 一組X 參數(shù)的測(cè)量值
VDI系統(tǒng)WAN 帶寬優(yōu)化設(shè)計(jì)可圍繞影響X 參數(shù)的因素開(kāi)展:
(1)VDI傳輸協(xié)議的選擇;
(2)Windows桌面操作系統(tǒng)的顯示體驗(yàn)配置優(yōu)化,包括:分辨率、色深度、基于最佳性能的視覺(jué)效果配置;
(3)通過(guò)廣域網(wǎng)加速系統(tǒng)提升VDI打印的網(wǎng)絡(luò)性能;
(4)通過(guò)廣域網(wǎng)QoS保障視頻播放效果。
VDI的架構(gòu)要求數(shù)據(jù)中心IT 基礎(chǔ)架構(gòu)具備足夠的性能和容量。通過(guò)對(duì)VDI性能因素的分析,提出了VDI基礎(chǔ)架構(gòu)關(guān)鍵性能和容量指標(biāo)的承載能力測(cè)算方法,進(jìn)而可確定關(guān)鍵設(shè)備的關(guān)鍵技術(shù)指標(biāo)和規(guī)格。該測(cè)算方法適用于初步設(shè)計(jì)階段對(duì)IT 基礎(chǔ)架構(gòu)的性能和容量的測(cè)算和設(shè)計(jì),模型和算法簡(jiǎn)潔,對(duì)測(cè)試環(huán)境和測(cè)試工具的要求不高,便于工程應(yīng)用。考慮到VDI系統(tǒng)及其影響其性能因素的復(fù)雜性,在工程實(shí)際應(yīng)用中還應(yīng)結(jié)合實(shí)際系統(tǒng)和使用場(chǎng)景,對(duì)不同用戶類型進(jìn)行分組驗(yàn)證測(cè)試,根據(jù)測(cè)試結(jié)果校準(zhǔn)參數(shù),利用估算公式準(zhǔn)確量化系統(tǒng)的性能設(shè)計(jì)指標(biāo)。
[1]Andrzej Kochut.Power and performance modeling of virtualized desktop systems[C]//IEEE International Symposium on MASCOTS,2009.
[2]HUAI Jinpeng.Research and design on hypervisor based virtual computing environment[J].Journal of Software,2007,18 (8):2016-2026 (in Chinese).[懷進(jìn)鵬.基于虛擬機(jī)的虛擬計(jì)算環(huán)境研究 與設(shè)計(jì) [J].軟件學(xué)報(bào),2007,18 (8):2016-2026.]
[3]ZHENG Zhiyun.Multi-goal load balancing research in virtual environment[J].Computer Engineering and Design,2012,33 (11):4200-4203 (in Chinese). [鄭志蘊(yùn).虛擬化環(huán)境中多目標(biāo)負(fù)載均衡的研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(11):4200-4203.]
[4]Workload considerations for virtual desktop reference architectures info guide[EB/OL].[2012-08-21].http://vmware.com/files/pdf/VMware-WP-WorkloadConsiderations-WP-EN.pdf.
[5]Cisco virtual workspace(VXI)smart solution 2.7[EB/OL].[2013-05-11].http://www.cisco.com/en/US/docs/solutions/Enterprise/Data_Center/VXI/AG/VXI_AG.pdf.
[6]YANG Linfeng.Research on the performance of network virtualization in XEN [J].Microcomputer Applications,2009,25 (10):11-13 (in Chinese).[楊林鳳.面向XEN 網(wǎng)絡(luò)虛擬化的性能研究 [J].微型電腦應(yīng)用,2009,25 (10):11-13.]
[7]Andrea Chierici.Increasing performance in KVM virtualization within a Tier-1environment[J].Journal of Physics:Conference Series,2012,396 (13):1-12.
[8]Federico Calzolari.High availability using virtualization [J].Journal of Physics:Conference Series,2010,219 (5):1-10.
[9]Seungpyo Hong.Efficient and flexible 3Dvirtual desktop system in the windows environment[J].Journal of Measurement Science and Instrumentation,2010,1 (Suppl.):178-181.
[10]Virtualization best practices[EB/OL].[2013-05-11].http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/liaatbestpractices pdf.pdf.