基于服务器部件标准化的弹性运营方案

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

前言

随着互联网公有云业务的快速发展,特别是物理云等以提供物理服务器资源为服务平台业务的出现,造成越来越多的服务器机型配置种类需求,使原有的扁平化设备管理模型难以满足业务需求。另一方面由于国情的不同,国内大部分互联网企业服务器设备的使用年限并不限于3年维保周期,很多都接近或超过5年。而超期3年的续维保费用过高使企业一般并不新增采购原厂续保,而是由自身运营团队提供自维保。在运营运维过保设备的过程中,我们发现原本通用化标准化程度很高的服务器关键部件被品牌供应商割裂,使内存、硬盘、SSD、HBA/RAID卡这些易损备件池按服务器品牌形成一个个孤岛。不但使过保备件类型庞大、种类繁多造成过保设备自维保效率低,而且使形成孤岛间的备件资源无法共享,造成资源浪费。综合公有云业务需求和自维保遇到的问题,我们提出利用部件标准化和弹性运营的思路,不但解决云业务的多样化配置需求而且提升应对大量过保设备的自维保能力。

一、背景与痛点

1.1 数据中心服务器海量增长

2010年开始业务进入快速增长期,服务器部署量随之快速增加。从2014年开始过保设备增长量进入快车道,至2015上半年过保设备比例已达到相当高的水平。过保设备不新购昂贵的原厂续保服务,由服务器运营团队负责维保。也就是说服务器团队须替代原厂提供数十万老旧设备的部件维保服务。当设备出现除主板以外的故障时负责更换内存、硬盘、SSD、PCI-e板卡(HBA/RAID/NIC)等故障部件使设备恢复正常运行。而针对这些老旧设备重新做新型部件的兼容性测试是不现实的,在更换这些部件时只能使用同品牌/同型号/同固件版本才能最大限度的保证设备可靠性。

然而部分服务器厂商针对硬盘、SSD、HBA/RAID做了自有固件区分,甚至品牌绑定。

这就使得服务器部件按品牌区分形成一个个孤岛,大大增加了运营复杂度。要保证分布在一百多个机房的数十万过保运营维保难度是相当大的。如不打破当前这种部件孤岛封闭,使服务器部件形成统一的资源池,随着自运营设备数量的不断增加将使服务水平无法为续。

1.2 业务多样化产生设备多样化与管理扁平化矛盾日益严重

另一方面随着公有云业务快速发展,来自外部用户对设备种类和配置的需求不断增加。特别是当前投后云、物理云为数量众多的第三方合作伙伴提供物理服务器需求的增长,使现行的采用扁平化机型资源管理模型难以满足业务发展需求。扁平化机型管理模型是为适应海量业务提供资源统一管理调配而建立的。它的特点是:机型种类扁平化,使设备在各业务间可被复用;服务器资源按机型形成池化运营;适用于数量有限的海量业务,业务软件弹性适应硬件模型。应对数十甚至数百家外部用户的物理机需求,扁平化的管理模型显得力不从心。

要解决这个矛盾,必须要使服务器能够按需进行弹性配置。将“服务器主板+背板+机框+电源 [业内称为L6 BARE BONE]”与CPU、内存、硬盘、PCI-e板卡这标准化的四大件解耦,用按功能类型定义种子机(或称模型机)+标准功能部件模式才能灵活应对大量不同配置服务器需求。

二、弹性运营解决方案

应对公有云业务的需求和矛盾,需要定义种子机+标准部件;应对海量服务器运营,需要实现部件标准化。综合下来,弹性运营即是部件标准化为基础的种子机+部件运营方案。

下面我们从技术实现、质量控制、实施计划三个方面来说明如何实现弹性运营。

2.1 弹性运营的技术实现

部件标准化是弹性运营的前提和基础。首先我们来看部件包括哪些信息。从上图所示,部件不仅仅是其物理本身。他包含的信息很多,包括设计文档、过程文档、部件参数信息、子部件、软件和状态信息,共六个部分。部件标准化的对象是CPU、硬盘、SSD、内存和PCI-e板卡。实现标准化就是统一服务器厂商标准,按腾讯标准在设备研发设计阶段完成选型、测试和认证。

A X86平台CPU目前为Intel所垄断,已成为事实上的标准。

B 硬盘和SSD的标准化程度非常高,无论是插口标准、电气接口还是数据协议都已实现标准化。问题在于各厂商拥有各自独立的固件标准。厂商的固件标准大多出于方便维保识别的目的,如华为、联想、浪潮等国内厂商。在这些厂商服务器中配置使用标准固件的硬盘,系统也是能够正常运行的。但也有出于系统整体统一设计目的的,如HP。HP硬盘与HP HBA或RAID卡是强耦合绑定的,即HP设备上配置使用标准固件硬盘,系统稳定性是受影响的。

C PCI-e板卡,包括HBA、RAID、NIC、GPU、FPGA等标准PCI-e X4/X8/X16的部件。这些部件与硬盘类似,标准化程度很高,行业内已整合成1~2个主流品牌。如Avago的HBA/RAID,Intel/BroadCom的NIC,Nvidia/AMD的GPU、Xilinx/Altera的FPGA。部分国外服务器厂商在这些部件上通过更换自有固件使其维保和品牌绑定在一起。而大部分国内服务器厂商都采用标准原厂固件。

D 内存,是影响系统稳定性非常关键的部件。主板中内存通道信号Margin(宽容度)设计与内存颗粒制程、工艺有密切关系。不同品牌不同频率、制程的内存可用性与混合兼容性都不相同。因此虽然内存物理电气接口标准统一,但不同品牌服务器要求统一内存选型需要非常慎重。企业级市场几乎完全被三星、镁光、HY和东芝这四个品牌占领。服务器厂商针对内存选型的重合度是很高的。初期我们可以从各厂商内存BOM中重合部分选择建立标准。

2.2 弹性运营的运营实现

技术实现只是基础,运营实现才是项目落地的关键。下面从三个部分说明运营优化以适应弹性配置需求。

2.2.1 运营实现部件级

首先是运营对象需从整机转换为部件。弹性运营通过灵活调整服务器标准部件配置满足业务需求的运营模式。现有的针对服务器整机为最小单位的引入、部署、交付、资产、监控、审计和生命周期管理都需要调整为以部件为单位。运营颗粒度精细为部件级使我们能够准确的对部件实现资产审计定位,使按部件定义和区分服务水平成为可能,也保证了部件标准化实施落地成为可稽核校验的能力。至2015年底,我们已经初步具备了部件级的运营能力。

2.2.2 统一的腾讯部件料号管理

所有的服务器厂商都利用料号系统来管理可用部件认证、授权、隔离、采购等相关工作。料号,即Part number或PN。一种部件可有一个PN或多个PN与之对应。如3.5” 7200rpm 2TB SATA硬盘这种部件,有Seagate “ST2000NM0033”,WD“WD2000FYYZ-70UL1B0”两个PN。我们说这些PN都是厂商PN。这些PN在腾讯运营看来都是独立的、唯一的和不可替代的。显然如果直接用厂商PN来定义管理部件,那么就会增加弹性运营的难度和复杂度。举个例子,在HBA硬盘连接硬盘的机型中(如TS6/TS5)不同PN的硬盘是可以混合使用的。但硬盘标准中我们只能使用一个PN单独定义一个标准,如使用2个PN就需要两个硬盘定义。当有两个以上可混合使用的部件PN同时存在时将会造成大量的部件定义矩阵。

我们的应对方案是建立腾讯自己的部件料号管理系统,用腾讯PN来作为运营识别号,屏蔽厂商PN。用上面的例子来解释:我们定义和发布一个3.5” 7200rpm 2TB SATA硬盘的PN(如:SATA2000720035)。在料号管理系统中同时挂接“ST2000NM0033”和“WD2000FYYZ-70UL1B0”。在运营系统中仅需要使用SATA2000720035这个PN来识别管理。在TS5、TS6等HBA连接的设备中可以不区分Seagate还是WD硬盘混合使用。这样大大简化了系统管理,提升了运营效率。

2.2.3 种子机+标准部件模型

业务最终需要的是满足配置要求的服务器设备。那么如何用种子机+标准部件来灵活满足业务数十数百种配置需求呢?

1、目前腾讯按不同配置定义的机型对应服务器厂商产品来说只有2款厂商机型。分别为1U和2U结构。因此我们可以按高计算性能业务、大容量存储业务、高IO DB业务、计算存储型业务和Cache应用等典型业务预置4~5种配置作为种子机。右图是一个示例。假设有一个种子机A,通过变更内存、硬盘和网卡可配置出YPB1-01、YPZ1-02和PYM1-03三款服务器满足业务需求。

2、采购按YPB1-01、YPZ1-02和PYM1-03代号实施采购,如同现在一样。既然是标准部件,当后期需要扩容或在各厂商设备间调配部件时,技术上是可以保证可用性和可靠性的。

3、当YPB1-01设备裁撤退回资源池时,可重新拆解为种子机A+标准部件入库。

4、当新增YPZ1-02需求时,可利用退回资源池的种子机A和部件再新增10G网卡重构后交付业务。

5、当发生维保需求时按供应方提供服务。

2.3 弹性运营的质量控制

一个部件的生命周期要经历概念设计、部件开发、样品验证、批量试产、量产最后停产的六个主要阶段。

作为部件的使用者,我们以往的关注重点往往集中在部件的量产阶段。而部件标准化与部件质量管理要贯穿整个部件的开发周期。在部件生命周期的每个阶段,部件标准化和部件质量管理工作也要有相应的阶段与之对应,它们分别是部件的规格定义、部件的开发质量管理、部件的引入验证测试、部件的故障处理和部件的退役。我们要在部件的概念设计阶段明确而详细的定义部件的需求;要深入到部件开发的阶段,评审部件供应商的开发设计流程,检视设计输出;在部件的设计验证以及批量试产阶段深入的参与,制定部件的测试计划、检视部件的测试报告;在部件量产后,我们要有能力定位部件的批量问题并保证部件的健康运行直至退役。总之贯穿于整个部件生命周期的标准化和质量管理工作是部件运营的基础。

简单来说初期阶段可以通过三个环节控制弹性配置服务器的质量,包括部件兼容性保障、全配置预测试和改装验收测试。

2.3.1 部件兼容性保障

服务器供应商是部件兼容性保障的主体。OEM合作模式要求服务器厂商必须保证所提供设备的可靠性和稳定性。在弹性运营初期,标准化部件清单可以按各厂商现有部件BOM中抽取交集来确保标准化部件为各厂商所认证。后续当我们需要新增厂商PN或引入新型部件时须要求各合作厂商按标准部件/固件实施兼容性认证。

在各厂商保证标准部件兼容性的前提下,腾讯服务器团队会参与厂商检测流程并根据腾讯应用模型利用自动化平台工具同步实施认证。

各厂商服务器对标准部件实施了兼容性认证,那么就确保了后续在各厂商种子机框架内调配增减标准部件时的设备可用性和可靠性。

2.3.2 全配置预测试

针对种子机模型实施完整满配置条件下厂商PN交叉预测试。这里所说的厂商PN交叉测试是指腾讯PN下包含有多个厂商PN的情况下的PN混合交叉测试。

业务团队提出机型配置需求,如果按现有流程需30天才能确认配置方案满足性能、网络、监控、运营运维等引入标准。实施全配置的预测试,可以在设立种子机模型时就完成各种典型配置的预测试,包括各种配置条件下的性能指标、功耗数据并确认运营运维可用性。当业务需求提出时便可即日交付。并且在后期针对实现PN交叉测试的设备可以非常方便的在腾讯PN体系内实现灵活混合扩容改造。避免后期重新测试验证的冗长工作周期。

2.3.3 自动化测试工具平台

有了标准和流程,还需要工具平台支撑。我们正逐步建立起完善的自动化测试工具平台,能够在设备引入、直配、配置变更改造、退役评估等阶段实施测试评估。

2.4 弹性运营与资源池化

我们认为资源池化是解决大规模数据中心服务器灵活性的最终解决方案。基于硬件虚拟化平台的资源池化方案能够最大限度的将计算、存储和网络资源池化后按需分配调度管理。但目前受限于硬件技术尚不成熟。预计2018~2020年前后才能完全产品化落地。在现有运营模式与资源池化模式之前,弹性运营模式是很好的补充和过渡。2016~2018的三年间利用弹性运营,可以逐步推动部件级运营管理流程、部件引入标准和测试工具平台成熟化,为资源池化运营完成基础准备。

收益与风险

收益

通过部件标准化实现弹性运营可以让我们预见到业务运营和设备运维效率两个方面收益。

对业务运营来说

①可以将新建机型效率提升85%。由于在建立种子机时已完成全配置交叉预测试,使机型创建时间由20天缩减至3天;

②整个引入交付周期也将相应提升90%。种子机+标准部件模型在运营一段时间后便会形成共享资源池。业务需求可以利用资源池组合消化满足,大大缩减设备评审采购周期;

③针对现网设备配置改造时间由于腾讯料号管理系统和预测试的实施,缩减大量再验证时间,可使现有6周改造SLA缩减至1周,效率提升600%。

对设备运维来说

①部件标准化并建立腾讯料号管理系统后预计可使部件类型缩减90%,以使备件需求数量减少90%;

②腾讯料号管理系统帮助实现备件种类缩减可简化自维保设备备件数量,提升备件命中率。由现在的70%提升至90%。

风险

弹性运营最大的风险来自于维保和供应。

现已与腾讯服务器供应商确认在种子机框架内增减标准部件的维保责任。按来源各自承担维保,维保周期与服务水平按实际采购提供。但在后续具体实施过程中仍有可能会由于设备故障/问题原因无法快速定位而带来维保责任纠纷。例如内存批次差别带来的系统稳定性问题很难在短时间内落实原因。类似这样的问题需要在部件引入过程中付出大量协调设备厂商、部件厂商测试验证的工作,同时还需要随着项目推进不断地增加自身技术能力。

供应风险是显而易见的。服务器供应商部件物料管理是按照其自身PN管理系统作为技术标准结合商务标准来动态管理的。如果我们强制指定1~2个标准部件,将有可能或造成物料短缺无法供应的情况。这需要预先与服务器厂商和部件厂商对齐需求。应对突发需求要求我们不断的增加可选的标准部件种类。这可以在后期随着能力的增长而增加。

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

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

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

原文发表时间:2015-12-26

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BestSDK

【一周简报】谷歌地图的三大开源SDK替代品

编辑导语 支付解决方案提供商BeeCloud宣布提供Apple Pay在线支付SDK服务;一登sdk功能更新,人脸检索上线;即将到来谷歌AndroidN系统优化...

284100
来自专栏magicsoar

《驾驭大数据》读书笔记

花费一个礼拜的时间把驾驭大数据这本书看完了,书不是很厚,200多页。(写读书笔记又花费了我一个礼拜的时间……………) 就像前言里讲的那样,书里并没有涉及到太多余...

24750
来自专栏灯塔大数据

干货|互联网运营数据分析必须掌握的十个经典方法

? 眼花缭乱的东西很多,真正派上用场的,却不见得是那些看起来炫酷的。很多方法朴实无华,却解决大量的问题。 下面十个方法都是我这么多年做互联网运营分析时一定会用...

33240
来自专栏华章科技

如何在三年内快速成长为一名技术专家

工作前三年是职业生涯中成长最快的几年,在这段时间里你会充满激情,做事专注,也容易养成良好的习惯。在我们公司有些同学在前三年中就快速成为某一个领域的技术专家,有些...

8620
来自专栏SDNLAB

现代数据中心标准COTS服务器的演进

数据中心内的x86商用成品(COTS)服务器的标准化已经经过了很长时间,因为该架构提供了多功能、低成本、易于集成、更有效地维护和管理配置文件,总而言之,其成本低...

35640
来自专栏腾讯技术工程官方号的专栏

大牛书单 | 系统架构方向好书推荐

导语:读书是一生的功课,技术人通过读书实现自我提升,学习优秀技术沉淀。TEG书知道本期特邀腾讯TEG架构平台部专家工程师高向冉、腾讯TEG架构平台部高级工程师黄...

40840
来自专栏Crossin的编程教室

成为优秀程序员的10个有效方法

一个优秀的程序员就是那种即使是过单行道都要往两边看的人。 ——Doug Linder 作为一个在IT行业的软件程序员,每天促使我去上班的动力就是对编程的乐趣和激...

310100
来自专栏大数据文摘

[干货]手把手带你了解实时看板(50PPT)

66520
来自专栏腾讯大讲堂的专栏

大数据在服务器运营中的应用

腾讯公司从2012年开始,通过对服务器运营流程、工具系统的建设,服务器从一线到三线的运营基本转入线上自动化。在服务器静态配置、动态的运行状态和生命周期各个节点的...

297100
来自专栏数据的力量

干货|互联网运营数据分析必须掌握的十个经典方法

42280

扫码关注云+社区

领取腾讯云代金券