· OsdMaster,该模块每个Set有一套,实现Set内部的存储路由管理,并对各块磁盘的状态进行监控,及时剔除异常磁盘。
UFile存储路由算法设计
UFile存储集群采用去中心化设计,数据存储采用固定的路由算法进行存储,由于存储集群的规模为固定,因此路由表也为固定,这就保证了存储系统的简单性及稳定性。下面详细介绍UFile数据存储层的路由算法设计。
第一步,在存储集群上线时,每个集群的OsdMaster将磁盘信息进行组织,生成一个存储路由表,该路由表的每个项目对应3块分布在不同机架及存储机器上的磁盘,对象数据将按照路由表指定的位置进行存储。
第二步,每个存储在UFile上的对象数据将被切分成若干个4MB的数据块,称为分片。UFile为每个对象分配一个单集群内部唯一的对象ID,对象ID与分片编号拼接获得分片ID,通过字符串哈希算法获得哈希值,并在路由表中找到该分片存储的3块磁盘位置,由UFile接入模块将该分片数据提交到3块磁盘上。
第三步,当单块磁盘出现异常时,OsdMaster会发现这一情况,并将该磁盘标记为异常状态,当接入层写入此数据时,会只写入两份数据,待磁盘修复后,再从这两份数据中拷贝一份数据到已修复磁盘,恢复数据的多份高可靠存储。在出现一个哈希表项中有2块磁盘不可使用的情况时,为保证数据安全性,该存储集群将不允许写入操作,写入操作会被切换到其他集群提供服务,从而保证UFile读写的高可用性。
UFile功能优势
海量存储
存储空间无上限,无需考虑存储空间扩容问题,单文件最大支持5TB,适用于音视频、图片分享等UGC类应用海量文件存储。
高并发
支持高并发访问,突破传统磁盘I/O限制,满足高访问量及高下载量业务需求,适用于高下载量、高访问量应用文件的存储。
访问加速
存储文件结合CDN分发加速,国内外500+加速节点,有效降低访问延迟,提高下载速度,提升全网终端用户的访问体验。
安全可用
所存文件保存三份副本,分布存储于不同存储集群,即使单份数据损坏也不影响存储文件的可用性,同时保证文件安全。
内容保护
可通过身份验证机制及防盗链设置控制终端用户访问权限,避免因内容被盗用产生的版权损失和恶意访问的流量消耗。
图片处理
提供图片处理服务,支持图片缩放、剪裁、添加水印等功能,并提供多种尺寸设置,满足移动端、PC端等多终端访问需求。
更低成本
存储单价仅为云硬盘的1/2,下载由CDN分发,降低存储及网络成本,按实际使用量计费,无存储及带宽资源闲置浪费。
开发支持
完备的API接口及SDK开发包支持,适合多种语言,与原有业务无缝结合,能够极大缩短开发周期,帮助业务快速上线。
总结
在大量企业对数据存储需求强劲的背景下,UCloud对象存储系统应运而生。本文通过介绍UFile产品、底层文件存储系统实现细节、功能优势,分析了UFile如何实现高可靠及高可用特性。从云存储技术出发,UCloud助力各领域企业更高效、更智能地探索数据价值。