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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 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 目录的工具目前均在内测阶段,如有需要,请联系钉钉(王俊俏)。

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
目录
相关文章
|
21天前
|
存储 安全 文件存储
网盘 vs NAS:选择合适的数据存储方式
随着科技的不断进步,科技的快速发展为我们提供了多种便捷的存储解决方案,我们有着多种便捷的数据存储解决方案可供选择,而且市面上也有很多相关的成熟的存储产品。在这些方案中,网盘和NAS(网络附属存储)是两种广泛应用且各具优势的存储方式,其中网盘提供即开即用、云端存储和多设备同步等特性,NAS则提供本地私有化存储、高效数据传输和高度可定制化等优点,二者可谓是“难分伯仲”。在实际应用中,你更倾向于使用哪种存储方式呢?那么本文就来网盘和NAS的优劣势,帮助有需要的人选择适合自己的数据存储解决方案。
53 4
网盘 vs NAS:选择合适的数据存储方式
|
4月前
|
人工智能 数据管理 Linux
并行文件存储的优势
并行文件存储的优势
94 0
|
5月前
|
存储 负载均衡 NoSQL
高速读写、负载均衡:基础架构KV存储项目最佳实践
高速读写、负载均衡:基础架构KV存储项目最佳实践
|
12月前
|
存储 Java Shell
数据存储与访问——文件存储读写
本节给大家介绍的是Android数据存储与访问方式中的一个——文件存储与读写,当然除了这种方式外,我们可以存到SharedPreference,数据库,或者Application中。
63 0
|
存储 算法 安全
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)(二)
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)
94 0
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)(二)
|
存储 监控 Java
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)(三)
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)
147 0
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)(三)
|
存储 负载均衡 前端开发
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)(一)
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)
177 0
保姆级教程-分布式文件系统FastDFS(高效存储,有效解决大量资源上传下载)(一)
|
存储 弹性计算 Cloud Native
云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志
云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志
336 0
云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志
|
存储 安全 Linux
unraid Nas网络存储的优点及缺点大全
unraid Nas网络存储的优点及缺点大全
|
存储 机器学习/深度学习 编解码
阿里云文件存储CPFS实现与OSS之间数据双向便捷流动
阿里云文件存储CPFS现已支持“数据流动”特性。该功能适用于2021年9月29日以后建立的CPFS文件系统。当文件系统启用该特性后,“数据流动”功能可以实现将对象存储OSS的bucket中的数据合并入CPFS进行统一命名空间的元数据管理。用户可以手动或者通过自动Lazy-load能力,将OSS中的数据复制到CPFS中,实现通过POSIX文件接口高速访问OSS中的数据,在保持数据在OSS中低成本存储的同时,获得高性能文件访问能力,满足云上自动驾驶、机器学习、HPC等大数据计算场景的需求。
2063 0

相关产品

  • 文件存储NAS