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

简介:

随着大数据、云计算、物联网等新技术的发展,电信、互联网、政企等行业应用日新月异,数据呈爆炸式增长并成为战略性资源。据思科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月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
在数字化转型中,企业亟需从海量数据中快速提取价值并转化为业务增长动力。5月15日19:00-21:00,阿里云三位技术专家将讲解Kafka与Flink的强强联合方案,帮助企业零门槛构建分布式实时分析平台。此组合广泛应用于实时风控、用户行为追踪等场景,具备高吞吐、弹性扩缩容及亚秒级响应优势。直播适合初学者、开发者和数据工程师,参与还有机会领取定制好礼!扫描海报二维码或点击链接预约直播:[https://developer.aliyun.com/live/255088](https://developer.aliyun.com/live/255088)
208 35
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
|
1月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
|
24天前
|
安全 JavaScript 前端开发
HarmonyOS NEXT~HarmonyOS 语言仓颉:下一代分布式开发语言的技术解析与应用实践
HarmonyOS语言仓颉是华为专为HarmonyOS生态系统设计的新型编程语言,旨在解决分布式环境下的开发挑战。它以“编码创造”为理念,具备分布式原生、高性能与高效率、安全可靠三大核心特性。仓颉语言通过内置分布式能力简化跨设备开发,提供统一的编程模型和开发体验。文章从语言基础、关键特性、开发实践及未来展望四个方面剖析其技术优势,助力开发者掌握这一新兴工具,构建全场景分布式应用。
157 35
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
|
13天前
|
运维 监控 Linux
WGCLOUD运维平台的分布式计划任务功能介绍
WGCLOUD是一款免费开源的运维监控平台,支持主机与服务器性能监控,具备实时告警和自愈功能。本文重点介绍其计划任务功能模块,可统一管理Linux和Windows主机的定时任务。相比手动配置crontab或Windows任务计划,WGCLOUD提供直观界面,通过添加cron表达式、执行指令或脚本并选择主机,即可轻松完成任务设置,大幅提升多主机任务管理效率。
|
2月前
|
SQL 监控 Go
新一代 Cron-Job分布式调度平台,v1.0.8版本发布,支持Go执行器SDK!
现代化的Cron-Job分布式任务调度平台,支持Go语言执行器SDK,多项核心优势优于其他调度平台。
66 8
|
3月前
|
数据采集 监控 数据可视化
11.7K Star!这个分布式爬虫管理平台让多语言协作如此简单!
分布式爬虫管理平台Crawlab,支持任何编程语言和框架的爬虫管理,提供可视化界面、任务调度、日志监控等企业级功能,让爬虫开发管理效率提升300%!
|
3月前
|
测试技术 调度
新一代 Cron-Job分布式调度平台,v1.0.5版本发布!
增加标签路由能力和多项功能优化!其中Tag标签路由的功能,测试环境多迭代场景下,可通过给任务配置Tag标签,实现任务路由到不同的执行器上。
48 0
|
4月前
|
机器学习/深度学习 存储
DeepSeek进阶开发与应用4:DeepSeek中的分布式训练技术
随着深度学习模型和数据集规模的扩大,单机训练已无法满足需求,分布式训练技术应运而生。DeepSeek框架支持数据并行和模型并行两种模式,通过将计算任务分配到多个节点上并行执行,显著提高训练效率。本文介绍DeepSeek中的分布式训练技术,包括配置与启动方法,帮助用户轻松实现大规模模型训练。数据并行通过`MirroredStrategy`同步梯度,适用于大多数模型;模型并行则通过`ParameterServerStrategy`异步处理大模型。DeepSeek简化了分布式环境配置,支持单机多卡和多机多卡等场景。

热门文章

最新文章