服务器资源池化技术发展趋势简介

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。

网络平台部以构建敏捷、弹性、低成本的业界领先海量互联网云计算服务平台,为支撑腾讯公司业务持续发展,为业务建立竞争优势、构建行业健康生态而持续贡献价值!

海量数据正以前所未有的增长趋势冲击着整个数据中心行业,数据中心建设者们不得不以一种新的思考方式去重新审视IT系统架构。服务器作为数据中心的核心部件之一,为了适应未来大规模业务增长的需求,也需要对其架构进行优化和重构。  

服务器的硬件重构关乎大规模数据中心的效率和成本问题,目标是降低服务器硬件购置成本、提高服务器硬件资源的利用率、降低服务器运维成本,降低综合TCO。

为什么要搞服务器资源池化?

  腾讯的现役服务器超过数十万台,其中传统的机架式服务器占比超过90%。传统的机架式服务器计算、存储、网络资源配比较为均衡,具有很好的通用性,是比较典型的“One size fits all”方案。所以,在腾讯十多年服务器发展历程中,机架式服务器承担着非常重要的奠基石作用。但是,随着腾讯的单体业务的规模膨胀,传统机架式服务器在应对大规模业务模型时,显露出些丝疲态,在运行某一种资源密集型的应用,效率不够高,还影响密度。譬如:

  计算密集型应用,空着的内存插槽、驱动器仓、扩展槽位都影响计算密度; 

 内存密集型应用,驱动器仓和扩展槽位可能是浪费空间;

  存储密集型应用,CPU 和内存的设计配置过高了…… 

 为此,我们付出的代价是:定制不同型号的服务器。目前腾讯现役机型超过百种,新采购机型超过数十种。服务类型的增加,不仅给服务器的资源管理带来了困难,也给服务器的运营增加了很多困难和成本。  传统机架式服务器应对大规模数据中心暴露出来的问题,不仅仅是腾讯一家,业界很多互联网企业、云服务提供商都面临着这个问题。数据中心的负责是多样性的,下图很形象的展示了数据中心不同负载对CPU、MEM、IO的需求:

  数据中心工作负载的多样性,横轴是I/O 密集程度,纵轴是CPU 和内存密集程度,可见一个计算和存储等资源配比相对均衡的系统,是很难做到对多种不同应用优化的。

  不同类型资源之间也存在生命周期不同步的问题。譬如,CPU 是发展速度最快的,每两三年就性能翻倍,然而存储的技术发展相对缓慢,从而会造成CPU性能和功耗的浪费。  服务器资源池化技术,除了能够带来灵活、弹性的资源部署,提高资源利用率这个优势,还能够更有效的提高服务器的故障修复能力,提升服务器运营效率。综合腾讯十多年的运营数据,硬盘是故障率最高的部件之一,在实现存储池化技术后,多盘存储资源池为单体硬盘提供了很好的冗余设计能力。当单个硬盘出现故障后,可以及时使用其他硬盘资源进行无损恢复,无需立即现场更换硬盘。

有谁在研究服务器资源池化?

 为了解决这个问题,业界以Intel、Google为首的多家公司着手研究新型的服务器架构。

  Intel提出了RSA(Rack Scale Architecture)架构、Google携手伯克利大学提出了WSC(Warehouse Scale Computer)的概念。Intel的RSA架构已经有了清晰的架构设计和路标,目前原型机已经面世。而Google的WSC仍在概念阶段,只有简单的时间表,2020年。什么是服务器资源池化?  在这里,我们以Intel的RSA为范例,简单介绍一下服务器资源池化技术。用一句形象的话来比喻RSA:Rack As a Server,即一个机柜就像是一台大型服务器。Intel RSA(Rack Scale Architecture) 架构提供了一种机架重构的方案,其思想是将几种重要的资源池化:CPU 池、内存池、存储池,池化的RSA 模型可以很方便地进行管理和扩展,并降低运行维护成本。业务软件或者OS的视角看到的还是一台传统的服务器,有CPU、内存、硬盘、网卡等,如下图所示:

 服务器重构并资源池化后,面临的最大的挑战就是,挑战一:互连与时延(拓扑结构与接口);挑战二:配置与管理(协议与监控)。

挑战一:互连与时延。资源池之间的网络互连,在链路层协议上,可以有很多种,Intel RSA采用的是以太网,行业上还有其他公司采用PCIe、SAS、Fabric等。不同的网络互连协议,各具优缺点,我们也期待着各种技术的探索成果。但是在物理层上,各家的观点殊途同归:硅光技术。硅光技术不仅继承了光纤传输的高速、低时延的特点,同时也大幅提升了接口密度。

挑战二:配置与管理。服务器的部件资源池化后,需要对部件资源进行发现、记录、分配、回收,以及对逻辑服务器进行组装、卸载等,需要定义一套新的管理软件和协议。目前Intel定义了一套RSA管理软件,提供对服务器资源池的发现、配置和管理。

  RSA管理软件不仅仅实现对内部池化资源的配置管理,同样对上提供管理接口,对接OpenStack或VMware等管理软件。服务器资源池化后,产生了大量的配置管理的数据,传统使用I2C总线的IPMI接口和协议,由于传输速率低、协议承载信息量小,无法满足资源池化的配置管理需求。此前,Intel联合HP、Dell建立了一套新的数据中心管理软件协议Redfish,也被Intel导入RSA软件架构,用于优化资源池化管理。

业务软件的同事可能比较关心,服务器资源池化后,对业务软件会有什么影响吗?答案是,不会。服务器资源池化,是从硬件角度对服务器硬件资源进行优化重构;从软件层面来看,是透明的。创建了逻辑服务器后,软件和OS看到的与传统服务器的硬件部件没有区别。

已经有虚拟化技术和云服务了,为什么还需要服务器资源池化? 

  虚拟化技术和云服务都是基于虚拟化技术,将单个服务器硬件虚拟成多个虚拟机VM,其目的也是在于提高服务器资源的利用率。但是,由于单个服务器的CPU、内存、硬盘资源颗粒度较小,因此在虚拟化应用中,经常出现资源配置空洞,要么是CPU核数没有分配完,要么是内存没有分配完,更多的情况是硬盘容量存在大量空闲。  而服务器资源池化可以更好的解决上述问题。现在的虚拟化云服务是一虚多的能力,而未来的服务器资源池化提供的将是多虚多的能力。

云服务是通过软件层面提供的虚拟化服务,而服务器资源池化则是在硬件层面提供的虚拟化能力,两者不存在矛盾,反而是相辅相成的。服务器资源池化后,创建出来的逻辑服务器上,可以继续运行虚拟化和云服务器软件,再创建出虚拟机给用户使用。服务器资源池化后,可以进一步减少云服务产生的资源配置空洞,进一步提高硬件资源的利用率,减少TCO成本。

腾讯目前在服务器资源池化上的研究进展

  2014年腾讯服务器平台中心基于资源池化的概念,进行了存储池化的技术预研和POC验证。使用现有的传统机架服务器,搭建了一套存储池化的简易POC模型,如下图所示:

  将20台腾讯的B/C类服务器去除硬盘后,组成计算资源池,使用1台TSx存储服务器作为存储资源池,然后基于万兆网络完成存储池与计算池的互连。资源配置方面,将存储池的硬盘划分成20个LUN,用于分配给20个Bx/Cx计算节点的启动盘。

  实验中,腾讯实现了20台逻辑服务器的组装,实现了服务器的批量自动部署、远程网络启动、逻辑服务器复位后自组装启动等功能,证实了启动盘存储池化的可行性设计。性能数据方面,通过多次测试和数据捕捉,发现单台TSx的磁盘性能基本能够满足20台Bx/Cx的同时启动的数据读取需求;网络端口的流量上,10GE网卡刚刚能够满足20台Bx/Cx的数据吞吐量要求,而且网络吞吐量与启动节点数成正比,如下图:

  整体数据表明,存储池化技术是可以满足多计算节点共享启动盘的需求的。这为服务器弹性部署和扩展提供了强有力的数据支撑。为腾讯下一步在服务器资源池化的研究奠定了坚实的基础。  前文也提到过资源池化在故障运维上带来的优势,为此,腾讯在2014年的POC验证中,也设计并验证了单体硬盘故障的无损恢复功能。

  在POC设计上,存储池采用全局RAID设计,当单个物理硬件出现故障时,不影响业务使用。单个资源的故障可在线使用备用资源实时无损修复,无需人工立即到现场进行磁盘更换修复。综述

  服务器资源池化技术在灵活弹性部署、故障冗余能力、降低TCO等方面都具备优势,但是在技术细节上还存在很多疑问有待探索。腾讯服务器平台中心会持续跟进行业最新的资源池化技术动态,保持与合作伙伴、业务BG的密切合作,设计T-Rack3.0,为腾讯提高更具竞争力的服务器解决方案。

注1:凡注明来自“鹅厂网事”的文字和图片等作品,版权均属于“深圳市腾讯计算机系统有限公司”所有,未经官方授权,不得使用,如有违反,一经查实,将保留追究权利;

注2:本文图片部分来至互联网,如涉及相关版权问题,请联系tracyyun@tencent.com

原文发布于微信公众号 - 鹅厂网事(tencent_network)

原文发表时间:2015-04-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

Word类报表实例 - 质量检测报告

质量检测报告或称为检验报告为商家或机构提供正规、专业、快捷的质量检测服务如各省市国家质检机构,行业权威性有资质认定的检测的机构等。希望能够通过质验报告能全面、客...

16330
来自专栏程序人生

Sound of silence: 数据传输的小众黑科技

上周面试了一个来自俄罗斯的 android 工程师。很 geek,对 office 的 binary format(不是后来的 xml format)做过深入的...

29050
来自专栏鹅厂优文

鹅厂优文 | Cocos微信小游戏开发

微信小游戏终于准备对外开放了,有兴趣的独立游戏创作人终于有新的天地可以开辟了。

2.4K150
来自专栏博客园

WPF---Binding学习(一)

程序的本质是数据+算法。数据会在存储、逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要。但算法在3层中的分布是不均匀的,对于一个3层结构的程序来...

16550
来自专栏安全领域

启动物联网项目所需的一切:第 2 章

我们将继续对围绕物联网或流处理系统的一些技术问题建立完整的基础和多方面的理解。

81080
来自专栏编舟记

敏捷活动实践 —— 验收条件

在故事基础部分,我提到用户故事通常是日常或者商务语言写成的句子,这些句子描述了用户在其工作职责范围内想要达成的某个目的以及达成该目的需要的功能(手段)。所以书写...

17960
来自专栏Golang语言社区

【十问十答】对话Go语言开发团队

o是谷歌推出的一门编程语言。熟悉Go语言的开发者都知道其弥补了C语言的不足并且保持了C的极简主义。使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、...

35660
来自专栏BestSDK

听云SDK发布《2017中国云计算评测报告》,一文读懂所有云服务的优劣势

听云发布《2017中国云计算评测报告》,本次报告从用户视角出发,对各家云服务提供商的综合用户体验、性能与可用性以及服务与易用性这三个方面进行了盘点,凸显出各家云...

46360
来自专栏企鹅号快讯

OpenContrail 移交 Linux 基金会、TensorFlow 曝安全风险……

导读 本周开源云业内倒是出现一些比较有趣的消息。首先是Deepo项目在GitHub上的爆红。小编简单了解了一下该项目,用“强大”来形容并不为过,其不但能实现快速...

21950
来自专栏新智元

MIT 开发廉价闪存设备,处理图数据性能堪比服务器

14330

扫码关注云+社区

领取腾讯云代金券