博客/工程

我们如何live-migrated大规模皮层集群与零块存储影响Grafana云客户

2021年1月28日, 6分钟

五年之后领先发展的皮层,Grafana实验室不再是导致这个项目。bob电竞频道2022年3月,我们推出了Grafana米密尔,一个开源的长期储存的普罗米修斯,允许您扩展到10亿个指标。请了解更多阅读TSDB发布博客并参观Grafana米密尔页面。
2022年3月30

1月20日15:01 UTC。我坐在我的家庭办公室,看着屏幕,感觉情绪和怀旧作为一个豆荚终止。

我们有成千上万的豆荚,不断开始和终止,我看着他们绝对不是浪费我的天,为什么这是一个特别的吗?终止ingester-0舱最后皮层摄取块存储在Grafana实验室的基础设施上运行。bob电竞频道这是旧的和新的之间的分水岭,过去和未来。

今天我想与你们分享我们的故事live-migrated几十个皮质集群之间两种不同的存储引擎与零影响我们的客户。

需要一个计划

作为一名软件工程师,我既着迷又真正害怕的数据库。他们通常是复杂的,任务关键系统存储了大量的数据,总有数据丢失的幽灵。

皮质扩展的开放源码项目普罗米修斯这权力Grafana云托管的指标,也不例外。大量的各种规模的公司依靠Grafana云托管指标为核心的可观测性堆栈,和一个事件在我们的服务会严重影响他们的业务。赌注很高。

在我作为皮质维护者的角色,我花了2020多开发一种新的块存储引擎今年的中间,一切都顺利。在Grbob电竞频道afana实验室,我们开始计划生产推广。我们已经在内部使用它,这是给我们一些信心在稳定性、正确性,和表演,但这是不够的。我们想要更高的信心在迁移之前我们的生产集群。

我们需要一个计划。

提高信心

这是当我们想出了主意影子集群

我们选择生产集群,建立了一个平行的皮质集群上运行块存储,并反映所有生产流量的影子。我们是为了多个集群才这样做的。

我们使用特使HTTP流量镜像功能镜像写入影子集群,并建造了一个皮质query-tee服务镜子读取,而查询响应时间和结果。我们基本上由旧的块存储和新的块存储在性能方面竞争,同时确认查询结果匹配。在响应时间、块存储查询优于块。

运行一个影子集群是一个昂贵的测试方法,但在我看来,这是提高信任水平的解决方案。影子集群运行几周后,我们到达转折点,有足够的信心开始生产迁移。

的动态迁移

皮层接收传入的系列——普罗米修斯或推动的Grafana代理——为服务经销商,碎片和复制ingesters池系列。

在内存中一个摄取不断系列并定期将这些系列长期储存。在查询时,查询器获取最新系列ingesters以上样本的数据存储。

live-migrate皮层集群从块到块,我们不得不转换ingesters写块而不是块和查询器阅读系列块和块(他们来自ingesters或长期存储),在查询时,合并和删除处理样品。

这是我们所做的!我们介绍了皮层功能来配置一个二级存储引擎查询,我们查询器配置查询块和块,然后逐步推出ingesters切换配置变化从块到块。在滚动更新,摄取冲洗所有的块存储在关闭和重新启动一个新的配置存储新收到的系列使用块。

我们测试了无数次的过程。我们在测试过程中注入故障。我们准备紧急回滚程序,我们也多次测试它。

这是一个漫长但控制过程。当年,每个集群。这是累人的,但绝对值得!

大规模的长期存储迁移

此时,您可能会问:在长期存储历史数据?

我们有两个选择:将它存储为块,让它消失一旦停留时间过期,或转换所有块到块。不幸的是,第一个不是一个选项。

数据块存储是更昂贵的比块,和我们有一些功能(如查询没有度量名称)仅支持的块存储。我们不想把遗留的块,阻止我们继续创新的块存储。

唯一的选择是重写的所有历史数据块到块。这是一个大规模行动。我们讨论的是大量的数据和…你猜怎么着?我们已经建立了一个分布式系统在分布式系统迁移数据。《盗梦空间》!

这就是为什么blocksconvert工具诞生了。它基本上是一个水平的可伸缩的系统扫描器生产计划需要做的工作,然后调度分配工作的建设者。

我们跑转换好几个月了。我们开始很小,我们测试的正确性,我们固定bug和瓶颈,然后逐步扩大规模。上周,随着最后一个集群迁移,我们完成了转换整个长期存储块!

执行就是一切

大脑皮层块存储发展始于2019年末。这几乎是一年半以前。这是一个巨大的努力从Grafana实验室和社区。bob电竞频道

我们建立了迭代。我们开始概念验证,验证我们的想法,我们发现无数虫子和固定,可伸缩性和性能问题。一路上,我们必须建立一个桶指数在对象存储克服速度限制,我们介绍了洗牌分片扩展出一个皮质集群大量租户,隔离他们的工作负载。

回想起来,迁移到块是精心计划和耐心地执行。我很自豪的社区和Grafana实验室,做的功,对未来的工作我很兴奋我们目前头脑风暴。bob电竞频道

请继续关注!块存储是一个闪亮的未来存储和查询的开始大规模普罗米修斯指标!(如果这个工作听起来令人兴奋,我们正在招聘。)

我们已经刚刚宣布新的免费和付费Grafana云计划适合每个用例-现在免费注册