预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 云存储技术解析:对象存储服务器,分布式存储架构 当下,AI正与云计算进行深度融合,未来会变得更加智能,但在智能化的背后是对海量数据存储的刚性需求。据不完全统计,单是一辆无人驾驶汽车每秒产生的数据容量就在1G左右,相当于每秒发送20万封纯文本电子邮件或上传100张高清数码照片。因此,没有大容量和超稳定的存储系统,这一切都将无从谈起。无存储,不智能。为了更加清晰的了解云存储技术的实现过程,UCloud存储研发部将对云存储——对象存储(UFile)技术进行深度解析。 ▌对象存储UFile概念 对象存储(UFile)是为互联网应用提供非结构化文件存储的服务;相对于传统硬盘存储,UFile具有存储无上限、支持高并发访问、成本更低等优势;解决业务架构的文件存储问题,有效降低海量文件的存储成本,支持热点数据的高并发访问,提升终端用户访问体验。 ▌单地域UFile存储架构六大集群 ULB(UCloudLoadBalancer)实现外网的对接及接入层的负载均衡与容灾处理,该模块经过定期向接入层模块端口发送心跳以检测接入层模块的可用性,发现异常模块及时进行剔除; 接入层提供文件访问服务,该模块为无状态设计,因此能够平行扩容及缩容; 索引层保存文件对象的元数据信息,包括对象名称、对象大小、创立时间、存储位置等; 存储层是实际存储文件数据的模块集群,主要实现文件数据的多份分布及高可靠存储; 数据处理层主要实现UFile图片及数据处理,包括图片的实时裁剪、缩放、旋转、水印、格式转换、信息获取等操作,客户还能够使用自己的通用计算镜像对数据进行处理; 名字服务主要实现索引层及数据处理层模块的容灾剔除,以上3个集群的模块会定期在名字服务注册自身服务,当其中有部分模块因机器异常或者网络中断导致无法提供服务时,名字服务会将该机器从名字中剔除,而且通知接入层,从而实现后台模块的容灾剔除。 ▌重点设计解析 UFile索引层设计 UFile索引层为一套分布式KV存储系统,其主要目标是保证UFile对象元数据的高性能、高可靠、高可用及可扩展的存储,其主要分成两层架构: 索引接入集群解决索引存储集群的管理及元数据的分布,这一层模块为无状态设计,经过名字服务实现异常状态的容灾剔除; 索引存储集群实现对象元数据的分布式存储,每个对象元数据将存储3份,保证数据的可靠性及高可用性,同时对象存储采用SSD(固态硬盘)作为存储介质,也保证了元数据存储的高并发低延时访问特性。另外,该模块采用固定集群规模的方式进行管理,每个集群支撑的存储量、访问量固定,存储可实现以集群为单位的水平扩容,保障业务不断增长情况下的高性能稳定访问支持。 UFile存储层设计 存储层包括三种类型模块集群: 存储节点,该模块按照固定大小的集群(称为”Set”)进行组织和管理,每个集群支撑的存储量及访问量规格固定,同时该模块可根据存储量需求横向进行无限扩展,从而满足客户无存储量上限的数据存储需求。每个对象数据在存储层存储三份数据,经过对异常情况的及时处理和坏盘的及时修复,保证数据极高的可靠性; SetMaster,该模块进行Set状态的管理,接入集群经过SetMaster决定上传对象数据的存储集群,并执行数据的存储操作; OsdMaster,该模块每个Set有一套,实现Set内部的存储路由管理,并对各块磁盘的状态进行监控,及时剔除异常磁盘。 UFile存储路由算法设计 UFile存储集群采用去中心化设计,数据存储采用固定的路由算法进行存储,由于存储集群的规模为固定,因此路由表也为固定,这就保证了存储系统的简单性及稳定性。下面详细介绍UFile数据存储层的路由算法设计。 一步,在存储集群上线时,每个集群的OsdMaster将磁盘信息进行组织,生成一个存储路由表,该路由表的每个项目对应3块分布在不同机架及存储机器上的磁盘,对象数据将按照路由表指定的位置进行存储。 第二步,每个存储在UFile上的对象数据将被切分成若干个4MB的数据块,称为分片。UFile为每个对象分配一个单集群内部的对象ID,对象ID与分片编号拼接获得分片ID,经过字符串哈希算法获得哈希值,并在路由表中找到该分片存储的3块磁盘位置,由UFile接入模块将该分片数据提交到3块磁盘上。 第三步,当单块磁盘出现异常时,OsdMaster会发现这一情况,并将该磁盘标记为异常状态,当接入层写入此数据时,会只写入两份数据,待磁盘修复后,再从这两份数据中拷贝一份数据到已修复磁盘,恢复数据的多份高可靠存储。在出现一个哈希表项中有2块磁盘不可使用的情况时,为保证数据安全性,该存储集群将不允许写入操作,写入操作会被切换到其它集群提供服务,从而保证UFile读写的高可用性。 ▌UFile功能优势 海量