云计算是运营商优化自身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.toberp.com/
本文标题:面向一体化桌面云架构的资源调度与管理策略
本文网址:http://www.toberp.com/html/consultation/1083938284.html