版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
王东临论数据持久性保障机制为了保证数据持久性,除了对可靠性要求最低的桌面级存储可以听天由命(赌硬盘故障的AFR概率不会落到自己头上)以外,一个存储系统一定要有数据持久性保障机制,即使硬盘坏了也能保证数据不会丢。数据持久性保障机制由数据冗余、心跳监测和数据重建三部分构成。企业级存储和传统分布式存储都有完备的数据持久性保障机制,其数据冗余、心跳监测和数据重建三部分都健全;在去中心化存储系统中,IPFS有非强制性的数据冗余机制(不是所有数据都做冗余,只有热数据有冗余),尚缺心跳监测和数据重建,YTFS则三者健全,构成完备的数据持久性保障机制。数据冗余技术在存储行业,冗余不是一个贬义词,而是能够实现故障容错的关键技术。当组成存储系统的部件(包括但不限于硬盘)出现故障时,由于存在冗余,仍然可以从其它部件完整读取数据,从而不会因为故障造成数据丢失。一般人对数据冗余技术的理解就是多存几份副本,一份丢了还有其它,副本越多越不容易丢。多副本确实是一种常用的数据冗余技术,但既不是唯一的,也不是最好的。实际上数学家早就为我们准备好了非常神奇的数学算法(专业术语是前向纠错的分组差错控制编码),可以更有效地满足数据冗余的需求。这些数学编码的效果可以用N+M来表示,即将数据用该算法编码成N+M个数据分片,每个数据分片1/N大小,只需要其中任意N个数据分片就能用对应的译码算法还原数据。也就是说,即使其中任意M个数据分片丢失,数据也不会丢。举例来说,对于9+3模式来说,是将数据编码成12个数据分片(注意不是切成12片,而是像加密一样做数学编码运算计算出这12片),每个数据分片的大小是原数据的1/9,这12个数据分片即使任意3片丢了,也能还原出原始数据。N+M模式会带来一定的计算开销和元数据开销,但是数据冗余率(冗余后数据与原始数据的比例)极低,只有N+M/N,持久性却接近M副本。例如上例中9+3冗余的数据冗余率只有133%,但持久性与冗余率高达300%的3副本相当。而YTFS使用的128+32模式,数据冗余率低到125%。持久性却接近32副本(其数据冗余率是3200%)。除了持久性高且冗余率低以外,这些数学编码还具有强大的检错、纠错甚至纠删能力。什么叫检错、纠错、纠删呢?见如下定义:检错:能识别数据差错纠错:能纠正数据差错纠删:能纠错而且能删除超过纠错能力的数据多副本模式虽然数据冗余率高(即为数据冗余付出的成本代价大),但检错纠错能力弱,无纠删能力,还有脑裂(破坏数据一致性)风险。例如,两副本模式下,如果两份数据不一致,能够检错(知道数据有差错),但不能纠错(不知道哪份是对的),这时候就称为脑裂,就相当于一个人闹神经病一样,左脑和右脑打架。在三副本模式下,可以多数判决,具备1位的纠错能力(如果只有1位数据错,可以纠正),但不具备2位的纠错能力。在这些数据冗余编码算法中,最简单的是企业级存储常用的RAID采用的编码算法。RAID是RedundantArraysofIndependentDrives的缩写,有“独立磁盘构成的具有冗余能力的阵列”之意,也称为磁盘阵列,简称盘阵,是用多块磁盘组成一个存储池的技术。不同的RAID模式采取不同的数据冗余方式,常见的有:RAID0:无冗余,只是简单将多块盘绑一起视为一块大硬盘,任何一块盘出现故障都会导致数据丢失;RAID1:镜像(Mirror)模式,相当于双副本,每次写数据都将相同数据写到两块硬盘上。数据冗余率200%,有检错能力,无纠错能力,无纠删能力。RAID5/RAID6:N+1/N+2冗余,数据冗余率低,检错纠错能力弱,不能纠删可见,RAID5是M值固定为1的N+M编码,RAID6是M值固定为2的N+M编码。也有的编码是N和M都可以任意取值的,常见的有BCH、RS和LDPC编码。YTFS采用的是RS编码,这是1960年两个数学家IrvingReed和GusSolomon发明的,就用他们的名字的缩写命名。RS编码可以实现任意N+M冗余,数据冗余率低,而且能检错、纠错、纠删。心跳监测心跳监测就是不断监测各节点/硬盘的状态,监测是否还活着,一旦检测不到心跳信号了,就判定其失效了,需要采取措施恢复其数据了。心跳监测有多种手段,分布式存储一般常用的是定时发心跳信号给其它节点或响应其它节点的定时请求、定时写心跳信号到共享仲裁盘等。但是一定要注意当网络出现故障没有收到心跳信号时,可能会导致误判,需要有更完善的机制来判断。对区块链存储来说,心跳监测可以与存储共识合并,在监测是否作恶时顺带就监测是否存活了。YTFS就是这样做的,但IPFS却只有PoST存储共识,没有心跳监测机制。数据重建当存储介质或存储节点失效时,虽然由于存在数据冗余不会丢失数据,但会导致数据冗余度下降,后续再有更多介质/节点失效时就可能会丢失数据,因此就需要及时在其它介质或节点重建失效的数据。对RAID来说,可以设置一块空白的热备盘,当任何一块盘出现故障时,就在用热备盘代替因故障而失效的盘,用同一RAID组的其它盘的信息来在热备盘上重建失效盘上的数据。对分布式存储和去中心化存储来说,就需要在其它节点上来重建失效节点的数据。数据重建的几个关键点是:是否能自动启动重建(否则是运维人员手工启动),数据重建的速度,数据重建阶段对系统性能的影响。RAID2.0的技术是将一块盘分成很多个Chunk,用来自不同盘上的Chunk来组成RAID组。这样的好处是当一块盘坏了需要数据重建时,可以系统里的所有盘都参与重建,将失效盘上的各Chunk分散给很多盘来重建,而不是传统RAID模式下1对1重建,大大加快了数据重建的速度。YTFS是以数据分片为单位来存储数据的,对失效节点的重建也是类似原理,可以100个甚至1000个节点来参与数据重建,大大提高了数据重建的性能。IPFS尚没有设计数据重建机制。元数据管理元数据是描述数据的数据,例如文件名、索引信息、数据的位置信息等,对存储系统来说最重要的元数据就是数据的位置信息。元数据管理是分布式存储三个关键环节之一(另外两个是存储引擎和一致性协议)。元数据管理一般包括:集群成员管理,数据寻址,数据冗余管理,负载均衡,心跳,垃圾回收等。对RAID来说,RAID信息就是元数据,通常保存在RAID卡上,这就是为什么RAID卡上推荐装电池的原因,一旦RAID卡上的元数据信息丢失,RAID组上的数据可能就找不回来了。对一些分布式存储系统和去中心化存储系统来说,例如HDFS(大名鼎鼎的Hadoop所用的存储系统)和YTFS都有元数据节点,用来保存元数据信息。HDFS的元数据节点是其系统瓶颈和最脆弱的故障点,YTFS则采用126个互备的元数据节点的方式解决了这个问题。还有一些分布式存储系统和去中心化存储系统没有单独的元数据节点,采用CRUSH或DHT的方式来进行元数据管理,例如Ceph和IPFS。存储分层存储系统是非常复杂的,你从存储系统看到的都是映射给你看的逻辑空间,哪怕是最简单的桌面级存储,你从Windows里看到的都不是物理硬盘数据,而且一层套一层,有点像《TheMatrix》(黑客帝国),每一层都是映射出来的,很多层嵌套。存储分层有多种原因,有的是为了架构灵活度各层之间松耦合便于满足各种需求,但分大层是为了在性能和成本之间取得平衡。由于不同存储技术在技术指标和成本上的差异,存储采用多层的体系,其中最底下一层是持久化存储层,上面都是缓存。越往上性能越好、单价越高、容量越小;越往下性能越慢、单价越低、容量越大。这样整体成本接近最底层,性能接近最上层,容量和持久性等同持久化存储层。
上图是现在常用的存储分层模型,由CPU内的三级缓存、内存、SSD和硬盘组成。上图是将来的存储分层模型。持久化存储层由持久性最高、成本最低、容量最大的区块链存储担任,并在闪存和内存中间增加一层FM相变材料(例如Intel3DXPoint,其商品化名称是Optane)。存储接口块设备也称为块存储,指以块为单位读写,支持随机访问。块设备无文件系统,相当于一块裸硬盘,可以在其上面格式化出来文件系统,一般用iSCSI、SCSI、NBD等协议。块设备经常用于对性能要求比较高的场景,例如数据库。NASNetworkAttachedStorage(网络共享存储)的缩写,兼容POSIX(操作系统和文件系统的接口协议),也称为文件存储。用户可以通过网络连接NAS存储,然后就像本地盘一样使用。NAS存储通常使用NFS和CIFS协议。对象存储顾名思义,ObjectStorage就是以Object为单位进行读写。你可以将一个Object(对象)视为一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年【道路运输企业主要负责人】考试题及答案解析
- 2026年中职第三学年(房地产经纪)房屋租赁阶段测试试题及答案
- 2026年N2观光车和观光列车司机考试历年真题带答案
- 可持续发展制定与实施指南
- 中空玻璃节能安装施工工艺及施工方法
- 2025下半年教师资格证幼儿园《综合素质》考试真题及答案
- 新能源汽车考试试题库及答案
- 一年级通知题目及答案
- 一年级交通闯关题目及答案
- 远离传染病迹科学预防疾病五六年级主题班会课件
- 2026年教师考编时政试题及答案
- 人教版(2024)八年级下册英语期末复习:Unit 1~8书面表达+范文(附写作指导)
- 冠心病合并瓣膜病同期手术专家共识
- 2026广东深圳市龙岗区建筑科技有限公司第二批招聘12人笔试备考题库及答案详解
- 黄色简约风新个人所得税培训模板
- 2026年高考北京卷文科综合真题试卷(+答案)
- 中国胰岛素抵抗综合管理现状与未来白皮书2025+
- 2026年初级长期照护师理论模拟试题100题(含完整答案解析)
- 2026年黑龙江绥化市中考地理试卷及答案
- 2026苏州市中考语文查缺补漏专练含答案
- 2025-2030中国军用机器人行业深度调研及投资前景预测研究报告
评论
0/150
提交评论