分布式存储技术:三副本 vs 双重RAID

开源Linux

共 1809字,需浏览 4分钟

 ·

2023-06-20 11:56

( 三副本 VS   双重RAID
分布式技术路线对比

当下,分布式存储应用非常广泛,主要用于Openstack私有云、各种共有云平台、以及服务器虚拟化、超融合等;按接口划分:分布式存储包含块存储、对象存储、文件存储等。分布式存储正逐渐取代传统磁盘阵列,成为现代存储平台建设的首选。

分布式存储的主流厂商有IT大厂华为、新华三、浪潮,也有存储创新企业如道熵、XSKY、SmartX等。

主流布式存储厂家以开源Ceph为基础或参考模型,以三副本架构为主,如华为、新华三、浪潮、XSKY;而道熵则采用双重RAID架构,每个节点采用存储虚拟化与本地RAID管理,节点间则是分布式两副本技术,架构上更接近(分布式)磁盘阵列。

三副本技术路线

三副本分布式存储采用网络间三副本策略实现数据保护与故障修复。当某个硬盘(OSD)发生故障时,该硬盘OSD上的数据将自动按CRUSH规则在其他硬盘OSD上重建。

三副本网络数据重建有以下几个弊端:

1






消耗网络带宽,可能会影响到业务数据的正常工作;

2






TCP/IP网络具有数据包丢失与重发的特性,可能导致网络故障或网络抖动,影响OSD的状态,引起OSD重建的连锁反应;

3






严重时可导致业务中断、甚至丢失数据的风险。


三副本分布式存储的另一个弊端就是“慢盘”效应,以及相关的性能及稳定性问题。在三副本系统中,每个机械磁盘(HDD)单独作为一个OSD存储单元承接用户工作负载,而单个HDD随机IO读写非常低,仅为120 次读写/秒,极容易成为瓶颈。


由于分布式存储采用随机数据分布,而随机性必然导致个别磁盘上的负载远超平均值(著名的正太分布效应);此外,磁盘本身的制造缺陷或故障还会加剧 “慢盘”现象发生的频率。当系统出现一个或多个慢盘时,不仅会拖累总体性能与用户体验,甚至可能导致业务卡顿、中断、甚至系统崩溃的严重事故。


双重RAID技术路线

双重RAID采用节点内RAID与网络两副本策略相结合的方式,实现数据保护与故障修复。各节点采用log-structured 软件定义技术(而不是硬件RAID卡),实现节点存储资源池化、数据冗余保护(本地RAID)、ARC智能缓存、在线数据压缩、故障自动检测与报警等高级管理功能,通过虚拟卷为OSD提供存储服务(vOSD);在vOSD上层通过分布式两副本策略提供跨节点间数据保护与业务高可用功能。当某个硬盘发生故障时,由节点内RAID对数据实现本地数据修复,而上层vOSD状态正常,毫无感知,不会触发网络数据修复。


与网络数据修复相比,本地RAID数据修复具有以下特征:

1

硬件故障隔离,避免了网络修复可能导致的稳定性问题;

2

可自动避让业务,保证业务无感知;

3

本地修复时数据延迟小,不消耗网络带宽;

4

抵御故障能力强,每个节点都能抵御一个或多个硬盘故障;而三副本最多抵御两个连续的硬盘故障。


双重RAID的另一个技术优势在于,支持在线增加NVMe固态硬盘个数,或在线替换更大容量的NVMe固态硬盘,从而使得用户活动工作负载数据集 (Working Data Set),俗称热数据,可几乎全部落在两级缓存加速层中,从而使得系统总体性能可逼近全闪存存储系统。

双重RAID是迄今为止对付“慢盘”效应最有效的办法。在双重RAID架构中,每个节点不仅具备抵御磁盘故障、数据本地修复的能力,同时,通过存储资源池化技术将该节点上所有的vOSD 的工作负载平均分布到各个磁盘上。这种负载均衡技术可大幅度降低因工作负载不均匀,或个别磁盘性能下降导致的慢盘现象。此外,每个存储节点在整合的存储资源池基础上,利用节点的内存和大容量NVMe固态硬盘构成一个统一的两级缓存加速层,并采用自适应算法匹配vOSD工作负载的变化,大幅度提升各个vOSD承受极端工作负载的能力。

总结:双重RAID架构与三副本架构相比,在性能、稳定性和数据可靠性方面具有明显优势。特别需要指出的是,双重RAID具备非常优秀的硬件故障隔离特性,而三副本对硬件故障的检查和容错能力较弱,因此双重RAID可显著降低运维难度与运维人工成本。

原文链接:
https://mp.weixin.qq.com/s/WE_cnWmwPCVoQG0zjJ38CA



10T 技术资源大放送!包括但不限于:Linux、虚拟化、容器、云计算、网络、Python、Go 等。在 开源Linux 公众号内回复 10T,即可免费获取!

Linux学习指南

有收获,点个在看 

浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报