分布式存储的技术发展趋势

分布式存储的技术发展趋势

作者:佚名 2021-03-19 08:56:31

存储

分布式 铁力士分布式存储将传统磁盘阵列的RAID技术、存储虚拟化管理技术与分布式存储技术相结合,有效地解决了普通分布式存储面临的IO分布不均匀和木桶效应导致的性能缺陷.

[[388597]]

分布式存储的技术发展趋势

一、三副本的弊端

以Ceph、VSAN为代表的软件定义存储(Software Defined Storage,SDS)是一个横向扩展、自动均衡、自愈合的分布式存储系统,将商用x86服务器、固态硬盘、机械硬盘等硬件资源整合为一个瘦供给的资源池,并以块存储、文件存储、对象存储、Restful API等多种接口方式提供存储服务。

无论是Ceph、VSAN,或者其演化版本,有一个共同的技术特征,即采用网络RAID方式实现数据保护,以3副本或纠删码为代表,其中3副本用于对小块数据读写性能有一定要求的应用场景,而纠删码则适用于视频数据、备份及归档等大文件场景。以3副本为例,业务数据被分割为固定大小的数据块,通常为4MB,每个数据块在不同的节点上保存3个副本(如图1所示),其分布机制是依照一致性哈希算法(Consistent Hashing)或CRUSH算法,将各个副本数据随机分布在不同节点、不同磁盘中,以实现数据自动平衡和横向扩展。当磁盘或节点遭遇故障或损坏时,系统会自动根据预先设定的规则,重新建立一个新的数据副本,称之为数据重建。

图 1 分布式存储副本机制

虽然分布式存储的SDS理念很好,横向扩展能力不错,自动添加和删除节点都是优势,但与传统集中式存储(磁盘阵列)相比,其稳定性和性能仍然存在明显的短板。

首先,在性能方面,三副本分布式存储容易受到IO分布不均匀和木桶效应的影响,导致大延迟和响应迟钝的现象。以Ceph为例,多个存储基本单元,Placement Group (PG),封装为一个OSD,每个OSD直接对应于某一个机械硬盘HDD;主流的7200转HDD,受到机械臂寻址限制,其单盘的读写性能仅为120 IOPS左右;由于数据在OSD上随机分布,因而单个硬盘上的IO负载不会固定在平均值上,而是总体呈现为正态分布,少数HDD上因正态分布的尾部效应,导致其IO负载远超平均值,以及远超单盘的性能阀值,造成拥堵。此外,分布式存储为保证数据完整性,必须定时进行数据完整性校验,即数据scrub/deep-scrub操作,而这些操作产生额外的IO负载,可能会加重磁盘阻塞现象。根据木桶效应原理,系统的性能取决于集群中表现最差的磁盘,因此个别慢盘严重拖累整个系统的性能,其可能的后果,就是带来大延迟、OSD假死,以及触发数据非必需的重建。

其次,三副本分布式存储还面临稳定性问题。当存储扩容、硬盘或节点损坏、网络故障、OSD假死、 Deep-scrub等多种因素叠加,可能导致多个OSD同时重建,引发重建风暴。在数据重建过程中,重建任务不仅消耗系统的内存、CPU、网络资源,而且还给存储系统带来额外的IO工作负载,挤占用户工作负载的存储资源。在此情形下,用户时常观察到,系统IO延迟大,响应迟钝,轻者引起业务中断,严重时系统可能会陷入不稳定的状态,OSD反复死机重启,甚至会导致数据丢失,系统崩溃。

此外,三副本分布式存储还面临数据丢失的风险。三副本最大可抵御两个HDD同时损坏。当系统处于扩容状态、或一个节点处于维护模式时,此时出现一个HDD故障,则该系统就会进入紧急状态,出现两个HDD同时故障,则可能导致数据丢失。对于一个具有一定规模的存储系统而言,同时出现两个机械硬盘故障的事件不可避免,尤其是当系统运行两三年之后,随着硬件的老化,出现Double、或Triple磁盘故障的概率急剧上升。此外,当系统出现大规模掉电或存储节点意外宕机时,也可能会导致多个机械硬盘同时出现损坏,危及三副本分布式存储的数据安全。

二、双重Raid

为了解决三副本分布式存储面临的性能问题、稳定性及可靠性等缺陷,道熵的铁力士分布式存储采用双重RAID保护机制,除了继承网络RAID(节点间副本、跨节点纠删码)和一致性哈希随机分布数据的特点,铁力士将磁盘阵列特有的节点内RAID技术和存储虚拟化(池化)管理技术, 即Storage Virtualization Manager (SVM),与分布式技术相结合,如图2所示。

图2 Titlis分布式存储双重Raid机制

网络Raid技术

在铁力士分布式存储中,每个数据块按照一致性哈希算法,随机选择两个不同存储节点来保存数据的两个副本,保证当任何一个节点宕机时,仍有一个数据副本保证读写操作,确保业务高可用和数据安全。

节点内Raid技术

在铁力士分布式存储的每个节点内,通过SVM存储虚拟化技术实现节点内的RAID数据保护,RAID级别选择可以是镜像,也可以是存储效率更高的RAID5或6。节点内RAID保护可抵御单个或多个硬盘损坏,故障修复限制在节点内部,无需触发网络数据重建,有效地避免了网络重建风暴。

节点内RAID结合网络Raid(跨节点的副本/EC码)技术,铁力士实现了双重RAID数据保护。在三副本架构中,一旦同时出现三块磁盘故障或受损,数据就可能丢失;而在双重RAID架构中,即使每个节点同时出现一块磁盘故障,数据仍然无忧,业务仍然持续。考虑到分布式存储可能包含数十个甚至上百个存储节点,双重RAID的数据可靠性明显超过三副本架构。

存储虚拟化技术

铁力士在每个存储节点运行在存储虚拟化管理软件(SVM)上,把该节点的存储资源整合为一个统一管理的存储池,为分布式系统提供vOSD资源。SVM采用宽条带机制(见图3),将每个vOSD的工作负载均匀分布在节点的每个磁盘上,大幅提高了单个vOSD的IOPS能力,可有效抵御三副本分布式存储中的IO分布不均匀现象。

图 3 节点内Raid条带机制

SVM存储池由节点内多个RAID小组构成,通过虚拟卷为上层分布式系统提供vOSD存储服务。每个vOSD对应于三副本中由物理HDD承载的OSD。由分布式一致性哈希算法分配来的数据块,将写入SVM存储池中、由虚拟卷支撑的vOSD,而非直接写入物理硬盘。SVM 利用宽条带技术,将vOSD的工作负载均匀分布在各个物理磁盘上:每个大小为4MB的vOSD 对象数据块,被分割为32KB的数据块,依次被安排在RAID组的逻辑地址空间中;SVM 对各个RAID小组的逻辑地址空间采取顺序写优化策略:首次写按各个小组的逻辑地址分配地址空间,按顺序写入数据;后续重写,则优先填满空闲地址空间,尽可能实现硬盘顺序寻址,最大限度降低机械硬盘较慢的寻址操作次数,利用机械硬盘顺序写较快的特点来提升IO性能。

二级DRAM+Flash 缓存加速

磁盘阵列中常见的性能加速手段是共享缓存加速,中高端磁盘阵列与低端磁盘阵列的在性能方面的一个重大区别,除了控制器个数,就是缓存加速的能力。典型的中高端磁盘阵列能支持的共享缓存加速在512GB到1TB上下。铁力士借鉴了磁盘阵列的设计,通过SVM虚拟化实现DRAM与Flash相结合的二级缓存加速:通过自适应算法,自动识别动态或静态热数据(高频率读写或最近读写数据),将最热的数据保存在延迟最小的DRAM中,而将次热的数据保存在更大容量、基于Flash的固态硬盘上;并由于分布式技术的加持,形成一个容量巨大的分布式二级缓存系统。与中高端磁盘阵列相比较,铁力士分布式存储系统支持数10TB、甚至100TB以上的分布式缓存,相当于其10倍、甚至100倍的缓存容量。

数据完整性校验与数据自修复

SVM存储虚拟化管理借鉴了WAFL(NetApp) 、Btrfs(SuSE)、ZFS(Oracle)、Storage Spaces(微软)等文件系统的先进经验,对底层存储的每个数据块增加一个256比特的校验码,并单独保存在一对固态硬盘镜像中,用于快速实现在线数据完整性校验。一旦校验码检查到数据受损,通过节点内RAID功能实现数据自修复。该功能可快速定位硬件故障,并实现硬件故障自动隔离。

三、双重Raid机制与三副本对比

双重RAID究竟能否有效解决三副本的缺陷?让我们从二者之间的对比开始。

故障修复时间更短,业务影响更小

硬盘损坏时,双重RAID机制优先通过节点内RAID恢复数据,该恢复机制可自动调节速度以避让工作负载,前端业务无感知。无需触发网络数据重建,从而有效地避免了网络重建风暴。

节点故障时,可通过迁移磁盘到另一台物理服务器,实现节点迁移(无需拷贝或重建数据)。SVM存储池上每个磁盘记载关于存储池构成的全部信息,分布式存储的vOSD的ID号及用户数据,保存在SVM存储池的虚拟卷上,自动随着SVM存储池的迁移从一台物理服务器迁移到另一台物理服务器,主机名及vOSD的ID号保存不变,实现快速节点修复。

容错性更强,可允许多节点同时有磁盘损坏

三副本分布式存储通过跨节点的副本保护,可有效防止单个或两个磁盘损坏对业务数据的影响,但是容错性受到限制,如在三副本的情况下,不同故障域内之间,最多只能允许2个节点有磁盘损坏,超出2个节点出现磁盘故障,则极有可能发生数据丢失,如图4所示。

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

铁力士分布式存储通过双重Raid机制,能够将容错性提升一个数量级。如图5所示,以节点内Raid10+节点间2副本为例,当每个节点都出现磁盘故障的时候,可以通过节点内Raid分别修复,保障整个系统数据无丢失,业务无中断。

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

数据持久性(Durability)高出一个数量级

下面通过具体数值来比较三副本与双重RAID的数据持久性(可靠性)。数据持久性指标可通过存储系统的AFR(Annual Failure Rate)来衡量。考虑一个1000个6TB硬盘的存储集群,每个机械硬盘的MTTF(Mean Time to Failure)为1000,000小时。在计算中需要运用两个著名的MTTF公式,一个是关于RAID6,其MTTF=(MTTF)*(MTTF)*(MTTF)/(N*(N-1)*(N-2)*MTTR), 另一个是关于RAID5,其MTTF=(MTTF)*(MTTF)/(N*(N-1)MTTR), 其中MTTR(Mean Time to Repair)是硬盘平均修复时间。

在三副本条件下,存储系统共有333组三副本,每组三副本的MTTF相当于N=3的RAID6,在分布式并发修复的条件下,MTTR通常为3小时(每半小时修复1TB数据),因此每组三副本的MTTF =1000000*1000000*1000000/(3*2*1*3)=5.56x 1016 小时,而整个系统的MTTF = 5.56x 1016 /333 =1.67x 1014 小时。折算为AFR(一年共8760小时),AFR=8760/(1.67x 1014) =5.2x 10-11。

在双重RAID情况下,考虑节点内采用(2+1) RAID5,存储系统共有333组RAID5,为简化计算,考虑每组RAID对应于两个vOSD,12TB数据。据测算,RAID5的MTTR为30小时,每组RAID5 (vOSD)的MTTF=1000000*1000000/(3*2*30)=5.56x 109 小时。当一个RAID5组损坏时,由于vOSD在跨节点之间有镜像保护(其可靠性相当于N=2 RAID5),采用分布式并发修复12TB数据,每半小时修复1TB数据,需6小时,因此,其MTTR=(5.56x 109 )* (5.56x 109 )/(2*1*6)=2.58x 1018 小时。考虑到整个存储系统有333组RAID5, 因此整个系统的MTTF=2.58x 1018/333 =7,75x 1015 小时,相当于三副本MTTF的46倍。折算为AFR,双重RAID的AFR=8760/(7.75x 1015)= 1.1x 10-12 。

对比三副本和双重RAID的数据持久性,可见双重RAID的数据可靠性高于三副本一个数量级以上。

四、总结

铁力士分布式存储将传统磁盘阵列的RAID技术、存储虚拟化管理技术与分布式存储技术相结合,有效地解决了普通分布式存储面临的IO分布不均匀和木桶效应导致的性能缺陷,大幅度提升系统IOPS性能,并避免了普通分布式存储因网络重建风暴而可能导致的稳定性隐患。同时,双重RAID架构的数据可靠性高于三副本分布式存储一个数量级以上。

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/228679.html<

(0)
运维的头像运维
上一篇2025-04-18 10:12
下一篇 2025-04-18 10:14

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注