突破吞吐限制,多NAS性能聚合方案,数据上传及读写

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 本文提出一种通过挂载多个NAS来获取更高文件存储吞吐性能的方法,适合特殊场景下的一些应用

阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。
NAS的吞吐性能和存储容量/存储包大小相关,在大多数情况下,客户数据量不到1TB,单一容量型NAS文件系统所能达到的吞吐大约为120MB/s左右,具体数据如下图:
image
在有些场景下面,客户需要将数据从本地存储阵列/云存储阵列/云OSS上迁移到NAS,并对这些数据进行读写和后续计算。那么如何在不花费更多钱(购买更大存储包)的情况下,获取更高的数据上传速度和读写性能呢?本文将介绍其中一种方法:将源数据迁移到多个NAS,并用软链接组装上传后的文件目录,以让多个NAS从逻辑上形成和源数据一致的结构。经测试,在4个NAS上的数据上传吞吐能力达到440MB/s。

第一部分,如何将本地存储阵列(或其他高吞吐设备)中目录/data/下的所有数据上传到NAS?
使用NAS分布式上传工具nasimport2.0(目前尚未发布到公有云页面,如有需要请钉钉联系王俊俏)。下面对工具作简要介绍:
前提条件:一台(或若干台)服务器,可以同时访问源数据和NAS文件系统,打通ssh通道。创建若干个nas(比如4个)挂载上, 目录为/nas/mnt1,/nas/mnt2,/nas/mnt3/,/nas/mnt4/。

工具原理:工具采用master-slave模式,一台机器上master启动后在本机(或者配置好的其他机器上)启动若干个slave,然后扫描源数据目录下面所有的文件,在文件级别将若干文件作为一个批次,每个批次作为一个job分发给slave分别上传。所有job完成之后,源目录/data/下的所有文件,都分布在了4个nas上,也就是/nas/mnt1,/nas/mnt2,/nas/mnt3/,/nas/mnt4/上面。之后把这四个目录下面的所有文件软链接到/nas/mnt1/下面,使得从/nas/mnt1/入口可以访问到所有的原始文件。
链接前的目录结构比如是这样:
image
链接后:
image

第二部分:数据上传到NAS之后的读写。在一些场景下,上传后的数据直接作为原始数据,会被计算程序多次读取,这样的话,直接把/nas/mnt1/作为目录的入口就可以了。多线程并发读的情况,吞吐可以充分发挥4个NAS的优势,理论上也可以达到400MB/s的吞吐。在写的情况下,如果创建新的目录会创建在父目录所在的NAS上,写入速度取决于数据目录的形式,但至少会比单个NAS性能要好。

以上就是利用多个NAS聚合产生更高IO性能的一种方式。分布式上传工具和rebuild 目录的工具目前均在内测阶段,如有需要,请联系钉钉(王俊俏)。

相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
目录
相关文章
|
安全 算法 Linux
CentOS7下部署长亭科技雷池Web应用防火墙(WAF)开源社区版
CentOS7下部署长亭科技雷池Web应用防火墙(WAF)开源社区版
2759 0
|
移动开发 监控 开发工具
mPaaS常见问题之pod里使用abstract_target后会报错如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
351 0
|
前端开发 JavaScript
【JavaScript原型链prototype详解】
在JavaScript中,每个对象都有一个原型(prototype)属性,它指向另一个对象。这个被指向的对象也有自己的原型,以此类推,最终形成了一个原型链。原型链的顶端是Object.prototype,它是所有对象的根原型。 当我们访问一个对象的属性时,如果该对象自身没有这个属性,JavaScript会沿着原型链向上查找,直到找到匹配的属性或者到达原型链的末端。
441 0
【JavaScript原型链prototype详解】
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
4051 2
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
12月前
|
搜索推荐 前端开发 UED
为什么建站需要响应式设计?
本文主要介绍了响应式网站的概念和优势,以及如何选择响应式设计的网站模板。响应式设计能够自动调整布局、图像和字体大小,增强用户页面浏览的体验感,提升搜索引擎的优化和排名,降低网站建设的成本。
270 1
|
人工智能 云计算
云工开物合作动态丨湖南大学与阿里云签署云工开物校企合作协议
2024年7月5日,湖南大学与阿里云签署合作协议,副校长李肯立与阿里云副总裁刘湘雯出席。双方将在课程共建、科研攻关、学生实践等方面展开合作。阿里云将为每位学生提供算力资源,并为教师每年提供40万元优惠权益。当天下午,阿里云-湖南大学人工智能学生实训营开营,200余名学生参与实操课程。此次合作旨在培养云计算与人工智能领域的高素质创新人才。
|
云安全 安全 API
2024 年 CSPM 产品该具备哪些能力?
云安全态势管理(CSPM)是一种持续管理IaaS和PaaS安全态势的解决方案,通过预防、检测和响应云基础设施风险来保障安全。CSPM应用通用框架、监管要求和企业政策,主动或被动地发现和评估云服务配置风险,并提供修复选项。例如,若阿里云OSS服务被错误地设置为公共读写权限,CSPM会检测出这种不当配置并提供修复建议。CSPM的核心功能包括实时配置检测、基于上下文的优先级排序、多云支持及自动修复选项,帮助企业及时发现并解决配置不当问题。
762 1
2024 年 CSPM 产品该具备哪些能力?
|
负载均衡 Java 网络架构
Spring Boot与Netflix Eureka的集成
Spring Boot与Netflix Eureka的集成
|
前端开发 数据安全/隐私保护

相关产品

  • 文件存储 NAS