数据中心计算资源池的规划与设计探讨
2021-09-23周福斌
周福斌,杨 巍,何 沅
(中国人民解放军66389部队,河南 郑州 450000)
0 引 言
随着云计算技术的不断发展和应用,以云计算和虚拟化技术为核心的新一代数据中心已成为建设发展的趋势。云数据中心能够满足各行各业应用高性能、高可靠、高安全以及高可用性的要求,实现资源动态调整、按需分配、灵活扩展,大大提高资源利用率和智能化管理水平,降低运维成本。云数据中心建设过程中,云平台的规划设计是重点内容,而计算资源的规划设计又是重中之重,直接关系数据中心效能发挥[1,2]。
1 传统数据中心问题分析
与云数据中心对比,传统数据中心主要存在以下几点不足。
1.1 资源利用率低
当前部分用户存在孤岛式和烟囱式建设情况,各个平台无法直接相互通联,导致资源不能重用。部分用户存在一台服务器部署一套业务系统的现象,服务器空余的大量资源处于空闲状态,经一些机构评测,大部分企业数据中心资源利用率甚至不到20%。还有些用户部署一些阶段性的应用,在较长的一段时间不再使用或者永久停用,但是相关的计算、存储以及网络等资源不能及时、便捷地释放回收,造成一定程度的资源浪费,导致资源利用率低[3]。
1.2 建设维护成本高
传统数据中心业务系统部署在物理服务器中,随着业务的不断扩展,应用系统不断增加,需要不断增加物理服务器的数量,还要增大机房面积,增加配套的制冷和消防设施,导致建设和运维成本不断上升。另外,非云化部署存在设备选型和招标采购等问题,影响业务上线进度,增加时间成本[4]。
1.3 智能化水平低
传统数据中心依靠人力进行运行维护,效率低,出错率高,难以精细掌握整体资源状况,无法实现资源按需调配,无法随进程任务自动调配资源保证性能最优,智能化运维水平较低。
2 计算资源池规划设计的原则
2.1 架构开放
开放的架构主要包含两个层面:一是源代码开放,允许用户自主掌控,可以根据自身需求进行功能的增加、删除和修改;二是标准开放,用户可以使用标准产品构建自己的云计算工程。二者相比,标准开放比源代码开放更加重要,标准的开放可以避免受单个实体控制,带来扩容迭代和升级换代的局限性,避免成本的提高。
2.2 资源弹性可变
资源弹性可变体现在3个层面:一是硬件层面,就是计算、存储以及网络等资源可以线性扩展,快速部署;二是云资源层面,主要体现在资源可以随着应用系统业务量的增加而弹性增加,可以随着应用系统业务量的减少而弹性收缩;三是应用层面,主要体现在灵活的上线部署和下线释放资源,同时可以根据进程任务对计算资源进行智能优化和动态调整,使进程任务在各阶段均获得更好的性能。
2.3 高可用性
高可用性体现在基础框架、物理网络、计算和存储资源、云平台以及业务的高可用性,同时也包含数据的可靠性,各类资源冗余设计,业务逻辑关系松耦合,保证不会因为某个环节出现问题而影响业务的开展[5]。
2.4 可管理性
可管理性主要体现在层次分明且结构简捷,具备清晰智能的可视管理界面,可以实时进行运维管理,满足日常监管和运维需求,及时发现和处理运行中出现的各类故障。
3 计算资源池规划设计与实践
3.1 计算资源池总体规划
计算资源总体规划主要是建立兼容异构虚拟化、容器、裸金属以及高性能计算的统一资源池,通过统一的云平台实现各种资源的统一科学管理,同时根据不同业务的具体需求实现资源的智能调度。通过优化的可视界面,实现对资源的精准把控,使资源合理高效利用,同时也便于资源动态调整满足后期业务扩展需求[6]。计算资源池总体规划如图1所示。
图1 计算资源总体规划图
3.2 虚拟化技术选择
虚拟化技术是云计算底层核心技术之一,它是实现计算、存储以及网络资源充分整合利用的关键技术。利用虚拟化技术构建的资源池具有低成本、高可靠、高可用、高安全、高扩展性以及弹性可变等优势。鉴于国内云计算的底层基本都是基于Openstack,同时对比KVM和XEN内核架构,考虑到KVM是Linux内核的一部分,兼容性好,性能和安全性均高于XEN,且KVM具备强大的生态圈(主流厂商基本全部支持KVM),因此云计算平台虚拟化技术优先选择基于Openstack并选择KVM内核架构[7]。
3.3 功能设计
在进行计算资源池功能设计之前,首先应对现有和将来要承载的业务系统进行分类,主要分为适合虚拟化平台部署的业务和不适合虚拟化平台部署的业务两类。其中前者是指环境有标准化(X86)和快速部署需求、资源利用率相对较低、业务增长快,需要频繁扩容、可以通过虚拟化技术提高系统可用性和可靠性以及可以利用资源池化共享来实现收缩扩展的业务。后者是指厂商明确不支持虚拟化、非X86平台系统、本地I/O或网络吞吐繁忙,将导致整个集群资源产生瓶颈以及业务系统CPU或内存资源需求量达到单台云节点(物理服务器)资源80%以上的业务。
一般来说,用户大部分的业务系统是适合虚拟化的,只有少部分高性能、高I/O需求的业务系统以及需要进行大数据计算和存储的业务系统不适合虚拟化。因此,在计算资源功能设计时,将计算资源池分为以下3类。一是分布式虚拟化服务器资源池,用来针对资源需求较小但资源规格类型较多的情况,利用虚拟化技术进行资源的按需分配和智能调度,便于资源合理充分利用。二是物理机资源池,主要适用于资源开销需求大,高性能和高I/O业务系统的场景,可以避免资源争用导致虚拟资源池整体效能发挥的现象[8]。三是大数据资源池,主要针对海量的非结构化数据且需要分布式存储和分布式计算的场景。
3.4 容量设计
计算资源池容量设计主要包括CPU数量和内存容量计算两部分内容。
资源池CPU数量=业务系统所需服务器CPU数量×CPU平均使用率/(1-CPU预留率)。平均使用率一般取40%,预留率一般取20%[9]。资源池内存容量=业务系统所需服务器内存容量×内存平均使用率/(1-内存预留率)。平均使用率一般取40%,预留率一般取20%。
3.5 可靠性设计
数据中心云化的主要目的是提升数据中心的服务质量和效益,避免和减少业务中断情况,因此计算资源的可靠性设计至关重要,重点应做好以下4个方面的设计。
3.5.1 虚拟化平台的设计
虚拟化平台要采用分布式集群部署,不能存在可能导致服务中断的单点故障。另外虚拟化平台要使用分层结构,管理、计算、存储以及网络等各个部分要达到低耦合,做到相互独立。
3.5.2 HA集群设计
HA是指一种以减少服务中断时间为目的的服务器集群技术,将多台物理机合并为一个共享资源的集群,从而提高业务系统可靠性。HA集群设计主要是在以下3个方面保证可靠性。一是监控集群下的所有虚拟机,当某一台虚拟机发生故障时,HA能够保证在该物理机内重启虚拟机并恢复中断的业务。二是监控集群下所有的物理机,当某台物理机发生故障时,HA能够保证在集群内的其他物理机上重启受影响的虚拟机。三是当某一台虚拟机出现通信故障时,DC会按照策略算法,在空闲的服务器节点上重启该故障虚拟机,从而保证业务的连续性。
3.5.3 虚拟机迁移设计
虚拟机迁移设计应重点从4个方面的保证可靠性。一是保证在用户无感知的情况下完成迁移,二是迁移过程中能够持续智能优化虚拟机资源,三是保证虚拟机运行效率,比如及时将虚拟机从故障或者性能不佳的物理服务器智能迁移至性能较好的物理服务器中运行,四是可以定制化策略迁移,如定时迁移。
3.5.4 虚拟机备份设计
在实践应用中,业务系统备份必不可少,对计算资源池中的虚拟机的备份也非常关键。虚拟机备份设计应重点做好3个方面的设计,一是可以进行单个虚拟机备份,也可以进行集群和资源池备份,二是备份时要保证应用数据的一致性,三是要有基于磁盘的备份功能,以提供快速、简单的数据保护。
3.6 扩展性设计
扩展性设计主要包括虚拟机规格动态调整和自动化资源弹性调度设计。虚拟机规格动态调整主要是虚拟机能根据应用系统的性能需求,灵活调整虚拟机的配置规格,如vCPU数量、内存大小、磁盘卷个数以及网卡数量等。自动化资源弹性调度主要是可以根据单个应用系统的负载情况动态调整实际使用的资源。扩展性设计还应该在系统资源不足时,保证具有较高优先级的应用系统优先使用资源[10]。
4 结 论
数据中心通过云计算虚拟化技术对计算资源的合理规划设计,能够实现计算资源的弹性可变和智能高效,具备高可用性、高可靠性以及高扩展性,可以为用户构建并提供一个可靠、安全、高效、灵活且动态的计算资源池,满足用户应用快速部署和可靠运行的目的。计算资源池已成为云数据中心的基础,将会有极为广阔的发展空间。