返回 登录
1

云硬盘存储系统容量管理实践

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~

作者:腾讯架构师

摘要

如果说云计算拼的就是运维的话,那么公有云的运维拼的就是容量管理。公有云上容量管理(以下容量管理特指公有云上容量管理)就是要保障有充足的资源可对外售卖,即“有货可卖”。当资源供应不足,用户无法购买需要的云计算资源时,就产生了所谓的“售罄”事件。售罄问题对公有云口碑影响很大,影响用户体验的同时甚至会造成用户的流失。本文主要对容量管理相关问题进行总结和分析,同时介绍云硬盘存储系统容量管理实践方案。

问题

云硬盘(Cloud Block Service,CBS)作为腾讯云基础组件之一,在容量管理方面之前遇到了很多问题,总结起来有以下几点。

缺少统一、多维度资源规划

通常我们的资源主要有三部分组成:线上可对外售卖资源,线下储备设备以及报备在途设备。这三部分资源分别在三个不同的系统中维护,缺乏统一的视图,导致运维人员对资源整体储备情况无法准确预估。另外一方面,目前腾讯云有众多可用区,同时有多种云硬盘产品,不同产品使用不同的机型;如果只考虑整体资源,而不考虑不同可用区不同云盘产品的售卖情况的话,很容易出现资源不均衡的情况,即部分可用区/云盘产品售罄的同时其他可用区/云盘产品却资源过剩。因此,我们需要统一、多维度的资源规划,打通线上、线下资源系统,从全局进行不同地区不同产品类型的资源规划和调度。

字源交付效率低

一台物理设备的生命周期会经历采购、到货、初始化、上架、维修、下架。交付过程中的大量环节需要人工介入和操作,资源交付自动化程度较低会导致单Set交付时间可能超过几十分钟,并且交付并发度基本为串行。如此低的交付效率一方面会导致售罄频发(交付赶不上售卖),另一方面会增加运维在交付方面的人力投入(60%以上)。

系统感知滞后,监控力度过粗

通过对售罄问题的分析,我们发现大部分售罄问题往往是因为短时间的突发购买击穿库存导致。现有的容量系统无法做到实时感知和预警短时间内的突发购买行为,等到触发资源不足告警再去追查和分析,使得后端运维响应非常被动。另外,现有的资源监控策略基于静态阈值,只能做到Zone级别的资源总体情况预警,缺乏细粒度监控(例如TOP20 VIP用户购买情况、不同大小的盘资源情况等)。

碎片化问题

除了突发购买,碎片化问题也会导致售罄。很多时候线上整体可售卖的资源还有很多,但是这些资源都分布在很多个Set,就会导致无法提供大规格的整块资源。造成碎片化最直接的原因是前端售卖装箱策略不合理,但容量管理系统本身也需要具备定期整理碎片、均衡资源的能力。

实践方案

图1 容量管理整体解决方案

如图1所示,为了有效解决售罄问题,可以从线下、后端、前端、监控和数据分析等方面入手,总结起来有以下五点。

统一规划,全局调配

前面分析问题时指出各种资源数据分布在多个系统,缺少统一、多维度的规划。因此我们需要建立全局资源看板,来对资源进行统一规划和全局调配。具体来说,我们的全局资源看板包括以下内容:
ž归一化地展示线上可售卖、线下储备和报备在途设备,这样一来就可以很清楚的知道现在有多少货可卖buffer有多少,最近能够到货多少。

ž清晰地展示各个可用区、各种类型产品的资源情况(包括可售卖、线下储备和报备在途),便于进行各可用区之间的资源调度和腾挪。

ž其他维度的资源展示,例如不同规格区间的资源情况等。

图2 全局资源看板示例

自动交付,弹性伸缩

图3 设备生命周期

设备一旦到货以及需要紧急扩容的情况下,我们需要具备快速自动交付能力,降低售罄风险的同时也能优化运维人力。一方面需要打通整个设备生命周期,实现全自动化交付。另一方面需要和监控以及数据分析联动起来,当收到资源不足预警时自动触发上架操作,及时扩容。

实时感知,精细运营

图4 容量监控分析体系

容量监控分析体系如图4所示,主要由三部分组成:

ž静态阈值监控。除了监控各个地区和各种类型云盘线上容量之外,我们还增加了两种预警,即上架预警和报备预警。上架预警和上面的自动化交付系统关联,当线上容量触发上架预警值之后会回调自动化上架接口进行扩容操作。报备预警会综合线上容量和线下buffer,当资源整体消耗较快无法保障未来一个月的售卖时,会及时告知运维人员发起报备。

ž动态异常分析。通过对用户的购买行为进行动态异常分析和监控,可以及时感知突发购买和刷单等异常情况,以便及时采取措施,防止库存被击穿。

ž精细化分析。除了关注大盘整体容量情况和短期的异常外,我们还对TOP20用户进行了定制化监控分析,重点关注VIP的用户行为和使用情况,主动发现问题来提升服务专业度和口碑。

合理装箱,自动均衡

典型的部署模型提供的最小容量单位为Set,用户可购买的云盘的规格为2G-16T,这是一个很典型的装箱问题。我们还在不断探索和优化装箱策略和算法,我们已经采取的主要优化措施包括:
žSet容量实时上报,指定Set售卖装箱。各Set将可售卖容量实时上报,控制系统综合全局容量情况指定Set售卖和装箱,避免随机装箱造成的碎片问题。

ž定期碎片整理和均衡。后端会定期对Set的装箱和使用情况进行分析,将大规格的云盘打散分布;同时会综合各个Set的底层存储使用率,自动发起盘迁移和均衡操作。

多管齐下,分级预案

容量管理问题没办法做到一招制胜,而是需要一套“组合拳”来应对不同情况。表1为容量分级预案,不同的触发条件对应了不同的预案,每种预案的时效性也不尽相同。只有多管齐下,做好充足的预案和准备,才能够从容的应对各种突发情况。

表1 容量问题分级预案

相关阅读

腾讯云文件存储CFS香港地区上线,打造企业出海高速直通车
腾讯云超高网络性能云主机揭秘

此文已由作者授权腾讯云技术社区发布,转载请注明原文出处

评论