張興華
(山西職業(yè)技術(shù)學(xué)院,山西 太原 030006)
云桌面是基于虛擬機(jī)技術(shù)(Virtual Machine)構(gòu)建的獨(dú)立于硬件設(shè)備的網(wǎng)絡(luò)化虛擬計算機(jī)系統(tǒng),系統(tǒng)中包含了操作系統(tǒng)、硬盤、光驅(qū)、網(wǎng)卡、USB接口等真實(shí)計算機(jī)所具有的全部軟硬件。用戶可以在虛擬主機(jī)中自行安裝軟件與更新系統(tǒng)設(shè)置,同時虛擬主機(jī)可以使用獨(dú)立的IP地址加入網(wǎng)絡(luò)中充當(dāng)服務(wù)器或客戶機(jī)的角色。虛擬機(jī)技術(shù)的最重要特征是真實(shí)計算機(jī)與其中運(yùn)行虛擬主機(jī)在邏輯上是相互隔離的兩臺獨(dú)立計算機(jī)。云桌面系統(tǒng)在此基礎(chǔ)上,將創(chuàng)建好的虛擬主機(jī)數(shù)據(jù)文件集中存儲在數(shù)據(jù)中心服務(wù)器上,面向數(shù)量眾多的客戶機(jī)動態(tài)批量發(fā)送數(shù)據(jù)并實(shí)時生成用戶桌面。同時,為及時處理與響應(yīng)大量客戶機(jī)的數(shù)據(jù)訪問請求,數(shù)據(jù)中心服務(wù)器一般由數(shù)據(jù)服務(wù)器集群擔(dān)任。
當(dāng)前云桌面系統(tǒng)在部署運(yùn)行中存在的典型問題為學(xué)生機(jī)桌面的操作延時超過臨界值導(dǎo)致的運(yùn)行卡頓、黑屏等情況,其主要原因是:由于學(xué)校規(guī)定了統(tǒng)一的上課時間,分布在各個機(jī)房中的上千臺計算機(jī)會在同一時刻一起向數(shù)據(jù)中心服務(wù)器發(fā)起數(shù)據(jù)訪問請求,在短時間內(nèi)形成并發(fā)負(fù)載峰值,對服務(wù)器的處理能力形成巨大壓力。如果服務(wù)器不能在極短時間內(nèi)迅速完成運(yùn)算處理,會導(dǎo)致出現(xiàn)任務(wù)延時的情況。當(dāng)延時超過影響系統(tǒng)正常運(yùn)行的臨界值時,會直接造成學(xué)生機(jī)中大量出現(xiàn)虛擬機(jī)無序啟動、桌面初始化緩慢、畫面卡頓、操作響應(yīng)遲緩或黑屏等故障。而此時對數(shù)據(jù)中心服務(wù)器進(jìn)行重置操作又會使數(shù)據(jù)服務(wù)器暫停,從而導(dǎo)致所有機(jī)房的云桌面的集體停止運(yùn)行,教學(xué)過程被迫中斷。
為提升服務(wù)器的并發(fā)處理能力、降低系統(tǒng)延時,保障云桌面在學(xué)生機(jī)上的正常運(yùn)行,主流的解決方案是將云桌面系統(tǒng)的數(shù)據(jù)中心服務(wù)器采用集群的方式進(jìn)行橫向擴(kuò)展,將繁重的任務(wù)分配至多臺服務(wù)器上進(jìn)行分布式處理。而在服務(wù)器集群架構(gòu)中,負(fù)載均衡機(jī)制對集群系統(tǒng)的延時控制起到了關(guān)鍵作用。
服務(wù)器集群由多臺服務(wù)器設(shè)備通過網(wǎng)絡(luò)組成的多節(jié)點(diǎn)分布式處理系統(tǒng),可以將復(fù)雜運(yùn)算或海量數(shù)據(jù)存儲任務(wù)分配至系統(tǒng)中的各個服務(wù)器上進(jìn)行同步處理,大幅提升處理效率。同時,集群面向用戶提供統(tǒng)一的訪問接口,即在業(yè)務(wù)邏輯上以單一服務(wù)器的形式出現(xiàn)[1]。服務(wù)器集群技術(shù)除了能夠?qū)?fù)雜任務(wù)進(jìn)行分布式處理之外,最顯著的優(yōu)勢是通過負(fù)載均衡技術(shù)實(shí)時調(diào)整各節(jié)點(diǎn)上的分配任務(wù)數(shù),在節(jié)點(diǎn)處理能力與實(shí)時任務(wù)量之間實(shí)現(xiàn)動態(tài)平衡。負(fù)載均衡技術(shù)是在對集群中每一個節(jié)點(diǎn)的處理能力進(jìn)行量化的基礎(chǔ)上,根據(jù)所處理任務(wù)的特點(diǎn),將負(fù)載合理地分派至各節(jié)點(diǎn)服務(wù)器上,實(shí)現(xiàn)節(jié)點(diǎn)處理能力與任務(wù)量的均衡匹配,最終實(shí)現(xiàn)集群中各個節(jié)點(diǎn)任務(wù)完成時間與效率的一致性、提升集群的整體響應(yīng)速度[2]。
結(jié)合上述問題,本研究在對云桌面系統(tǒng)的整體結(jié)構(gòu)、運(yùn)行機(jī)制進(jìn)行分析的基礎(chǔ)上分別對系統(tǒng)所采用的Hadoop服務(wù)器集群管理框架中的HDFS模塊與MapReduce模塊提出了負(fù)載均衡優(yōu)化方案。HDFS集群系統(tǒng)有一套自帶的負(fù)載均衡機(jī)制,該機(jī)制通過平衡集群節(jié)點(diǎn)的資源分配來解決負(fù)載不均問題,充分地考慮了系統(tǒng)的空間使用率,但卻忽略了集群主機(jī)的分配和資源占用情況,這會造成主機(jī)存儲空間的利用不充分、文件管理不合理等問題。因此基于HDFS負(fù)載均衡機(jī)制的功能優(yōu)化將考慮從文件管理的維度出發(fā),引入MapReduce模塊,結(jié)合其分布式文件管理功能來構(gòu)建多維指標(biāo)的動態(tài)負(fù)載均衡策略。該策略主要基于MapReduce框架運(yùn)行,通過對文件數(shù)據(jù)的采樣結(jié)果分析,使文件存儲與Reduce端的負(fù)載信息進(jìn)行動態(tài)映射,通過對映射關(guān)系的調(diào)整實(shí)現(xiàn)集群主機(jī)的負(fù)載均衡,充分利用好每一個主機(jī)的存儲空間?;贛apReduce的任務(wù)分配框架設(shè)計如圖1所示。
圖1 MapReduce的任務(wù)分配框架
本文針對云桌面系統(tǒng)的運(yùn)行流程與系統(tǒng)結(jié)構(gòu)特征,對系統(tǒng)數(shù)據(jù)中心所使用的Hadoop服務(wù)器集群進(jìn)行了負(fù)載均衡性能的優(yōu)化設(shè)計,通過改善數(shù)據(jù)中心服務(wù)器的運(yùn)行效率來提升云桌面系統(tǒng)的整體性能,以期為云桌面技術(shù)在教育領(lǐng)域中的應(yīng)用與完善提供有益的參考。