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

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 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搭建个人高性能网盘,网盘可长期使用。
目录
相关文章
|
2月前
|
存储 Cloud Native API
oss云网关配置
配置阿里云OSS与云网关实现灵活数据传输和访问控制。步骤包括开通OSS服务,创建Bucket,获取访问凭证,可选配置CORS和生命周期规则。云网关配置涉及阿里云云原生网关的代理规则设定或使用云存储网关集成OSS访问,具体配置需参照产品文档,因产品更新可能会有变动。
48 1
使用vos3000时sip O 口网关注册成对接网关作为 ivr 接入,主叫号码如何设置
在VOS3000系统中,将SIP终端作为IVR接入点涉及配置SIP网关指向IVR应用,注册SIP设备并设定含用户名和域名的SIP账户。主叫号码设置可在注册时通过 Caller-ID 头部或拨号计划完成。拨号规则用于控制主叫号码传递,例如根据来源自动调整。配置后需测试主叫号码及IVR接入。不同版本可能有差异,欢迎交流学习。
|
26天前
|
Java 对象存储
java对接阿里云OSS上传
java对接阿里云OSS上传
104 2
|
26天前
|
Java 对象存储
java对接七牛云OSS上传
java对接七牛云OSS上传
18 2
|
17天前
|
数据采集 边缘计算 UED
必知的技术知识:iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
必知的技术知识:iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
10 0
|
7月前
|
对象存储
uniapp对接oss视频上传+压缩
uniapp对接oss视频上传+压缩
406 0
|
8月前
|
存储 JavaScript 前端开发
html+vue组件实现阿里云OSS对接
html+vue组件实现阿里云OSS对接
498 0
|
9月前
|
存储 人工智能 安全
阿里云oss简介和如何对接使用
阿里云对象存储服务(Alibaba Cloud Object Storage Service,简称OSS)是阿里云提供的一种安全、稳定、高效的对象存储服务。它支持多元数据存储、持久化存储和共享访问,并且具有无限的扩展性和备份恢复能力。阿里云OSS适用于各类场景,如云计算、大数据分析、人工智能等,并且具备高可用性、高可扩展性和低成本等优势。
790 0
|
11月前
|
对象存储
阿里云OSS如何对接外链网盘
阿里云OSS如何对接外链网盘
351 1
EMQ
|
数据采集 JSON 算法
对接多个 Neuron 实例,实现多网关协同分析与设备联动
3月,eKuiper团队主要进行了1.9.0版本的开发,增强了分析能力与运营效率以进一步提高eKuiper的性能和可用性。
EMQ
213 0
对接多个 Neuron 实例,实现多网关协同分析与设备联动

相关产品

  • 云存储网关
  • 对象存储