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

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
云备份 Cloud Backup,100GB 3个月
简介: 本文提出一种通过挂载多个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 目录的工具目前均在内测阶段,如有需要,请联系钉钉(王俊俏)。

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
目录
相关文章
|
4月前
|
存储 缓存 算法
优化 ChunkServer 的存储性能
【8月更文第30天】在分布式文件系统中,ChunkServer 是负责存储数据块的关键组件。为了提高ChunkServer的存储性能,可以通过多种技术手段进行优化,如缓存、压缩、并行处理等。本文将详细讨论这些技术的应用,并提供具体的代码示例。
52 0
|
7月前
|
存储 安全 文件存储
网盘 vs NAS:选择合适的数据存储方式
随着科技的不断进步,科技的快速发展为我们提供了多种便捷的存储解决方案,我们有着多种便捷的数据存储解决方案可供选择,而且市面上也有很多相关的成熟的存储产品。在这些方案中,网盘和NAS(网络附属存储)是两种广泛应用且各具优势的存储方式,其中网盘提供即开即用、云端存储和多设备同步等特性,NAS则提供本地私有化存储、高效数据传输和高度可定制化等优点,二者可谓是“难分伯仲”。在实际应用中,你更倾向于使用哪种存储方式呢?那么本文就来网盘和NAS的优劣势,帮助有需要的人选择适合自己的数据存储解决方案。
401 4
网盘 vs NAS:选择合适的数据存储方式
|
7月前
|
存储 缓存 Java
揭秘分布式文件系统大规模元数据管理机制——以Alluxio文件系统为例
揭秘分布式文件系统大规模元数据管理机制——以Alluxio文件系统为例
|
7月前
|
人工智能 数据管理 Linux
并行文件存储的优势
并行文件存储的优势
228 0
|
存储 监控 数据可视化
日志服务 SLS 全新推出归档存储类型,相比热存储成本降低 86%
日志服务 SLS 全新推出归档存储类型,在现有热存储、低频存储的基础上,为用户提供更低成本且可查询分析的长期数据存储方案。归档存储价格仅为 0.05 元/GB/月,相比价格最高的热存储最高降幅可达 86%。
550 0
|
存储 缓存 弹性计算
阿里云存储网关(CSG)软件版与ossfs对比(数据缓存篇)
本文从文件数据的管理、使用角度,详细对比阿里云存储网关(CSG)软件版与ossfs之间的区别。
490 0
|
存储 Java Shell
数据存储与访问——文件存储读写
本节给大家介绍的是Android数据存储与访问方式中的一个——文件存储与读写,当然除了这种方式外,我们可以存到SharedPreference,数据库,或者Application中。
|
存储 弹性计算 Cloud Native
云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志
云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志
425 0
云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志
|
存储 缓存 分布式计算
JindoFS 存储策略和读写优化
本次分享主要介绍数据读写在计算存储分离的场景下所面临的常见问题以及相关的优化手段,并结合JindoFS应用场景介绍对数据缓存加速的相关技术和策略。
JindoFS 存储策略和读写优化
|
存储 缓存 分布式计算
数据湖实操讲解【JindoFS 缓存加速】第十四讲:指定表和分区来预先缓存,查询分析更高效
数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs
数据湖实操讲解【JindoFS 缓存加速】第十四讲:指定表和分区来预先缓存,查询分析更高效

相关产品

  • 文件存储 NAS