分布式海量云存储平台的技术创新及应用

简介:

随着大数据、云计算、物联网等新技术的发展,电信、互联网、政企等行业应用日新月异,数据呈爆炸式增长并成为战略性资源。据思科VNI预测,全球数据量每年约30%的速度递增,2020年达到惊人的40ZB。

传统存储面临的挑战

面对海量数据,传统存储面临诸多挑战,主要体现在以下方面。

成本高:传统存储硬件使用专有设备,通用性差,设备投资加上后期维护、升级扩容的成本非常高。

性能低:单节点I/O性能瓶颈无法逾越,容量和性能都不易扩展,难以支撑海量数据的高并发低时延场景。

可扩展性差:无法实现快速部署和弹性扩展。

此外,信息安全问题触及到国家和企业的安全命脉,信息安全已经上升为国家战略,IT系统核心技术自主研发的需求十分迫切。

中兴海量云存储平台及其优势

针对传统存储和业界现有存储技术的短板,依托中兴通讯30多年的技术积累,我们研制了分布式海量云存储平台ZXDFS,满足大数据时代的数据存储需求和业务发展需要。总体架构如图1所示,在架构上分为三个层次:硬件节点层、服务端和客户端,其中,服务端和客户端属于软件平台层。

图1 海量云存储平台架构图

中兴ZXDFS在架构、功能和性能等方面进行了大量创新,形成了独特的优势。

去中心化设计,大容量高可靠架构

元数据是分布式文件系统的核心,可靠性和一致性是基本要求,性能和容量是核心的竞争力。业界大部分分布式文件系统都要配置单独的元数据服务器,这样就造成了元数据的瓶颈和可支持文件数量的限制。如图2所示,ZXDFS采用全Active的Share nothing方式去中心化设计,元数据和数据分布在各个节点,每个节点都是元数据服务器同时也是数据服务器。访问文件数据时首先通过一致性Hash算法找到文件所归属的元数据服务器,然后通过元数据服务器获取文件的数据分布情况,再去访问数据块所在的节点完成数据操作。

这样,ZXDFS就提供了灵活强大的扩展能力,单域可支持256个节点,单节点可支持100亿文件。同时有效地消除了元数据访问热点,避免了系统资源争用。

在出现节点故障时,系统能够自动识别故障节点,自动恢复故障节点涉及的数据和元数据,使得单节点的故障不会影响到系统整体的对外服务,完全不影响业务的连续性。

图2 高可靠高扩展的元数据架构

横向伸缩,在线动态扩容

云存储作为后端的数据集中存储平台,必须具备动态伸缩的能力,这样才能满足前端应用系统不断扩展对存储伸缩的需求。ZXDFS采用分域架构实现磁盘/节点/域三个层级的容量和性能的横向(SCALE-OUT)线性扩展,克服单个节点元数据及数据服务造成的访问热点、性能瓶颈以及扩展性受限问题,提升系统整体IO并发性能。

采用全局统一命名空间保证每个存储服务节点具有相同的数据存储能力和系统管理能力,提供海量大并发的读写服务能力。ZXDFS的动态扩展能力体现在性能上的动态扩展和存储空间上的动态扩展两方面,并且这种动态扩展不影响前端应用系统的正常运行,也不增加整个存储云在管理、监控和使用上的复杂性。

高性能,高效数据冗余技术

ZXDFS可根据用户业务需求,自定义热点识别和热点迁移策略,实现冷、热数据在多级存储池之间的双向自动迁移。采用创新的分级收益算法,定期统计文件的访问收益,通过文件大小、文件平均访问间隔、文件访问次数以及文件访问字节数,计算出升级成本和收益的比值,对比值小于升级阈值的文件加入到升级队列中并进行排序。

迁移周期内,根据文件的历史访问收益以及当前访问收益计算文件分级收益,实现数据自动分级迁移。通过配置分级收益算法系数 和收益周期T,使得分级存储或缓存系统的一级存储池命中率保持在80%以上,一级存储池利用率保持在70%以下,内部数据迁移流量与外部数据读写流量比例不超过20%。

ZXDFS采用优化的删码算法和基于Intel CPU SSE指令集,减少CPU占用并大幅提升计算性能。通过无缝融合用户态NFS服务,简化了传统NFS访问模式中的VFS层和FUSE层,单次数据访问减少了两次用户态和内核态的切换开销,大幅提升了NFS接口数据读写效率。利用 DMA 引擎进行数据加速,减少了4次上下文切换所带来的内存拷贝和CPU开销,当传输大量视频数据时,使用该加速技术后性能提升非常显著。

ZXDFS云存储平台支持副本和EC两种数据冗余方式。副本模式下,分布式海量云存储平台以一定大小对文件进行切分并将切分的文件块以多个完全副本方式跨磁盘、跨节点存储。EC模式支持N+M<=16范围内任意的EC比例配置,支持磁盘和存储节点两个不同层次的EC编解码冗余颗粒度。两种冗余方式可根据不同应用场景下对存储可靠性、性能和成本的需要进行灵活配置。

创新的海量小文件存储优化技术

ZXDFS采用在元数据层聚合、数据存储层聚合技术,成功攻克海量小文件模型(LOSF)下存储空间利用率低及访问性能低下的痛点。典型的文件大小和分布模型下,应用本创新后IOPS性能比原来提升了4倍,数据存储空间利用率提升近2倍。

根据局部相关性原理,将业务上处在同一路径下的多个的逻辑文件进行聚合,减少文件句柄的占用,降低了磁盘的碎片化且提升空间利用率;同时针对海量小文件模型(LOSF)的数据和元数据采用创新的读写缓存优化技术,将原来产生大量耗时的文件打开、磁盘随机IO、元数据读取与加载等操作转换为对缓存中聚合后的文件数据和元数据的偏移操作,大幅提升了小文件访问效率以及磁盘空间利用率。

快速部署,维护便捷

支持一键式自动化批量安装、升级和巡检,大大缩短安装、升级、巡检周期,提升系统可维护性。支持磁盘故障数据自动快速重构恢复,不需人工干预,只需定期更换坏盘,大大降低磁盘维护工作量。

应用实践

中兴分布式海量云存储平台在全球各地承载着大量的电信及政企业务应用,包括中国电信、中国移动、中国联通、央视的IPTV CDN系统,以及视频监控、媒资存储、信令检测、彩信、WAP、139邮箱、云盘、统一存储资源池等,其中中国移动南方基地存储资源池达到13.6PB容量、存储上百亿文件,实现了大规模成熟商用。

总结

中兴分布式海量云存储平台使用通用X86架构硬件,具有大容量、高性能、高扩展性和易管理等方面的突出优势,为大数据时代的社会、经济、生活提供基础技术平台支撑,实现了无所不在的数据存储服务。

本文转自d1net(转载)

相关文章
|
1月前
|
安全 大数据 Go
Go语言在分布式系统中的应用
【2月更文挑战第20天】Go语言,以其独特的语言特性和出色的性能,逐渐成为分布式系统开发领域的热门选择。本文将深入探讨Go语言在分布式系统中的应用,分析其优势及实际应用案例,旨在为开发人员提供有价值的参考与启示。
|
3月前
|
运维 负载均衡 Dubbo
分布式技术之dubbo
分布式技术之dubbo
38 0
分布式技术之dubbo
|
3月前
|
消息中间件 Java 网络安全
JAVAEE分布式技术之Zookeeper的第一次课
JAVAEE分布式技术之Zookeeper的第一次课
70 0
|
14天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
27天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
32 0
|
27天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
15 0
|
27天前
|
存储 监控 安全
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
62 1
|
27天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
50 0
|
27天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
76 0
|
27天前
|
缓存 应用服务中间件 数据库
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
32 1

热门文章

最新文章