专栏首页鹅厂网事服务器资源池化技术发展趋势简介

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

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

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

海量数据正以前所未有的增长趋势冲击着整个数据中心行业,数据中心建设者们不得不以一种新的思考方式去重新审视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),作者:王伟

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯服务器平台发展与创新简介

    前言: 服务器是业务应用的载体,也是资源运营和系统运维的最小单位。服务器平台规划直接影响业务应用的效率和资源运营维护的效率以及IDC建设规划。因此服...

    鹅厂网事
  • T-Flex 2.0 模块化服务器系统框架

    欢迎关注公众帐号“鹅厂网事”,我们给你提供最新的行业动态信息、腾讯网络与服务器最接地气的干货分享,还有一大波互动交流板块和有奖活动正在筹备当中,需要您的热情参...

    鹅厂网事
  • 弹性服务器架构-连接一切的力量

    一颗芯片,寄存器通过总线向运算器输送数据。一台服务器,内存通过DDR总线与处理器完成数据互动。一个数据中心,存储集群通过以太网与计算集群形成对数据流的处理和加工...

    鹅厂网事
  • 通过分布式缓存实现缓存可伸缩

    缓存是改善网站性能的最重要手段,一方面缓存使用内存存储数据,可以更快速地响应请求;另一方面大量数据访问请求通过缓存返回,减少数据库压力,进一步改善性能 目前网站...

    dys
  • 一天一大 lee(课程表)难度:中等-Day20200804

    你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。

    前端小书童
  • Java 14 :NullPointerException的处理新方式

    在Java语言中,处理空指针往往是一件很头疼的事情,一不小心,说不定就搞出个线上Bug,让你的绩效考核拿到3.25。最近新出的Java14,相信大家都有所耳闻,...

    程序猿DD
  • 记录一些服务端术语和搭建web服务器

    CS(Client/Server),基于安装包类型的桌面或手机软件模式,比如常见的QQ、微信、迅雷等等。 优点是 :基于安装包,性能更高,安全性更高。 缺点是:...

    tandaxia
  • 【玩转腾讯云】十三.基于云平台的安全攻防靶场系统构建

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • 神经网络通俗指南:一文看懂神经网络工作原理

    【新智元导读】 本文带来对深度神经网络的通俗介绍,附动图展示。 现在谈人工智能已经绕不开“神经网络”这个词了。人造神经网络粗线条地模拟人脑,使得计算机能够从数据...

    新智元
  • 稳扎稳打JS——自由变量

    自由变量的作用域在程序运行前就已经确定! 自由变量相当于Java中的全局变量,它在外层作用域中声明,但在内层作用域中使用,如下所示: var a = 1; f...

    大闲人柴毛毛

扫码关注云+社区

领取腾讯云代金券