|
|
|
|
公众号矩阵

分布式存储的Fail-in-place高容错技术探讨

在2021年3月中央发布的“十四五”规划中,“大规模分布式存储”被列为明确的发展重点。

作者:佚名来源:至顶网|2021-04-06 16:25

序:飞机对飞行安全系数要求非常苛刻,要求能够抵御任何故障或失效,具备Fail-in-place(FIP)高容错特性,即能够做到包容故障、隔离故障、延迟故障修复,直到安全着陆,否则会出现机毁人亡的灾难性事故。分布式存储承担保障数据绝对安全与业务连续的重任,同样需要具备FIP高容错特性,否则可能出现数据丢失及业务中断等灾难性事件。 如何打造具备FIP高容错特性的分布式存储?

存储、计算和网络是构成现代化信息系统的三大部件。在2021年3月中央发布的“十四五”规划中,“大规模分布式存储”被列为明确的发展重点。所谓分布式存储,是相对于传统集中式共享存储的一种新技术概念。在过去30年里,中国企业普遍采用IBM、EMC、NetApp等国外知名厂商的磁盘阵列,其架构体系主要是以RAID控制器为技术核心的集中式共享存储架构。分布式存储是通过软件定义存储技术,把多台x86服务器的CPU、内存、固态硬盘(SSD)、机械硬盘(HDD)等存储资源,进行统一资源管理,通过高速网络将数据分散存储在各台服务器中。

自云计算诞生以来,企业井喷式的数据处理业务量对IT的系统计算与存储能力都提出了非常高的要求。传统集中式存储面临数据孤岛、扩展困难、成本高昂等挑战,与此同时,分布式存储由于其易于扩展和管理、成本低、硬件灵活度高、可快速集成等明显优势,逐渐成为全球的技术发展趋势,也将作为中国企业数字化转型的重要基石。

分布式存储是一个技术难度被显著低估的技术领域。随着HDFS、Lustre、GlusterFS、Ceph等开源分布式软件项目的兴起,一个中等程度的软件工程师可以在一天或一周时间内搭建一个分布式存储系统。包括华为、新华三、BAT、以及一些初创公司,在这些开源项目基础上通过魔改,推出分布式存储相关产品和服务,给行业带来严重假象,似乎存储没有什么技术门槛。然而,无论是互联网公司,还是在企事业单位,由于使用分布式存储导致的业务中断、甚至数据丢失的报导屡见不鲜。

为什么(分布式)存储是一个技术壁垒很高的行业?这是由于存储最基本的核心诉求是数据不丢失、业务不中断。一个典型的存储系统包含上百万个电子元器件、上亿行软件代码,里面任何一个元器件老化失效、电子信号干扰、软件Bug、系统意外掉电,都有可能导致数据丢失。由此可见,要打造一个高可靠、高性能的分布式存储系统绝非易事。

一个合格的存储系统须具备高度容错能力,是能够在线更换故障或老旧部件的软硬件系统,需要同时满足几个方面的要求:高可靠性的数据存储基础、对数据错误具有自愈能力、正常运行和自愈过程均对前端应用无性能影响、以及较高的存储效率。存储系统的数据安全性就好比飞机的安全性,业务中断就好比重大飞行事故,数据丢失对于一个存储系统而言,就好比飞机失事,带来灾难性的破坏和难以估量的重大影响。

飞机是一个典型的具有高度冗余、高容错性的机电系统,其安全性依赖于Fail-in-place(FIP)高容错技术,即在飞行过程中,飞机任何零部件发生故障或失效故障时,飞机仍然可以安全返回机场并平安着陆,然后才进行必要的维修。FIP容错的一个重要特征是,允许故障延迟修复,而不是必须立即解决或以最快的速度修复故障,否则可能会发生灾难性事故。要实现FIP容错,飞机采用了高度冗余设计,具备极强的故障告警、自动诊断、故障隔离,甚至自我修护的能力。

基于三副本架构的分布式存储是否具备FIP容错能力呢?答案是否定的。

三副本分布式存储通过将数据的三个副本分散保存在三个不同节点上。这种纯粹的网络副本保护机制虽然实现简单,但其数据可靠性严重依赖数据修复的速度和系统规模。随着硬盘数量增加,系统可靠性随之降低,尤其是当磁盘老化、硬件故障率上升,再加上网络可能出现的不稳定状况,以及磁盘可能出现的隐形数据失真等,三副本架构容易出现不稳定,甚至数据丢失的情况。当出现硬盘或节点故障时,三副本架构需要尽快进行数据重建恢复,以免出现多个硬盘同时出现损坏而导致数据丢失的情况。

三副本分布式存储多节点硬盘损坏导致数据丢失

和三副本分布式存储相比,双重RAID架构的分布式存储则具有显著的FIP高容错特性。双重RAID架构,采用节点内RAID数据保护与节点间副本保护相结合的方式。每个节点采用RAID10或RAID50/60 实现节点内数据保护,可实现硬件故障隔离和本地数据修护。每个节点相当于一个小型的“磁盘阵列”,可抵御节点内单个、甚至多个硬盘故障。在这些“磁盘阵列”之间,还有另外一层基于网络副本的数据保护层,保证在极端情况下,即当故障突破磁盘阵列的保护能力时,还可利用网络副本技术来修复数据。

正因为这种双层RAID保护机制,当节点硬件出现故障时,可以通过本地RAID对故障进行隔离,不影响业务正常运行。故障修复可以采用延迟修复的策略,并且能自动避让业务,即当业务繁忙时,数据修复减慢数据;当业务空闲时,数据修复可以适当加快速度。

双重RAID容忍多节点磁盘损坏

对比之下,三副本架构的分布式存储存在严重的数据安全隐患以及网络导致的稳定性问题。双重RAID架构的分布式存储,作为南京道熵的核心技术,因其具备独特的FIP高容错特性,代表着未来分布式存储的发展方向,也标志着中国存储企业已经具备挑战世界一流存储企业的技术实力。

【编辑推荐】

  1. 换掉Java的老牌日志框架Logback,我用Log4j2!
  2. 历时近 20 年,SCO 和 IBM 间的 Unix 纠纷再起
  3. 轻量级NLP工具开源,中文处理更精准,超越斯坦福Stanza
  4. 统治50年:为什么SQL在如今仍然很重要?
  5. 如何成为多编程语言人才?这有一份独门诀窍
【责任编辑:姜华 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月获赞

订阅专栏+更多

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

8人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

38人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

232人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微