B站大规模数据中心搬迁的挑战与实践

科技   2024-11-01 07:31   广东  

01背景概述


历时18个月,跨越长三角多个地区,搬迁数万台服务器和交换机设备……B站数据中心圆满完成搬迁项目,新机房拥有更先进的基础设施和更全面的技术支持,将进一步优化上层业务布局,支撑业务整体的异地多活,有效提升资源利用率和运营稳定性,为广大B站用户带来更好的访问服务体验。




为什么要搬迁机房呢?随着近些年来B站业务迅速发展,对于基础设施的稳定性和可持续性要求也不断提高,而早期启用的机房相对老旧且分散,数据中心机柜已经饱和、可扩展性差且成本较高。同时为了支持业务多活建设、在离线业务混部和降低成本,对机房搬迁的需求更是与日俱增。我们经过综合考虑并权衡B站的各种因素,包括但不限于技术要求、服务质量以及成本效益等方面。最终,我们选择高频率、滚动搬迁的方式来进行机房搬迁项目,一方面能够满足我们对搬迁过程的要求,另一方面也同时保证了 B 站业务稳定运行。

数据中心搬迁是技术能力和组织管理能力的有机整合,本文主要从基础设施的角度出发,尽可能深入浅出地向大家阐明数据中心搬迁的整体背景,介绍搬迁的前期规划和准备,分析搬迁中面临的问题和挑战,盘点搬迁后的整体收益,最后还分享了我们对于机房搬迁的思考和总结。希望能通过我们的技术方案和实践经验,带给大家一些帮助和启发。


02 机房搬迁“牵一发而动全身”


此次涉及搬迁的四个机房支撑B站几乎全部在线和离线业务应用,是B站建站以来最复杂、最大规模的数据中心及业务迁移。在长达18个月的高频率滚动搬迁中,需要应对搬迁规模大、项目周期长、调度场景复杂、协调方面多、执行难度大等各种挑战。


1.项目管理难:项目涉及团队涵盖系统部、资源运营、基础架构、采购、各业务部门、机房代维、搬迁供应商等诸多参与方,整体协调难度大,做好统筹管理是高效顺利完成机房搬迁的关键。举例来说,从外部协调的视角来看,设备进出会涉及报关等流程事项,那就需要提前协调机房授权、报关、搬迁物流车辆及人员,时刻关注机房下架和物流情况,从而确保设备准确、快速到达目的地。而从内部协调的视角来看,搬迁涉及B站所有业务部门,需要协调好业务下线停机和上线窗口,编排业务设备搬迁批次,搬迁后及时有效交付业务,保障搬迁期间业务的连续性和稳定性。

2.搬迁效率要求高:为了控制成本,减少为搬迁准备的冗余资源开销,最终采用了每周滚动的搬迁模式,平均每周搬迁设备超过500台,单批次最多1700余台。这就需要提前规划好完备的技术方案,从而确保每周搬迁设备能够稳定、高效地交付给业务,才能保障每周搬迁班车正常运转。 

  • 设备规模:搬迁设备类型多、数量多,包括机架服务器、刀片服务器、柜顶交换机、核心交换机、商业存储集群等。

  • 历史债务:服务器品牌众多、代次各不相同、运维管理能力参差不齐,同时存在大量过保设备;旧数据中心基础网络架构不一、网络环境复杂。

  • 交付效率:交付时限短、操作复杂度高,物理设备搬迁到位后要求3天内交付业务。原机房搬出阻力较大,机房封网、进出流程等政策频繁变化等。此外,需要保证搬迁设备低故障率,严格按照搬迁各环节SOP执行,实现搬迁设备故障率低于0.1%

  • 搬迁流程:业务多且复杂、下线停机难,需找到所有业务负责人确认运行的应用,安排业务迁移、验证并停机;由于业务迁移下线不符合预期导致非计划变更搬迁方案频率高。

  • 基础设施:新数据中心采用了更新、更优的网络架构,这本身就对服务器的上架规划提出了更高的要求,与此同时也需要保证新数据中心基础设施综合利用率,这进一步提高了服务器设备上架规划难度。

3.业务迁移复杂:本次搬迁涉及业务几乎覆盖B站的全业务场景,且业务之间往往存在严格的依赖关系,因此在开启搬迁项目之前,要深入调研各类业务的迁移需求,从而提前准备好搬迁方案以及各类问题应急预案,诸如数据中心间专线带宽、延迟和高可用的标准等要求。

  • 离线场景:数据量大、大带宽专线要求、冗余资源需求高。

  • 在线场景:延迟敏感、依赖跨AZ调度方案、稳定性要求高。


03 整体搬迁方案


机房搬迁是一项复杂的系统性工程,需要提前指定详细的规划和执行方案,从而确保业务连续性和数据安全。因此,在搬迁实施之前,完整的项目执行方案必须就位,方案包括项目评估、整体计划、前置准备、机房搬迁批次规划、业务迁移规划、应急预案等。


1.项目评估


项目启动前需要对项目的可行性、效率和影响进行综合性分析,确保搬迁项目能够按照预定目标和标准顺利推进,并对项目的潜在风险和收益进行评价。项目评估主要包含以下内容:

1.梳理现状:对B站现有的所有机房,结合业务分布、技术架构、多活规划等进行梳理。

  • B站的机房按照业务类型分为在线和离线机房。

  • 随着B站业务不断增长,老机房容量不足且网络收敛比低于1:1,满足不了业务日益增长的资源和网络带宽需求,特别是AI相关应用。同时,老的机房在运维中曾暴露出质量问题,出现过漏水、掉电、锡须等质量问题,影响了业务的稳定运行。

  • 多机房给业务提升了容量管理的复杂度,机房容量限制让部分时延敏感的业务机器部署难度增加,也导致机房之间互联的传输线路、网络设备等成本增加。按照业务的定位,机房在离线隔离,服务器资源利用率低,在离线混部规模受限于机房间的网络传输带宽。

2.成本分析:综合考虑机房的IDC成本、商务条件以及B站未来3年的服务器增长后,成本分析给出了相当乐观的结论:搬迁机房可以带来显著的成本收益,而且在搬迁完成后的次月即可对收益开始回收。

  • 早期机房,因机器规模小,机房容量小,扩展性差,价格高。

  • 新机房不仅有更大的容量满足B站业务的增长,且通过先进的节能设备和高效的运维管理,达到更优秀的PUE(电源使用效率)水平,节省电力成本。

  • 新机房定位为在离线混部机房,网络收敛比能达到1:1,满足了业务带宽的需求,能支撑大规模的在离线混部,为提升服务器资源利用率打下基础。

  • 考虑到服务器搬迁,但不能影响B站业务,搬迁过程中,业务需要足够的冗余服务器来进行业务迁移。搬迁的冗余服务器在搬迁项目结束后可复用于业务增长,成本可控。还需要考虑搬迁过程中服务器故障带来的损耗。

  • 搬迁过程中有大量的数据传输和数据备份需求,需要先扩容机房之间的传输带宽,并做好网络QoS保障,避免因为搬迁数据传输,影响正常运行的业务。传输线路还是复用原来的线路,增加传输带宽仅需要增加少量的网络和传输设备,成本可控。

  • 前面提到,搬迁工作是多个团队的通力协作,涉及到很多的人力成本,提升搬迁效率能减少人力成本。搬迁前,在线离线业务都准备了各种工具,例如数据迁移工具,数据校验工具,任务迁移工具等,提升搬迁效率。

  • 多个机房需要搬迁,搬迁顺序如何确定定呢?根据成本核算,我们最终不是从最贵的机房开始搬迁,而是从便宜的机房开始。原因是最贵的机房也是年限最老的机房,网络设备过保无法进行利旧。如果从最贵的机房开始搬迁,不仅需要准备大量的冗余网络设备,且后续很长时间都难以将冗余设备复用,整体成本偏高。而较新的机房虽然价格相对更加便宜,但是通过对这些机房的网络设备复用利旧,特别是对网络核心设备的再利用,在全局维度上能够带来更可观的成本收益。

3.风险评估:搬迁虽然能够带来显著收益,但是在搬迁过程中可能遭遇的各类风险更值得警惕。提前做好风险评估是搬迁项目里至关重要的一环。

  • 商务风险:搬迁前需要和机房供应商沟通好退租条件和搬迁排期,并在搬迁班车中规划好时间,避免中间遇到机房封网影响整体搬迁进度。对于一些有保底的机房,还需要提前沟通好保底等商务条款。

  • 业务风险:业务搬迁过程中可能遇到容量不足,搬迁数据不符合预期,业务搬迁回滚,业务下线进度延期赶不上搬迁班车,应用无人认领等各种风险,提前分析风险场景并做好预案是应对风险的有效方法。

  • 人力风险:搬迁是以整包间为单位进行推进,机房包间有约定的计划退租时间,机房方可能已经将包间售卖给下一位客户,所以包间退租时间不能延期。需要业务提前安排好迁移人力,同时在排期上需要考虑一定的时间冗余。


 2.整体计划


明确搬迁设备范围、搬迁时间范围、搬迁顺序、新机房的资源供给、组织协调,形成整体计划。


总体计划
商务采购
准备搬迁机房相关技术、服务材料
冗余设备、备件采购
搬迁服务商招标
新机房环境准备
新机房网络需求准备
新机房综合布线需求
新机房整体环境准备
新机房机柜摆放、设备摆放规划
搬迁方案设计
原机房现状调研、设备梳理
业务系统与设备关联性分析
业务系统搬迁方案设计
物理设备搬迁方案设计
搬迁自动化流程设计
实施准备
新老机房数据备份迁移专线准备
业务数据备份
设备健康检查
备机、备件准备
应急预案准备
搬迁实施
第一周期批次设备搬迁
第二周期批次设备搬迁
......
搬迁收尾搬迁验收、文档整理、项目总结

 3.前置准备


1.梳理出所有需要搬迁设备的清单,包括服务器、存储设备、网络设备等。

2.搬迁供应商选择,选择一家专业机房搬家公司至关重要,可以降低服务器、网络核心等贵重设备在搬迁过程中产生损失。搬迁公司的专业经验、技术实力、团队素质、设备与工具、服务保障、口碑与信誉等都需要慎重考察和考虑。

  • 调研供应商资质与服务能力。

  • 评估供应商设备物理搬迁方案。

  • 小批量灰度搬迁测试验证供应商执行能力。

3.新机房布局设计

  • 根据所有搬迁设备类型和整体的搬迁周期,对新机房基础设施进行科学的设计和规划,确保满足业务迁移交付需求同时优化目标机房基础设施资源利用率。

  • 基础设施建设:根据搬迁设备特性和业务的要求,对机柜平面布局、单机柜功率密度、机柜的U位高度、机柜的PDU规格、大仓库等进行优化设计和建设,从而最大化利用电力、空间、网络端口等资源。

  • 网络环境建设:根据原机房不同品牌、不同架构的网络设备,做好合理利旧使用,并做好对应的规划布线工作。

4.新老机房之间专线建设

  • 建设新老机房之间专线,满足离线业务的大带宽和在线业务的低延迟需求,确保业务数据迁移和服务迁移顺利进行,提升业务迁移的效率和安全性。

5.准备冗余资源

  •  冗余资源采购,服务器和网络轮转冗余资源采购。

  • 按照搬迁服务器属性,采购对应备件耗材,减少搬迁导致设备故障对业务的影响。


 4.搬迁班车方案


  1. 滚动搬迁模式:旨在降低搬迁成本,通过减少对冗余资源的依赖并复用原机房资源来实现。在冗余资源有限的情况下,需要精确控制每次搬迁的数量,既要满足业务迁移需求,又要及时释放原机房交换机和服务器资源来满足下一批次搬迁班车的资源供给。

  2. 按照包间划分搬迁周期,更好的释放出原网络设备资源,用于下一个新包间的启动轮转。梳理服务器、机柜分布情况,方便整体退租。引导业务按照整机柜搬迁,避免少量机器分散占用机柜的情况,以尽量降低成本。

  3. 搬迁班车规划:根据冗余资源和整体时间要求确定搬迁批次数量和单批次搬迁规模,压缩每个搬迁周期(包含搬迁准备、业务下线、设备物流运输、设备上架交付、业务上线)到2周。如下图所示:每周都有搬迁班车,2个搬迁班车之间部分环节可并行执行,有效提升业务迁移效率。



 5.业务迁移方案


业务跨机房迁移方案包含制定迁移计划、评估业务系统、新环境准备、迁移应用和数据、测试验证和上线投产等步骤,以确保业务连续性和稳定性。新机房原来的定位是离线机房,搬迁项目确定后,新机房定位改为在离线混部机房。

1.在线业务

  • 在线应用:新机房和老机房规划为同一个AZ,采用容器AZ内驱逐漂移的方式,业务侧无需额外操作,容器平台负责整体迁移,这比跨AZ迁移的方案更加简单,平台也提供了异常情况下的回滚SOP。

  • 在线数据:Mysql、TiDB、Redis等数据迁移,平台提供标准的迁移SOP,对于未通过proxy连接的业务,切换需要上游应用修改业务数据库配置。

  • 流量切换:B站的网络架构是内外网解耦,公网切换由业务在CDN侧进行切量,内网切换由SLB平台提供平滑迁移方案。

2.离线业务

  • 离线数据:数据迁移使用对应的自动化迁移工具,如果出现因为磁盘故障或宕机等问题导致的数据Miss,需要人工介入处理。数据迁移过程中业务还在增长,需要控制集群的整体存储容量水位线。

  • 离线计算:计算迁移也有对应的工具,迁移过程中会和上下游进行沟通,同步修改集群配置,迁移过程中会产生跨机房读写。



 6.项目管理


跨部门多团队的协作是搬迁项目成功的关键。有效的组织和协调机制能够确保各方信息一致,确保每一次搬迁批次的搬迁实施能够按照计划落实。

  • 角色分工:采购、系统部和资源运营组是专人负责,采购对外管理搬迁供应商,系统部负责具体搬迁执行、资源交付建设,资源运营组负责项目管理统一对接涉及迁移业务方。

  • 组织模式:采用矩阵式项目组织,项目团队成员同时隶属于职能部门和项目团队。这样安排能够提高灵活性和资源共享,按班车模式组织对应沟通群做组织协调。

  • 流程与节点控制:涉及并使用专项搬迁审批流程,每个搬迁环节在规定时间内完成,任何环节的延误都会影响设备及业务的正常流转,做好风险预估与应对策略。


 7.应急预案


搬迁期间要做好风险评估及相对应的应急预案,可以增强应急搬迁的整体效率,最大程度地减少突发事件导致搬迁无法进行、搬迁资源延迟交付等风险发生。

1.回滚方案:制定每个搬迁批次的回滚方案,及时响应协调和控制风险。如业务下线不符合预期导致设备无法下架,设备顺延到下批次搬迁班车,不影响整体搬迁班车执行。

2.搬迁时间周期:每个搬迁周期适度预留冗余批次,业务无法下线、疫情等因素会导致搬迁周期内部分批次无法正常搬迁,使用冗余批次完成该周期搬迁,从而不影响整体搬迁计划执行。

3.搬迁项目执行:关键节点跟踪,提前评估风险、识别风险及时做好应对措施。

  • 冗余资源不足:当部分业务无法按计划搬迁,导致机柜无法按计划退租腾出网络设备,短期借用服务器备机池资源、网络设备备机资源,等原机房资源腾出后归还资源。

  • 设备故障:按设备数量和类型准备对应的备件备机,当设备发生故障后现场直接维修,重要设备OEM厂商安排搬迁现场驻场支持,有效减少设备因故障宕机时间。

  • 物理搬迁风险:运输工具、运输线路的应急备份方案。例如:旧机房电梯故障无法运输设备采用吊车搬迁出机房。



04 搬迁执行


在机房搬迁执行中,首先需要制定合理的设备上架规划,通过自动化搬迁流程确保搬迁过程高效顺畅,同时进行物理搬迁时强化安全保障,藉由全面的检查确保交付的一致性,最后依靠详尽的执行清单确保各项任务落实到位。


 1.设备上架规划


1.按照每个搬迁班车批次的设备清单及业务需求,确认清单内设备的属性信息(尺寸、功耗、网卡规格及数量、电源规格及数量)和每个业务设备的上架分布需求。

2.规划规则:设备尺寸和机柜机位规格适配、机柜内PDU各规格插排不超可用数量、特殊设备做专项安排(商业存储等),合理规划搬迁设备在新机房的上架位置。

  • 满足不同业务对设备的分布需求(集中、分散等)。

  • 单机柜不同U数/功耗服务器混部,设备总功耗控制在机柜额定电力功率的90%左右。

  • 保持网络收敛比1:1,最大化利用交换机端口。

3.自动化上架规划:根据设备的类型、功耗、尺寸、网络端口以及业务分布需求,结合机柜功率、网络端口等分配规则进行排序和组合,按最大化机房综合利用率的原则程序自动化计算和规划。

4.产出设备在新机房的上架表格(包间、机柜、U位、设备信息、系统IP、管理IP等)。



 2.自动化搬迁流程


搬迁过程涉及业务迁移与设备关机,这本身就会带来稳定性风险,例如数据丢失和依赖应用故障等。同时,业务又有着极高的交付效率要求,那就需要尽可能实现全流程自动化以提升整体效率,减少人为操作环节,从而降低出错的概率。

  1. 业务下线环节增加业务关机静默时间环节,支持因业务变化、业务下线异常等情况下的快速回滚。

  2. 预设置,设备在原机房自动配置新机房的系统IP、管理IP,在新机房上架上电后无需配置。

  3. 流程自动修改主机状态,防止误告警干扰正常生产环境

  4. 流程中默认系统重装,也为特殊情况提供系统保留选择。

  5. 按照新环境和业务需求自动系统初始化。

  6. 交付基线校验环节保证交付质量。



 3.物理搬迁,安全保障


在服务器物理搬迁过程中,需要特别重点考虑以下因素:搬迁计划与时间规划、人员安排与协调、设备搬迁的准确性、控制设备故障率。


1.物流准备工作

  • 现场勘察:设备状态检查,机房设备搬运路线提前做好实地勘察,确保每个搬迁班车现场环境满足搬运要求。

  • 资源准备:包装材料核算和准备,运输车辆和人员准备,可以有效降低搬迁过程中的风险。

2.按照设备清单搬迁设备,下架、打包、搬运、上架

  • 专用标签:标签包含设备唯一标识信息、原机房和新机房位置信息、型号,有效提高搬迁执行的速度和准确性。

3.安全保障

  • 使用专项保险措施来保护网络核心设备、商业存储等高价值的设备。

  • 每批次搬迁完成后根据搬迁过程记录做总结反馈。




 4.交付一致性保障


按业务需求统一初始化,并对服务器BIOS与BMC配置、操作系统内各类服务与配置以及业务定制化项进行检查,保证交付设备的一致性满足业务需求,从而确保系统的稳定性。



 5.执行清单


由于本次搬迁设备类型杂、设备总数量多、搬迁频率高、交付要求严,根据搬迁技术方案,制定了一个详细的执行清单可以帮助确保每个环节都能顺利进行。在搬迁过程中,不断完善并严格按照以下清单逐项检查,将有效提高搬迁的效率和安全性。

搬迁执行checklist
搬迁步骤工作事项
搬迁需求确认业务提单
服务器需求确认
网络设备需求确认
搬迁服务流程发起
搬迁准备搬迁公司确认
搬迁计划确认
制作下架表
规划上架表
源机房人员和设备授权
目标机房人员和设备授权
目标机房人员和设备授权
搬迁执行现场勘察
搬迁标签粘贴
设备备件、打包材料准备
设备下架、打包、搬运、上架、接线
设备上电、检测、排障
搬迁验收
确认搬迁完成
完成验收清单
交付业务
系统初始化
交付基线校验
交付业务


05 总结与展望


在国家“双碳”战略目标指引下,B站新一代定制化数据中心以绿色节能为目标,将低碳经济、节能减排等理念引入新机房的建设,通过合理的布局设计、先进的节能设备和高效的运维管理,进一步降低机房的整体PUE值,减少能源消耗和碳排放,全面提升机房SLA。同时,随着数据中心搬迁,减少IDC机房和机房间互联专线数量,有效降低运营成本,实现每年近一亿的机房成本收益。

新机房加大了在离线混部力度,全B站IDC服务器CPU日均使用率从搬迁前的25%左右提升至搬迁后的35%以上。新机房采用了更优的网络架构和更新的网络设备,有力提升网络传输效率和响应速度,通过优化网络拓扑结构和安全措施,大大降低网络故障风险。通过批量替换故障硬件、更新问题固件、优化主机BMC/BIOS配置以及收敛操作系统内核版本和整治系统环境,降低硬件运维管理的复杂度,有效提升了新机房的运行效率和稳定性。业务则在机房迁移过程完成老旧业务梳理,下线无人认领应用,清理无用数据表和文件,完成了对线上环境的一次完整的梳理。

新机房正式投入使用后,B站数据中心的业务承载能力迈上全新的台阶,将为B站的快速发展奠定坚实的基础,提供更好的基础设施保障和支持。面向未来,B站将继续加强基础设施的建设和投入,不断提升平台的性能和稳定性,为广大用户提供更加优质的服务。



-End-

作者丨系统部团队、资源运营团队




推荐专栏

------------------ END ------------------

关注公众号,获取更多精彩内容

DevOps实战派
DevOps、SRE和运维领域资深技术老鸟;公众号主要分享相关领域的专业知识。
 最新文章