元核云如何解决Ceph分布式存储中的问题

存储技术

608人已加入

描述

最近有很多朋友拿着一篇关于“ceph运维那些坑”的文章来找我,起初我并没有在意,毕竟对于一个“新物种”来说,存在质疑是再正常不过的。不过,陆续有更多的合作伙伴甚至圈内同行来问我如何看待这篇文章时,我觉得做为一名Ceph开发和运维的技术者,理应站出来为Ceph说点什么。

首先,原作者分析Ceph运维中遇到的问题是真实存在的,甚至在实际的运维过程中还出现过其他更复杂的问题。因为最初的Ceph只是社区提供的一套开源版,因而想要实现产品化需要趟过很多次“坑”,就像最早的安卓系统一样。我想任何产品在一开始都难以做到十全十美,因为技术本身就是在发现问题与解决问题的道路上不断前进发展的。不过,在这里我想澄清的事实是:连初涉Ceph的运维人员都能发现的问题,研究Ceph多年的资深技术人员们肯定也早已发现。

Ceph本身基于Crush算法,具备了多种数据复制策略,可以选择在磁盘、主机、机柜等等位置附着。例如:如果采取3副本的数据保护策略,就可以通过复制策略来决定这3个副本是否同时分布在不同的磁盘、不同的主机、不同的隔离域、不同的机柜等位置来保证部分硬件故障后数据安全性和服务运行不中断。

Ceph底层是用资源池(POOL)来实现数据逻辑隔离,往往我们会出现因容量或性能不足需要对资源池进行扩容的问题,但是在容量扩容过程中,势必会带来进行数据重新平衡的要求。Ceph中数据以PG为单位进行组织,因此当数据池中加入新的存储单元(OSD)时,通过调整OSDMAP会带来数据重平衡。

正是针对这个问题,元核云分布式存储产品在运维管理平台层面进行了优化。扩容发生时,运维人员只需要将待扩容的服务器信息以及策略加入到运维管理平台中,后面的事情都由运维管理平台进行自动化处理。简单来说,运维平台会根据PG的状态和待扩容OSD资源,寻求一个最优的扩容方式,即在不影响PG可用性的情况下,循序渐进地进行OSD扩容,直到扩容动作完全完成为止。

文章中提到的第二个问题主要是讲在频繁数据迁移过程中带来的IO争用问题。当集群规模变大后,硬盘损坏、PG数量扩充可能会变得常态化。

以我们的运维经验来看,客户大概每年都会有几次的相关运维操作。在我们运维过的所有集群中,最大的超过了1000个存储节点,而在这过程中会遭遇到每个月损坏1-2台硬盘、3个月左右进行一次集中换盘的情况。这些运维操作都需要通过数据迁移来进行数据恢复,数据恢复过程中会对硬盘的IO进行争用,如何有效、智能地控制并恢复IO,并做到使业务IO不受影响,是Ceph运维管理的核心工作。

在元核云自动化运维管理平台中,会采用时间策略、流量策略来控制数据恢复的速率。我们会在业务的高峰期,8:00——18:00这一时间段内使用某种流量恢复策略,在业务的低峰期,18:00——第二天8:00这一时间段使用另一种流量恢复策略。在流量恢复策略中,可以基于磁盘的IO利用率情况,来动态调整数据流量恢复速率,比如说设置恢复流量占用IO利用率阈值不能超过50%,则总会保证不因恢复流量导致IO的利用率超过50%,当业务IO占比越大,恢复IO占比就越小,当业务IO利用率超过50%时,则停止恢复IO。此种方式可以灵活有效地利用闲时IO,在不影响业务IO的情况下,快速完成数据迁移恢复。

当解决了数据迁移过程中的PG可用性问题和IO争用问题后,关于文章中提到的PG数量调整问题自然也就解决了。数据迁移本身是一个常态化的过程,当控制了数据在迁移过程中的不良影响,同时在OSDMap变化过程中,PG始终能够保持可用状态,那么就并不会像那篇文章中所说的那样,调整PG数量会带来灾难性的后果。况且,PG的调整确实也不是一个经常性的动作。

文章中提到的存储成本问题主要是讲集群可用率问题,即Ceph集群规模增大后,伪随机算法导致了存储资源分布不均衡,磁盘利用率方差过大的问题。

其实要做到保证每块盘的数据均衡,这是一个比较复杂的过程。因为首先要确保数据分布能够遵循每个Pool的Rule-Set规则,同时又要保证每个Pool对应的PG较为合理的分布在每个OSD中(因为有些Pool是放元数据的,并不会承载大量的数据),同时还要保证当PG数量发生变化时不会发生灾难性的数据迁移(stable_mod)。

正如文章所提到的,Ceph本身是一个十分复杂的体系,要做到稳定运维非常看重团队的实力。元核云除了对Ceph核心进行了深度优化,还提供了一套支持跨数据中心多Ceph集群的自动化运维管理平台,能极大提高运维效率、降低Ceph存储集群运维成本。目前我们通过这套运维平台,做到了五个数据中心上千个节点的存储集群,每年仅需一个运维人力的案例。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分