前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个磁盘报警后的改进思路

一个磁盘报警后的改进思路

作者头像
jeanron100
发布2019-09-17 14:08:26
5920
发布2019-09-17 14:08:26
举报

这是学习笔记的第 2101 篇文章

最近和同事在梳理一个系统的改进方案,里面也涉及到一些汇报思路和技巧,最终的方案是需要申请一些服务器,但是整个分析的过程,是一套严谨的推理过程,总之是让领导认为这是在解决问题,而不是在逃避问题,同时申请服务器是在优化资源配置,而不是无脑一味的要资源。

问题的背景是有两套数据仓库集群,存储都是以T为单位来计算的,最近碰到了一些硬件问题也发现了原本设计中的潜在问题;同时对于目前的业务增长,领导也提出了新的期望,比如计算任务要到下午才能计算完成,预期想优化到早晨,前后讨论过几次,总体感觉解决方案和思路比较牵强,虽然是解决了部分问题,但是一上来就是申请服务器感觉还缺少一些信服力。

首先,我们应该明确这是一套高可用服务的改进方案,而不是单纯的资源申请方案。整个方案的目标有两个:

1)改进现有服务集群的问题

2)在现有基础上优化服务的计算能力

服务集群的问题

对于现有集群的潜在问题关注,也是由最近发生的一个硬盘问题发现的,整个集群的节点有上百个,整个服务的部署是单机多实例,一台服务器上部署有20个实例,硬盘是按照8T*10的规格去配置的,使用了RAID5,结果最近系统部同事收到了一个磁盘报警,本来这是一件很正常的事情,结果在工程师维修的时候发现另外一块磁盘也存在潜在瓶颈,虽然没有报警,但是通过一些方法发现已经处于损坏的边缘,这个时候问题的优先级就上来了,如果第2块磁盘再发生损坏,那么整个文件的存储在RAID5的模式下就存在问题了。当然集群本身是有高可用机制的,但是目前的集群节点部署是按照组对称部署的,类似如下的方式。

实际每个服务器上面的实例数有20个,即10个primary,10个mirror,如果发生了服务器存储损坏,导致服务不可用,那么原本的10个Primary节点会漂移到另外的服务器上面,那么从高可用层面来说是可行的。但是存在四个严重问题:

1)如果节点漂移到从库,开始大量的计算任务,很可能会把整个集群跑崩,可能产生一种连锁反应,整个节点不可用,后续导致集群不可用。

2)如果后续要修复节点,耗时过长,因为整个集群的存储空间有近70T,要重构整个节点需要耗费的时间和成本较高,一天以内是弄不完的,而且在重构的过程中还对原有的节点存在风险。

3)整个集群的水平扩展在之前缺少严格的演练和测试,尽管从哪理论上可行,但是集群现在已经具备规模,不能接受未经评估验证的方案。

4)虽然后续做了磁盘修复,但是单块磁盘的空间过大,导致rebuild的耗时差不多在13个小时,如果这个期间出现磁盘问题,就前功尽弃了。

所以在这个过程中发现了一些很明显的问题,也有一些改进措施。

1)对于磁盘的配置,建设设置为RAID5+hotspare的模式,至少可以容忍坏两块盘。

2)集群的节点设计属于过度设计,早期更多考虑了功能和性能,而对可用性的考虑有所欠缺

服务计算优化的背景

目前的业务增长量超过预期5倍,随着业务需求的接入,对于服务可用性的要求也越来越高,部分业务从原本的T+1模式升级为近实时的数据分析,而一些业务的优先级也随着需求的接入而显得更加重要,比如在指定的时间前需要提供好指定的数据分析结果,这属于公司运营的重要参考指标。

在现有的情况下,我们经过上述的评估,发现原有的问题需要改进,同时业务的优先级提升,计算能力目前还难以扩展。所以在现有的资源配置下,是难以实现上述的两个需求的。

我们可以设计如下的改进策略。

1)充分利用现有的资源,比如测试资源等。

2)对现有的集群问题进行优化和改进

3)业务层实现双活需求,比如某个集群真不可用,我们可以较为平滑的把计算任务迁移到另一个集群开始计算,不应该碰到卡脖子的情况。

所以这个方案的一种合理解决思路就是申请一个新的集群,分为如下的几个步骤:

1)集群1--迁移到--新集群

2)集群1进行重构,已有的历史数据可以通过ETL重建

3)集群2--迁移到--集群1

4)集群2重构

5)集群资源重构和优先级配置

整体来说,能够解决现有问题,也能够优化资源的配置。算是一种合理的解决方案。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档