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

摘要

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

问题

云硬盘(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 容量问题分级预案

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

2 条评论
登录 后参与评论

相关文章

来自专栏后端技术探索

漫谈大型网站架构

作者介绍:陈康贤(花名龙隆),淘宝技术部技术专家,著有《大型分布式网站架构设计与实践》一书,在分布式系统架构设计、高并发系统设计、系统稳定性保障等领域积累了较为...

622
来自专栏Rainbond开源「容器云平台」

每周启用容器达20亿+,谷歌推无服务器架构

1385
来自专栏云计算D1net

为什么你的私有云可以很像PaaS?

在IT界数年针对私有云架构的优点的不断的争论之后,一个切实可行且企业可用(enterprise-ready)的私有云架构终于来到了我们面前。并且与其它在过去的一...

3474
来自专栏Rainbond开源「容器云平台」

从Heroku看好雨云帮

1084
来自专栏F-Stack的专栏

F-Stack参加 DPDK中国技术峰会2017

由 DPDK社区和英特尔主办的 DPDK中国技术峰会2017 于6月27日在上海举行,Intel、腾讯云、中兴、美团云、Panabit、太一星辰、Uni...

2809
来自专栏北京马哥教育

运维工具真的很容易做吗

在从研发转到运维之前,我一直就觉得运维工具这东西,应该是相当简单的,但在我自己带领一个运维工具团队一年多后,完全颠覆了我自己以前对运维工具的认知,才真正明白了...

2858
来自专栏BestSDK

10大云存储平台技巧

何选择云迁移策略?   将数据迁移至云中时,选择一个适合组织需求的策略很重要。随着数据迁移至云存储平台,有一些因素需要考虑,如你是否迁移了归档数据,他们具有不同...

3286
来自专栏架构师之路

秒杀架构优化,产品折衷

当然有,当一个业务技术难度非常大的时候,可以通过业务和产品的优化,来简化系统架构。

1174
来自专栏即时通讯技术

微信朋友圈千亿访问量背后的技术挑战和实践总结

微信朋友圈包括图片和视频两套业务架构组成,朋友圈图片的特点是请求量大、消耗计算资源较多,视频则主要消耗带宽。

873
来自专栏云计算D1net

私有云计算的发展与应用

似乎业界所有人都在谈论云计算。但是,虚拟化是对发展私有云战略的重要一步。如果你已经虚拟化了部分的基础设施,那么你可能比想象的更接近私有云计算。 采用云计算的好处...

2915

扫码关注云+社区