分布式存储的Fail-in-place高容错技术探讨
序:飞机对飞行安全系数要求非常苛刻,要求能够抵御任何故障或失效,具备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高容错特性,代表着未来分布式存储的发展方向,也标志着中国存储企业已经具备挑战世界一流存储企业的技术实力。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
偷鸡不成蚀把米,《使命召唤:战争地带》游戏外挂被发现含有恶意软件
前几天,动视公司发布了一个报告,揭露了《使命召唤:战争地带》的一款作弊软件中含有隐藏的恶意软件。 根据Vice报道,动视公司的研究人员发现该作弊软件在设备上偷偷安装了一个dropper,用于在目标系统或设备上安装或提供额外的有效载荷,如证书窃取恶意软件。该dropper不是目的本身,而是达成目的的一个手段,是链条中的一个关键环节。 恶意软件活动的目标之一是在受害者的电脑上安装矿机,在受害者不知情的情况下,利用游戏玩家的显卡来开采加密货币。 动视指出,"正版 "作弊器工作所需的程序也让大多数恶意软件工具得以执行,比如绕过系统保护和升级权限。许多作弊器建议用户禁用他们的反病毒软件,以确保与系统的兼容性,从而使隐藏的恶意软件在作弊者没有被提醒的情况下感染PC。 在地下黑客论坛上的帖子宣传恶意软件的传播方法 在2020年3月,一名黑客在多个黑客论坛上发布广告,宣传一种免费的、"新手友好 "的、"有效 "的方法,用于传播远程访问木马(RAT)的恶意软件。 虽然很可能有上百种涵盖RAT传播方法的指南,但这本指南依靠的不是复杂的策略,而是依靠受害者自愿禁用自己系统上的几种安全设置。 该黑客建议的说服...
- 下一篇
盘点数据处理工具,手把手教你做数据清洗和转换
01 了解数据集 数据准备的关键和重复阶段是数据探索。一组因为太大而无法由人工手动读取、检查和编辑每个值的数据,仍需要验证其质量和适用性,然后才可以将其委托给一个值得花费时间和计算的模型。 与将大型数据集的样本转储到电子表格程序中的方法一样简单,只需查看每列中出现的值的类型或范围,即可识别诸如不负责任的默认值之类的错误(例如,在没有测量值的情况下,使用零而不是NULL)或不可能的范围或不兼容的合并(数据似乎来自多个来源,每个来源中使用了不同的单位。例如,华氏度与摄氏度)。 数据分析工具非常丰富。当数据集太大而无法在电子表格程序中打开时,Python脚本或像RStudio这样的应用程序具有可视化、汇总或报告数据的强大功能。使用你熟悉的任何方法,至少要确定不同属性值的格式和一般分布。 02 数据处理工具 在能够使用数据集之前,有许多工具可以用于清洗、处理和了解数据集。Python是这方面的事实标准,它有很多工具来理解和处理数据。 Matplotlib之类的包,通常可以非常容易地生成用于可视化检查的数据图表。 Pillow提供各种处理、转换和操作图像的功能。 Python有一个用于执行统计的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块