分布式存储系统概述.docx
《分布式存储系统概述.docx》由会员分享,可在线阅读,更多相关《分布式存储系统概述.docx(22页珍藏版)》请在优知文库上搜索。
1、内容总括分布式存储系统是基于分布式架构,由多个软硬件协同的存储节点通过网络互联来提供存储服务的系统.或简言之,分布式存储系统使用分布式的方法来提供存储服务.分布式存储系统首先是存储系统,作为存储存储系统,最基本的需求是提供系统的可靠性和可用性.可靠性是指,用户在存储系统写入的数据不能丢,读取的数据不能错;可用性是指,系统提供的服务不中断。除了可靠性和可用性,存储系统还需要具备高性能、高数据存储效率、高安全、易管理等特点.高性能是指系统提供高IOPS、高带宽、低时延;高数据存储效率是指,存储系统利用数据缩减方法(如RAID、EC、电弱、压缩等)使用户写入的数据占用尽最小的存储空间;高安全主要针对
2、存慵系统的用户业务、存储设备、存博网络等,需要保证它们不易受到安全威胁和攻击,即使收到攻击后也易于恢复;易管理是指系统在生命周期内可以进行方便的配置、维护、优化等.分布式存储是使用分布式的方法设计的,必然具有分布式系统的特点.这些特点包括易扩展、融合存储服务、生态开放等.易扩展是指可以在方便地在已有的分布式存储系统中添加(或缩减)节点,并且系统的整体性能(IOPS、带宽)和节点数量(近)线性相关;融合服务能力是指存储系统可以同时支持块、文件、对象、HDFS等多种存储服务;生态开放是指分布式存储不仅可以方便地对接各种上层应用,其系统自身的软硬件也具有相对开放的生态.人们总是追求完美的产品,对于分
3、布式存储产品,也不例外.比如数据高可靠要高,永远不会丢数据;系统可用性要高,永远在线;系统扩展性要强,可任意扩、缩存储节点;系统容错性强,随便坏几块硬盘,甚至坏几个节点都不会影响存储系统的可靠性和系统可用性;当然,存储还必须具备高性能.但是,完美的存储系统是不存在的。这倒不完全是由于技术的原因,一些更深层的原理,比如分布式存储中的CAP理论,就从理论上制约了完美存储的存在.实际上,我们在设计分布式系统的时候,往往要在可靠性、可用性、性能、存储效率、成本等不同的方面进行权衡和取舍.不同的用户、不同的应有场景,对分布式存储系统的关注点也不尽相同.这也是为什么即使是同一个的厂商的分布式存储产品,也会
4、分成不同的产品系列和型号。其主要作用就是满足不同场景和用户的需求.本文的主要目的,是对分布式存储系统设计中所关注的问颖和方法做一些简要的说明,以期读者通过此文对分布式存储系统有一个基本的了解。下面,我将对本文中提及的分布式存储的特征做一个基本描述.因为文章长度的限制,这里的描述是粗略的。之后,我希望根据读者的兴趣和本人的能力,对分布式存储系统中的一些问题和方法进行专题论述.二、可靠性首先,我们看一下分布式存储系统的可靠性.可靠性在不同的语境下有不同的含义.为避免歧义,此文中我们特指存储系统数据的可扉性.更加严格一点说,是指存储系统在给定的时间内(定量计算中一般取一年)数据不丢失的概率.比如,亚
5、马逊S3存储服务的数据可宛性指标是11个9,也就是99.999999999%。照此计凭,用户存储百亿对象,平均十年可能出现1个对象丢失.对分布式存储系统来说,造成数据丢失的主要原因是硬件失效(除硬件失效外,软件Bug也会造成数据可靠性降低,软件Bug不在本文中论述)。硬件失效包括硬盘失效、存储节点失效、网络异常、IDC故障等.硬件失效时不可避免的.为了保证在发生硬件失效时,从整个存硫系统的角度不丢失数据,一般采用数据冗余的方法,在分布式存储集群内做数据冗余,甚至在IDC机房间的不同分布式存储集群间做数据冗余(数据备份)。当前较为成熟的数据冗余方法包括多副本和纠删码,一些新的网络编码方案也探索中
6、.多副本,腺名思义,就是把数据在分布式系统中保存多份;纠删码是RAID技术的拓展,它把格存储数据分割成固定长度的数据片段,基于这些数据片段,利用算法计算出若干个校验片段,然后把数据片段和校验片段存储到不同的存谛介质上.为了最大限度的提高数据可靠性,数据的不同副本或纠刷码片段尽最要存储在不同存储节点(甚至不同机架)。基于硬件失效(硬盘、节点、网络等)的数据可篇性可以通过建模的方法计算出来.常见的算法模型包括蒙特卡洛方法和基于泊松分布的数据估计方法,后续文章专门论述,本文从略。数据可靠性还包含了数据完整性.用户写入存博系统的数据再读取时必须正确的.实际上,数据进入存储系统,要经过网卡、CPU、内存
7、、RAID(HBA)卡、硬盘等多个部件的处理,理论上,每个部件在处理过程中都可能发生数据错误.为避免这些可能的错误,需要数据中添加校睑信息,以保障最终落盘数据的完整性.校验信息不仅可以保障落盘数据的完整性,还可以避免另一类更要问题,即静默错误(SilentDataCorruption)。磁盘发生静默错误的原因包括介质损坏、firmware问题等.在读取发生静默错误的数据时,通过校验信息,就可以发现读物数据的问期.此时,通过其他副本(或其他校验方法)可以更新读出正确的数据,保证读取数据的完整性.为了提升分布式存储系统的数据可靠性,需要从多个维度进行考量.从存储节点部件(硬盘、内存、CPU、RAI
8、D/HBA卡)级,到存储集群系统级,再到解决方案级,需要多个层次通盘考虑.在部件级,硬盘(包括HDD和SSD)最终承载了用户数据,且其数量大,相对易出错,所以,如何有效、快速地识别和处理硬盘故障,把硬盘故障对整个系统的影响降到最低,是可靠性设计面临的关键挑战.对硬盘可靠性提升的方法包括硬盘坏道检测、错误处理、满盘检测和隔寓、故障预测等内容.除硬盘外,网卡、内存等部件有需要相应的可靠性检测和保护技术.存储集群系统级的可品性技术包括数据布局的方法、故障节点的快速检测和切换、数据的快速函构等.数据布局技术就是数据的副本或EC分片在存储集群中的分布方法。良好的数据布局在可以在相同副本或EC配首下最大化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 存储系统 概述