关于多副本和纠删码(二)

您所在的位置:网站首页 ec是啥游戏 关于多副本和纠删码(二)

关于多副本和纠删码(二)

2024-07-16 16:25:45| 来源: 网络整理| 查看: 265

文章目录 一、Erasure Coding(纠删码)和Raid比较二、Erasure Coding(纠删码)介绍2.1正常场景时EC读写原理2.2故障场景时EC读写原理2.3EC冗余配比

一、Erasure Coding(纠删码)和Raid比较

(1)EC算法是跨节点的,4+2:1的冗余允许1个节点故障而不丢失数据,RAID5一般是由节点内的若干块盘组成RAID组的,只能容忍硬盘故障,不能容忍节点故障。 (2)EC算法采用全局热备的方式,不需要单独的热备盘,所有硬盘都可参与数据读写,只要系统中有剩余空间,就可以恢复故障数据;RAID5方式单节点至少准备一块全局热备盘。 (3)4+2:1的EC方式允许损害任意的2块盘而不丢失数据,RAID5方式每个RAID组最多只允许损害1块盘,所谓的允许损坏多块盘是建立在所有坏盘都不位于相同RAID组中的,从实际经验来看,把数据安全建立在理想情况下是不靠谱的。 (4)当出现硬盘故障时,EC方式是多块盘参与数据恢复,RAID方式只有1块盘(热备盘)能够写数据,这就导致EC方式的数据恢复效率(1TB/小时)是RAID方式的几十倍,这也大大减少了数据恢复期间硬盘再次故障的可能(目前单盘容量都达到数个TB使得该风险急剧增加),进一步提升了系统的安全性。 (5)EC方式的保护级别可以针对目录设置,重要的数据目录可以设置更高的保护级别以确保安全性,随着节点扩容,数据条带大小还能自动调整以获取更高的空间利用率;RAID方式所有数据的保护级别是相同的,RAID组一旦划分完不能够再调整。 (6)RAID方式需要独立的RAID卡,EC方式不需要额外的硬件支持。

二、Erasure Coding(纠删码)介绍

传统的硬盘级RAID模式将数据存放于单节点内的不同硬盘,当整节点发生故障时,无法有效恢复数据。为了避免数据丢失,存储系统需要将数据在节点间进行冗余保护。Erasure Coding(简称EC,即纠删码)是一种冗余保护机制,通过计算校验片的方式实现数据冗余保护。

分布式存储系统在写入数据时,将数据切分为N个数据块(N为偶数),通过EC编码算法计算得到M个校验块(M取值2、3或4)。

服务器级安全:将N+M个数据块和校验块存储于不同的节点中,故障M个节点或M块硬盘,系统仍可正常读写数据,业务不中断,数据不丢失。 机柜级安全:将N+M个数据块和校验块存储于不同的机柜中,故障M个机柜、不同机柜的M个节点或M块硬盘,系统仍可正常读写数据,业务不中断,数据不丢失。 EC冗余方式的空间利用率约为N/(N+M),N越大,空间利用率越高,数据的可靠性由M值的大小决定,M越大可靠性越高。具体的冗余配比关系可以参见本章节末尾的“EC冗余配比表”,基于性能和可靠性综合考虑,推荐配置4+2。

说明:机柜级安全和服务器级安全的原理类似,以下内容以服务器级安全为例介绍其不同场景的读写原理。

2.1正常场景时EC读写原理

当存储节点的个数≥N+M时采用N+M冗余配比,当(N+M)/M≤存储节点的个数<N+M时采用N+M:1冗余配比。 N+M:将N个数据块和M个校验块随机存储于不同的节点中(因为存储节点的个数大于N+M同时基于可靠性的考虑,数据块将存储于不重复的节点),此时存储池允许故障M块盘或M个节点。 以N=4、M=2、存储节点个数=7为例:

写原理:如图1-2所示,用户写入数据Data后被系统切分为4个数据块(D1D4),同时通过EC编码得到2个校验码(C1C2),系统将6个数据块随机存入6个节点中。 图1-2 使用EC(N+M)写入数据

在这里插入图片描述

读原理:如图1-3所示,系统从4个节点的不同硬盘中读取数据块(D1~D4),并通过Copy的方式将这4个数据块拼装成Data返回给用户。 图1-3 使用EC(N+M)读取数据

在这里插入图片描述 N+M:1(折叠):将N个数据块和M个校验块随机打散存放于所有节点,每个节点都存在存放M个分片的情况,此时存储池允许故障M块硬盘或1个节点。 以N=4、M=2、存储节点个数=5为例:

写原理:如图1-4所示,用户写入数据Data后被系统切分为4个数据块(D1D4),同时通过EC编码得到2个校验码(C1C2),系统将6个数据块随机打散存放在5个节点中。 此时以Node3存放2个分片为例,故障Node3和其他任意一个节点时,故障的分片数量(3个)超过系统允许故障的个数M(2个),因此当N+M:1(折叠)时,只允许故障1个节点。 图1-4 使用EC(N+M:1)写入数据

在这里插入图片描述

读原理:如图1-5所示,系统从3个节点的不同硬盘中读取数据块(D1~D4),并通过Copy的方式将这4个数据块拼装成Data返回给用户。 图1-5 使用EC(N+M:1)读取数据

在这里插入图片描述

说明:扩容后,当存储节点数量≥N+M时,系统会通过后台自动均衡将N+M:1展开为N+M。

2.2故障场景时EC读写原理

故障场景写原理(N+M冗余配比)

当故障后的剩余存储节点数量≥N+M,系统会重新分配一个新节点组成N+M冗余,保证数据冗余不降低。 以N=4、M=2、存储节点个数=7为例,如图1-6所示,当故障Node6节点后,剩余6个节点仍满足4+2的情况,系统分配Node7存放数据块D2。

图1-6 故障场景写原理(剩余存储节点的数量≥N+M)

在这里插入图片描述

当故障后的剩余存储节点数量<N+M时,在故障恢复前系统会将新写入的数据缩列为N/2+M,保证IO不中断的同时可靠性级别不降低,故障恢复后,系统冗余配比恢复为N+M。 以N=4、M=2、存储节点个数=6为例,如图1-7所示,数据Data1在以4+2的冗余配比写入过程中,EC成员节点突然故障,此时为了保证可靠性不变,系统将新写入的数据Data2缩列为2+2冗余配比。

图1-7 数据写入原理(剩余节点数量<N+M) 在这里插入图片描述

故障场景写原理(N+M:1冗余配比) 当故障1个节点或M块硬盘后,系统仍然将N+M个数据块和校验块写入所有正常节点中。

数据读取原理 当EC成员节点或成员盘故障时,系统会读取任意N个数据(不管是数据分片还是校验分片),通过EC解码恢复数据。

以N=4、M=2为例:

冗余配比N+M:如图1-8所示,Node6和Node5发生故障,无法读取该节点的数据块D2和校验块C1,系统会从其他正常节点读取4个数据D1、D3、D4和C2,并通过解码获取Data返回给用户。 图1-8 故障场景数据读取原理(N+M) 在这里插入图片描述冗余配比N+M:1:如图1-9所示,Node3发生故障,无法读取该节点的数据块D2、D3,系统会从其他正常节点读取4个数据D4、D1、C1和C2,并通过解码获取Data返回给用户。 图1-9 故障场景数据读取原理(N+M:1) 在这里插入图片描述 故障场景时EC数据重构原理 当系统的EC成员盘或成员节点发生故障后,将读取其他正常盘的N个数据,通过解码的方式获取故障盘的数据块并将其存放至其他正常盘中,具体原理如图1-10所示。 图1-10 数据重构原理 在这里插入图片描述 根据不同的故障场景,会采取不同的重构策略:当硬盘发生故障时,存储池等待15分钟后启动数据重构。当节点发生故障时,存储池还存在冗余保护时,延迟7天启动数据重构;当存储池不存在冗余保护时,延迟24小时启动数据重构。 例如,6节点场景,EC冗余配比4+2,当故障1个节点,7天后启动数据重构;故障2个节点,24小时后启动数据重构。 2.3EC冗余配比

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭