云計算是運營商優化自身IT 架構的重要策略之一,而如何高效的管理終端則始終困擾著企業信息化人員,尤其是需強管控的營業廳類生產任務型終端正面臨來自安全、運維、能耗、管理,以及TCO 成本等多方面的挑戰。
桌面云正是誕生于這種背景下,它是將終端計算機的各個邏輯單元進行“松耦合”的過程,它將傳統模式下用戶側的操作系統、應用程序和用戶數據轉移到數據中心進行運行和保存。用戶利用瘦終端(TC)或者“智能終端+軟終端”(智能終端含普通臺式機、筆記本電腦、智能手機等),鑒權認證后通過優化的網絡協議訪問數據中心云端服務器和應用程序。本地不保留關鍵數據,實現用戶桌面環境的集中存儲、監控與管理。
桌面云架構由終端側、網絡側和云平臺側三部分組成[2]。終端與網絡側主要為用戶提供一種接入手段,云平臺側為桌面云架構的核心,云平臺側主要包含業務層、資源管理調度層、虛擬資源層、物理資源層、網絡層、物理層六大部分。按功能可將六大功能模塊劃分為兩大功能域,即:管理功能域與虛擬資源域。其中虛擬資源域主要功能為將物理資源抽象為虛擬資源。管理功能域主要功能為接受用戶注冊到云平臺,并調度相應虛擬資源給用戶。
通過引入桌面云,用戶的訪問模型由二層(終端->應用)變為三層(客戶端->桌面云->應用),用戶可按需獲得更充沛的桌面應用程序運行能力,在技術層面利用數據中心提供集中、統一的安全防護能力,有效的提升了企業信息安全級別,同時,利用虛擬化等技術共享后臺計算和存儲資源,桌面資源利用率提高1 倍以上。運維管理方面虛擬桌面與瘦終端的統一管理與交付有效推動了終端管理的標準化,同時隨用戶桌面集中至數據中心,運維效率得到極大提升,并且單用戶能耗降至50W,節能減排效益顯著。經濟效益方面隨著用戶規模的放量,時間的遞增,整個TCO 效果愈加明顯。
目前,通用桌面云解決方案多立足于本地網,試圖借助虛擬化技術將一個或幾個數據中心的計算能力整合后交付給最終用戶,對于當前用戶規模,現有架構基本可以實現預期目標,但并不足以支撐將桌面云作為一種通用解決方案進行推廣。
本文通過對現有架構進行分析,結合運營商生產任務型終端場景,建立了一套符合運營商實際,并能充分解決目前終端管理困擾的一體化桌面云架構,并以用戶體驗為核心對現有資源調度策略進行優化,為桌面云的順利推廣奠定了基礎。
1 一體化桌面云架構
造成傳統桌面云局限性的最主要原因是現有架構沒有站在整體的角度去匹配用戶需求。首先,從管理角度來看,現有架構下終端依舊為分點、分散管理,缺乏一種標準的辦法和手段來支撐全集團對終端的統一管控;其次,從風險角度來看,桌面云的引入實際上是在用戶與后臺系統之間增加了一層,它的可靠性、穩定性直接決定了用戶體驗,因此,不能簡單的將桌面云作為普通的IT 系統考慮,它的重要性級別應約等于后臺CRM 類業務系統,同時隨終端集中,服務中斷風險對現有架構提出了新的考驗;再次,從資源共享的角度,桌面云是一種IaaS 服務[4],它將數據中心的計算能力抽象后提供給用戶,分散架構分區域建立多片云,但云之間難以交互,這與云計算資源整合、資源共享的理念相違背;最后,從成本的角度,分散架構難以形成規模效應、無法發揮云計算集約性優勢,容易照成資源的浪費。
通過上文分析,集中化架構是提升桌面云能力,實現統一管控的一種有效手段。集中的最大瓶頸在于網絡,單用戶虛擬終端帶寬需求在100-200kbps 之間,同時虛擬終端對網絡的時延、抖動要求較高,對于運營商十萬級的終端規模,現有DCN 網尚無集中承載所有虛擬終端的能力。因此需對現有桌面云架構進行充分解耦,分析各個功能模塊的集中需求,采用分級集中的方式實現標準、統一。
虛擬資源域的集中需求主要來自于場景、運維與成本三個方面。營業廳類生產任務型終端主要任務在于與后臺CRM 類業務系統的信息交互,目前運營商的CRM 類業務系統已實現分省集中部署,電子渠道類系統甚至已全國集中,因此將虛擬終端集中至數據中心后,可以將系統間的大數據量交互消化在數據中心內部,可極大的改善用戶體驗。運維方面,虛擬終端集中后,原有分散的運維方式得到了極大的改善,運維工作可集中在數據中心內部完成,提升了運維響應速度的同時,極大的降低了運維隊伍規模。成本方面,集中后產生的規模效應可有效的改善運營成本。但受限于虛擬終端的帶寬需求與用戶SLA 與QoS 要求,尚不具備將虛擬終端進行物理全國集中的條件,同時考慮部分業務系統分省集中部署的現狀,考慮對虛擬資源域分省集中。
圖1 一體化桌面云架構
管理功能域的集中需求主要來自管理、安全、服務可靠性三部分。桌面云對運營商生產任務型終端管理的最大提升在于提供一種標準、統一的管理手段,管理是運營商引入桌面云的最主要驅動。將管理功能集中后,可提供統一的終端管理手段,實現完整的終端資產管理;其次,管理功能集中使標準終端桌面鏡像、統一補丁分發成為可能,有效提升了終端的標準化程度,規避了敏感信息泄露的風險;最后,管理功能集中后可實現虛擬資源的跨省、跨區域調度,規避了某個數據中心宕機導致服務中斷的風險。同時管理功能集中并無網絡等方面因素制約,因此考慮將管理功能域全國集中。
圖2 一體化架構與傳統架構對比分析
2 一體化桌面云架構下資源的調度與管理
2.1 資源池創建原理
一個高可用、可動態擴展的計算資源池是桌面云解決方案成功的基礎,計算資源池是借助Hypervisor(虛擬資源層)的能力通過將物理服務器虛擬成多個VM(虛擬機)而形成的。
Hypervisor 采用混合型虛擬化架構模式,如下圖。其中Hypervisor 為介于硬件與操作系統之間的一個薄軟件層,實際上為一個經過裁剪改造的linux,主要功能為虛擬硬件資源,為服務器上運行的虛擬機提供一個運行時環境。hypervisor 負責各虛擬機間CPU、內存的管理與調度,但不能處理網絡、IO、存儲等請求。這些請求借助其上運行的HOST OS 的I/O 設備驅動能力實現。HOST OS 是唯一運行于Hypervisor 之上的虛擬機,它具有訪問物理I/O 資源的權限,負責與其他虛擬機的交互。Hypervisor 同時負責多個VM 間物理資源的動態調配。
2.2 物理硬件資源層資源調度
云計算是一種破壞性的創新,它通過整合物理資源成功消除了傳統應用系統“煙囪式”架構的種種弊端,但它在帶來資源共享、按需分配等好處的同時,也對現有技術架構、運維體系產生了巨大的沖擊,如何保障桌面云化后用戶體驗不降低已成為以桌面云為代表的云計算解決方案成敗的關鍵。由于對虛擬資源的調度與管理很大程度上決定了桌面云平臺所提供的服務質量,本文的另一個研究重點是設計一套適用于一體化桌面云架構的資源調度與管理策略,以便將合適的虛擬資源交付給最終用戶,并通過資源的動態調配來保障用戶體驗。
圖3 混合型虛擬化架構模式
2.2.1 傳統桌面云架構下物理硬件資源層資源調度
在桌面云架構中,包含對底層物理硬件資源以及資源池中的虛擬資源兩個層面的調度與管理。對于底層物理硬件資源的調度與管理主要由Hypervisor 實現。Hypervisor 對資源調度實際上是一個將VCPU 映射至物理CPU 的過程,Hypervisor 以VCPU 為單位來對硬件資源進行調度,首先Hypervisor 為GUEST VM分配相應VCPU(一個GUEST VM 可對應多個VCPU,但同一VCPU 只能分配給唯一的GUEST VM),之后GUEST OS 通過自有的線程調度算法將核心線程映射到VCPU 上。最終VCPU 由Hypervisor 上的調度算法映射至物理CPU 上。
Hypervisor 資源調度算法Credit是一個按比例共享物理CPU 資源的非搶占式調度算法,它的核心思想是將物理CPU 資源公平的分配給每一個VCPU。Credit 算法通過為GUEST VM 定義二元組(weight,cap)來標識虛擬機對物理cpu 占用的優先級。其中weight 值表示當前虛擬機可以占用物理cpu 時間的比例,cap 值表示虛擬機可占用的最大物理CPU 時間。
圖4 credit 算法
每個VCPU 有over,under 兩個優先級,Credit算法為每個物理CPU 維護兩個雙鏈表隊列,即Under隊列與Over 隊列。隊列上的元素為被分配到該物理CPU 上運行的VCPU,隊列按照先到先服務方式排序。Credit 算法通過監測每個VCPU 的credit 值消耗(由對應VM 的weight 與cap 計算得出)來調整隊列上VCPU 的服務順序。當credit>0 時,表示該VCPU 請求的資源尚未被足額分配,仍可被物理CPU 調度,處于under 優先級;當credit<0 時,表示分配給該VCPU的時間片已經被消耗完,不能再被CPU 調度,處于over 優先級。
當一個VCPU 被調度執行時,Credit 算法會每隔10ms 觸發一次時間中斷,并將當前運行的VCPU 的credit 值減掉100,如果credit 值>0,則繼續執行,否則將它插入到over 隊列的尾部。每隔30ms,如果under隊列上VCPU 排序仍沒有變化,Credit 算法會對under隊列重新排序,將當前運行的VCPU 放至under 隊列隊尾,即當一個VCPU 的credit 值夠多時,它最多可以運行3 個調度時長。如果當前VCPU 均處于over 隊列時,Credit 算法支持從其他物理CPU 隊列中調度處于under 優先級的VCPU 運行。只有當前所有VCPU均處于over 隊列時,才會對所有活動VCPU 重新賦值。
2.2.2 物理硬件資源層資源調度優化
Credit 算法實現了將物理CPU 資源公平的分配給用戶,但在實際場景中,用戶的優先級并不相同,不同用戶的SLA 與QoS 存在差異。以營業廳為例,存在主管、VIP 營業員、普通營業員三類用戶角色。這三類角色業務緊迫性程度: VIP 營業員>普通營業員>主管,因此結合用戶場景緊迫程度高的用戶需被優先響應。
本文針對營業廳類生產任務型場景提出了一種改進型Credit 算法,在新的算法中,為物理CPU 額外維護一個boost 隊列,位于該隊列的VCPU 處于就緒狀態,即,當前映射在物理CPU 上的VCPU 結束運行后,優先調度位于booest 隊列上的VCPU。同時為每個GUEST VM 增加一個屬性:優先權值(factor),用于標識被調度VM 上承載業務的緊迫程度。當VCPU 結束運行應被移到under 隊尾時,檢測其對應factor 值是否大于0,如果大于0,則將該VCPU 放入booest 隊列,Factor 值減1,boost 隊列按factor 值大小進行排序,只有當boost 隊列為空時,才會調度under 隊列中的VCPU,factor 值刷新頻率與credit 值刷新頻率保持一致。改進后,只要一個VM 的優先級較高(即factor值>0),當它自身時間片消耗完后,不會被放置與under隊尾,而是按其factor 值放置于boost 隊列相應位置,從而保障優先級較高的用戶可以搶占比它優先級低的VCPU, 實現此類高級別用戶延遲的降低。
2.2.3 虛擬資源調度優化
資源池建立之后,如何將虛擬資源(即VM)高效、合理的分配給用戶便成了最大問題。資源調度的目標是動態平衡資源池中各節點的工作負載,同時保證服務的高可用性。在一體化的桌面云架構中,將以此資源調度過程劃分為四個步驟:資源請求、資源探測、資源選擇、資源監控。
為統一管理這些虛擬資源,將每個可用的虛擬資源抽象成一個可調度單元(Unit),每個Unit 由一個二元組V(C,M)確定,其中C 表示CPU 大小,M 表示內存大小。則一臺物理服務器Si 最多能虛擬的Unit數為:
同時引入分組的思想,將具有相同使用特點的資源分組,從而避免因統一調度大量無規則資源對云平臺性能的消耗,即為可調度單元引入新屬性F,每個Unit 由一個三元組V(C,M,F)決定,其中F 表示資源的核心特性,結合上文對生產任務型終端的分類,生產任務型場景下共包含三類不同特性的虛擬資源。當用戶登入云平臺,并輸入相應能力需求即完成了資源請求。云平臺接到用戶資源請求之后,會首先通過安裝在每臺服務器節點上的數據收集模塊探測節點負載信息(即:計算每個資源節點剩余的不同特性的可用資源數量)與服務器響應時間。
然后采用動態優先權(Priority)算法,選擇Priority值最高節點,將其上與用戶特性相匹配的虛擬資源交付給用戶。動態優先權(Priority)算法即將服務器分組,給每個組定義不同優先權,用戶請求會分配給優先權最高的服務器組(在同一組內,采用輪詢或比率算法,分配用戶的請求)。每組服務器的Priority 值由當前節點的負載情況與服務器響應時間共同決定。動態優先權算法的核心思想是用戶請求由當前負載最小且響應最短的資源節點承載。
其中,F 表示用戶需求特性權重,LT 表示服務器響應時間,μ表示時間優先權轉換比。當用戶請求到Priority= Unittotal*F + LT*μ達時,Priority 值動態更新。
最后云平臺會跟根據運行在每個節點上的Agent反饋的狀態信息對每個服務器節點進行實時監控,一旦某個節點發生故障,云平臺會將用戶桌面遷移至其他資源節點。
3 結語
云計算對整個IT 產業的影響日益深遠,它已成為運營商解決自身IT 問題的重要手段。云計算已經不再局限于一種技術手段,它開始更多的從服務模式、產業鏈構成、管控架構方面改變企業。桌面云作為云計算破壞式創新的產物從終端管理薄弱環節入手,優化IT 產品和服務,并推動傳統IT 運營體系的變革。本文搭建起一套適應未來發展的一體化桌面云架構,并在此架構下,結合運營商營業廳類生產任務型場景,通過引入業務重要性級別對hypervisor 層資源調度算法進行優化,同時在此基礎上對虛擬資源調度策略進行改進,以提升用戶體驗。本文所設計的架構與優化策略已成功應用于國內某運營商,有效推動了其終端云化進程,解決了終端管理面臨的種種難題。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.vmgcyvh.cn/
本文標題:面向一體化桌面云架構的資源調度與管理策略
本文網址:http://www.vmgcyvh.cn/html/consultation/1083938284.html