如何有效和智能的控制并恢复IO,减少因IO问题导致数据批量计算的影响,是分布式存储考虑和解决的问题?

金融场景具有高密集IO的特性,尤其在数据批量计算方面,分布式存储在频繁数据分布和迁移过程中通常会带来IO争抢的问题,在大规模集群遇到扩容或硬盘替换时尤为明显,给分布式存储在金融领域的深入使用带来了一定的风险。如何有效和智能的控制并恢复IO,减少因IO问题导致数据批量计算的影响,是分布式存储架构师必须要考虑和解决的问题?

参与10

3同行回答

Lucien168Lucien168存储工程师地平线机器人
backfill和recovery的最优值ceph在增加osd的时候会触发backfill,让数据得到平均,触发数据的迁移 ceph在移除osd的时候需要在节点上进行数据的恢复,也有数据的迁移和生成只要是集群里面有数据的变动就会有网卡流量,cpu,内存等资源的占用,并且最重要的是还有磁盘的占用,这个客户...显示全部

backfill和recovery的最优值

ceph在增加osd的时候会触发backfill,让数据得到平均,触发数据的迁移
ceph在移除osd的时候需要在节点上进行数据的恢复,也有数据的迁移和生成

只要是集群里面有数据的变动就会有网卡流量,cpu,内存等资源的占用,并且最重要的是还有磁盘的占用,这个客户端也是需要对磁盘进行访问的,当请求出现碰撞的时候,肯定会比正常的情况下要慢很多,而且还有可能因为资源方面的原因而引起机器down机等异常状况的出现

主要引起的问题可能:

  • 在peering的时候 block 了IO请求
  • 在backfill的引起了slow requests
  • 上面的两个情况会引起客户端的降速和出现soft lockup

这个在一般情况下会出现不同的需求:

  1. 慢点可以一定不能出问题,不能中断业务
  2. 越快迁移完越好,早点结束维护服务
  3. 需要又快又不能影响业务

这个需要根据自己可以掌控的程度来进行控制,首先环境的不同,影响不同,迁移数据量,网卡的带宽都是重要的影响因素,从整体上可以根据自己的环境按照上面的三个要求中的一个进行控制

osd recoveryoppriority = 3#默认值10 #恢复操作优先级,取值1-63,值越高占用资源越高osd recovery max active = 3#默认值15 #同一时间内活跃的恢复请求数osd max backfills = 1#默认值10 #一个OSD允许的最大backfills数osd recovery max active = 3 (default : 15)osd recoveryoppriority = 3 (default : 10)osd max backfills = 1 (default : 10)

收起
互联网服务 · 2021-05-26
浏览1554
顾黄亮顾黄亮课题专家组技术总监畅销书作者
从分布式存储在金融领域的实际使用过程中,不定期会有常规的运维操作,比如题主所提到的大规模集群的扩容和磁盘更换,IO争抢也是较为常见的问题之一。抛砖引玉,笔者所遇到的大规模集群中,单个集群超过1K的存储节点,按照正常的概率,每个月会有数量不等的磁盘损坏,每个季度会存在一次...显示全部

从分布式存储在金融领域的实际使用过程中,不定期会有常规的运维操作,比如题主所提到的大规模集群的扩容和磁盘更换,IO争抢也是较为常见的问题之一。
抛砖引玉,笔者所遇到的大规模集群中,单个集群超过1K的存储节点,按照正常的概率,每个月会有数量不等的磁盘损坏,每个季度会存在一次集中换盘,这些操作都会通过数据迁移、数据负载和数据平衡的方式进行数据恢复,IO争抢大都发生在这个场景, 高密集IO计算的争抢更多的取决于数据分布算法的合理性。
通常情况下,抛开分布式存储自身的算法,更多的采取时间策略+流量策略的方式规避IO争抢,比如在业务高峰期避开磁盘变更窗口,而流量策略更多的是基于数据流量恢复速率阈值匹配业务场景,最终实现 在不影响业务IO的情况下,快速完成数据迁移恢复。

收起
银行 · 2021-05-19
浏览1587
s6dongs6dongit技术咨询顾问东软集团
分布式存储在发生OSD变化的时候确实会导致IO波动,特别是在扩容或升级时,会做自身的的数据均衡,发生大规模的数据迁移造成IO数据影响。所以为了避免了类似情况发生,需要考虑业务的繁忙时间段,避免在高峰期进行磁盘或节点扩容等操作。除了避免时间固定时间窗口以外,在扩容策略上,...显示全部

分布式存储在发生OSD变化的时候确实会导致IO波动,特别是在扩容或升级时,会做自身的的数据均衡,发生大规模的数据迁移造成IO数据影响。所以为了避免了类似情况发生,需要考虑业务的繁忙时间段,避免在高峰期进行磁盘或节点扩容等操作。
除了避免时间固定时间窗口以外,在扩容策略上,还要避免一次大规模增加OSD数量。比如每次只扩容一个OSD或者一个节点(按存储隔离策略),虽然工作量会增加一些,但是不会造成大规模的持续性的影响。
在由于故障导致数据恢复时,可以限定数据恢复的流量策略,例如将恢复流量占用IO利用率阈值小于30~50%来保证生产IO的性能,这些都是避免IO争用的手段和策略。

收起
互联网服务 · 2021-05-27
浏览1488

提问者

chenlii
系统架构师某券商
擅长领域: 服务器云计算数据库

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2021-05-19
  • 关注会员:5 人
  • 问题浏览:2563
  • 最近回答:2021-05-27
  • X社区推广