如何经济高效使用云存储网关对接OSS存储

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 存储网关是一款可以为OSS存储提供文件访问接口的产品,从而用户可以像使用NAS一样在Windows/Linux操作系统里面直接挂载OSS进行使用。众所周知,OSS存储具有多种存储类型。那么对于所有的存储类型,云存储网关是否都适用呢?本文将围绕这一话题,展开一些探讨。

云存储网关是一款可以为OSS存储提供文件访问接口的产品,用户可以像NAS一样在Windows/Linux操作系统里面直接挂载OSS进行使用。众所周知,OSS存储具有多种存储类型。那么对于所有的存储类型,云存储网关是否都适用呢?本文将围绕这一话题,展开一些探讨。

 

OSS存储类型

首先,我们看一下公共云OSS有哪些存储类型以及他们的主要区别。

存储类型/

本地冗余

存储费用/

GB/

PUTAPI请求费用/万次

解冻时间

数据取回费用

标准存储

0.12

0.01

低频存储

0.08

0.1

0.0325/GB

归档存储

0.033

0.1

1分钟

0.06/GB

冷归档存储

0.015

0.1

小时级

标准:0.06/GB

标准:3/万次

深度冷归档存储

0.0075

3.5

10小时级

标准:0.018/GB

标准:1.67/万次

上面只列出了笔者认为的主要OSS计费项,更全面的参见OSS价格页

 

从上表我们不难观察到低频以及几个归档类型的存储单价比标准要便宜,但是API调用费用更高并且有取回费用。除此之外其实数据还有最低保留时间。简单来说就是如果使用的非标准的存储类型,需要这部分数据不经常访问且保留一定时间,否则频繁的数据取回或者API调用反而会适得其反。所以选择存储类型不能简单的从存储单价来判断,要判断数据写入OSS之后需要访问的频率和保留时长。如果对接的归档的存储桶,那么友好的使用模式就是写入一次后不再读取或者尽量少读取。

 

对于几个归档类型的存储桶来说,还有一个要指出的地方,就是数据访问时需要解冻,而解冻是需要一定时间的。在解冻完成之前,读取文件会报错。对于冷归档类型的存储,时间更长,至少在小时级别才能完成数据取回。

 

云存储网关工作原理

下面来看存储网关支持的存储桶类型,存储网关支持标准、低频、归档类型的存储桶。对于标准的桶,比较好理解,这里不赘述。那么对于归档的桶是否可以保证做到如前文所说的对于单个文件只写入一次之后不再读取呢?


这里要先解释下云存储网关的工作原理,客户端写入文件到网关时,网关至少记录两个动作,写入文件以及设置文件修改时间,网关会尽量合并这两个动作,但仍可能针对某个文件向存储桶发起多个操作。因为通过文件协议写入时,有时候并不能完全保证只写一次,尤其用了rsync之类的工具的情况下,会产生重命名动作,那么在OSS里面的顺序就会是生成文件A,拷贝读取生成A1,再删除A,这里其实对归档的类型很不友好。存储网关为了生成A1,就不得不对A进行解冻操作从而完成拷贝读取。另外文件系统还会有一些针对文件/文件夹设置时间戳之类的操作,这些存储网关也需要调用拷贝对象API来实现。本质上也会对旧文件进行读取,同样如果是归档类型的文件,就会需要执行耗时的解冻动作,影响上传效率,甚至可能因为缓存盘内的数据来不及上传导致写入失败。


回到之前的问题,文件系统的操作有时候需要被翻译成多个OSS的操作,可能会需要读取之前写入的文件,所以直接操作归档的存储桶可能不是一个好主意。除非调用者可以确保文件只写入一次,确保没有重命名或者更改修改时间这些操作。但是这个目标有时候可能不是那么容易达成,因为很多文件系统的操作是隐含在其他程序或者API里面的,不是那么容易判断。


那么是否使用了存储网关之后,有没有更友好的使用归档存储的方式呢?答案是肯定的。稍微做点妥协,不强求一次性写入归档存储就行,这样某些文件可能是以2API才能写入去,比如一次上传数据,一次设置修改时间。通过OSS的生命周期就很容易达到目标,数据先上传到标准存储,后续再自动流转到低频、归档甚至冷归档存储。如果可以确认写入后就不会变的,可以设置1天后就生命周期转归档。从费用上来说,除了每天写入的数据量是在标准存储,其他的数据量是在归档存储。假设每天写入100GB,那么1年总数据量为36.5TB,总数据中只有100GB是按照标准存储来收费的,因为标准存储每天的数据量稳定在100GB而已,是很经济的。OSS生命周期的配置很简单,利用云存储网关实现数据分层存储里面也有介绍。


另外值得一提的是,对于已经归档的文件,云存储网关是可以自动执行解冻动作的,这样就不需要手动去控制台操作触发解冻动作。NFS共享请求不会报错,表现为IO存在一定的时间延迟。SMB共享会有短暂的报错,解冻完成则读取正常。


总结

使用云存储网关+OSS的分层存储方案,不建议直接对接归档类型的存储桶,而是应该对接标准类型的存储桶,然后通过生命周期设置将文件转成归档类型。当然前提是流转之后的数据确实是很少访问的,否则从成本上来说就不划算了,频繁取回产生的费用更高。这里是针对提供文件协议的云存储网关。

 

另外云存储网关还可以在OSS对象存储的基础上暴露出来iSCSI卷,卷的数据在OSS桶里面是以切片的方式存储的,不能简单通过冷热来进行生命周期设置存储类型流转。因为冷数据读取如果报错或者延时达到分钟级,很可能导致块设备上面的文件系统报错。所以提供iSCSI协议的块网关是不支持使用归档的存储类型的。

 

相关实践学习
1分钟 Serverless搭建高性能网盘
本场景将使用阿里云函数计算、文件存储NAS以及开源项目Kodbox,带大家1分钟Serverless搭建个人高性能网盘,网盘可长期使用。
目录
相关文章
|
存储 安全 对象存储
OSS对接-STS认证模式接入参考文档
背景之前项目中用到文件上传的场景中,都是由服务端做转发到OSS,存在着性能损耗。我们在 高德文件直传能力建设 项目中需要探索使用客户端直连OSS的方式来做,了解到OSS提供了STS认证的方式,通过子账号生成的临时AK作为客户端短期访问OSS的凭证,也不同担心AK安全的问题。具体方案见官方文档:STS临时授权访问OSSOSS可以通过阿里云STS(Security Token Service)进行临时
1920 0
OSS对接-STS认证模式接入参考文档
|
4月前
|
对象存储
uniapp对接oss视频上传+压缩
uniapp对接oss视频上传+压缩
282 0
|
5月前
|
存储 JavaScript 前端开发
html+vue组件实现阿里云OSS对接
html+vue组件实现阿里云OSS对接
415 0
|
6月前
|
存储 人工智能 安全
阿里云oss简介和如何对接使用
阿里云对象存储服务(Alibaba Cloud Object Storage Service,简称OSS)是阿里云提供的一种安全、稳定、高效的对象存储服务。它支持多元数据存储、持久化存储和共享访问,并且具有无限的扩展性和备份恢复能力。阿里云OSS适用于各类场景,如云计算、大数据分析、人工智能等,并且具备高可用性、高可扩展性和低成本等优势。
584 0
|
8月前
|
对象存储
阿里云OSS如何对接外链网盘
阿里云OSS如何对接外链网盘
292 1
|
存储 Kubernetes 文件存储
使用阿里云容器ACK通过云存储网关(CSG)挂载OSS
本文将详细介绍如何使用阿里云容器服务ACK通过云存储网关挂载OSS。
1224 1
使用阿里云容器ACK通过云存储网关(CSG)挂载OSS
|
存储 缓存 API
云存储网关共享透明读写OSS归档文件
本文通过具体的例子展示了云存储网关NFS共享所支持的对OSS Bucket里面归档文件的透明读写功能。对于SMB共享虽然不能完全支持透明读写功能,但是也能够帮助用户自动执行解冻过程。
3168 0
云存储网关共享透明读写OSS归档文件
|
存储 Linux 对象存储
如何利用用云存储网关作为Windows docker存储访问OSS
本文像用户介绍在windows的容器环境中,如果利用阿里云云存储网关的smb共享作为后端存储,实现docker容器内的数据上云,在docker中直接访问对象存储OSS中的数据。
2632 0
如何利用用云存储网关作为Windows docker存储访问OSS
|
存储 对象存储 Windows
利用云存储网关的SMB共享搭建windows FTP服务器访问对象存储OSS
本文介绍如何利用阿里云存储网关的SMB共享,在windows服务器上搭建FTP服务器,让用户可以直接通过FTP上传文件到阿里云对象存储(OSS)当中。
3366 0
利用云存储网关的SMB共享搭建windows FTP服务器访问对象存储OSS
|
消息中间件 存储 Linux
如何同步OSS Bucket数据到云存储网关SMB/NFS共享
云存储网关主要提供了反向同步和极速同步两种方法来同步OSS Bucket里面的数据到网关侧的共享里。本文将对这两种数据同步的方法均做下介绍,给出它们的实现原理以及分别适用的场景。反向同步是基于对文件夹进行全量扫描比对的方式来发现OSS Bucket里面的数据变化,极速同步则是基于OSS Bucket数据变化增量的方式来实现的。
3347 0
如何同步OSS Bucket数据到云存储网关SMB/NFS共享

相关产品

  • 云存储网关
  • 对象存储