阿里云存储网关CSG对比ossfs

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 阿里云存储网关和ossfs都可以让用户像访问文件系统一样操作OSS Bucket中的对象。本文将从各方面详细对比二者的区别。

前言

阿里云云存储网关(Cloud Storage Gateway,CSG)是一款可在用户IDC和阿里云上部署的网关产品。它以阿里云对象存储(OSS)为后端存储,为云上和云下应用提供业界标准的文件服务(NFS和SMB)和块存储服务(iSCSI)。

CSG文件网关将OSS Bucket的对象结构与NAS文件系统的目录/文件建立映射关系,用户通过标准的NFS和SMB协议即可读写指定OSS Bucket里的对象。文件网关利用本地存储空间作为热数据缓存,使用户在享受OSS Bucket海量空间的同时,保障数据访问的高性能。

ossfs同样可以部署在用户IDC和阿里云实例上,通过创建一个FUSE文件系统,并挂载本地目录,使得用户可以通过POSIX协议,像访问本地目录一样访问OSS Bucket中的对象。


本文将详细对比两款产品的差异,方便用户选择适合自己的产品进行使用。


使用与原理对比


CSG文件网关与ossfs的原理对比大致如下图所示。



CSG文件网关

  • 对于线上环境,用户可以在阿里云创建一个托管的文件网关的实例;
  • 对于线下环境,用户可以在自身的IDC机房中部署文件网关实例。


用户需要在文件网关的控制台上,创建NFS/SMB共享,配置bucket信息,随后才能在客户端上,通过NFS/SMB协议访问共享目录,从而可以操作OSS Bucket中的对象。


ossfs

ossfs则是实现了一个FUSE文件系统,实现文件系统语义向对象存储语义的转换,但该软件直接运行在客户机器上。

用户在自己的客户端上下载并安装ossfs软件包之后,通过运行命令行,创建一个本地挂载点,从而可以像是操作本地文件目录一样操作OSS Bucket中的对象。


元数据缓存对比

元数据缓存管理

  • CSG文件网关:以KV数据库缓存目录结构等元数据信息。元数据全量缓存到缓存盘,支持上亿级别的文件。元数据操作基于缓存盘,通常性能较好。
  • ossfs:元数据使用内存缓存,并有默认的缓存上限。当内存缓存达到上限时,会淘汰最早的一个文件。其他情形,如访问文件夹时,如果缓存的元数据和云上不一致,也会更新元数据信息。ossfs元数据缓存容量较小,且需要频繁地向OSS Bucket请求最新的元数据,因此当有大量文件操作时,通常元数据性能较差。


文件目录视图一致性保证

  • CSG:所有的客户端通过nfs/smb协议挂载同一个文件网关共享,因此可以共享同一份元数据视图,一般情况下,由于元数据均缓存在本地磁盘中,因此访问速度较快。
  • CSG:当客户通过其他方式,如ossutil,往OSS Bucket中上传文件时,文件网关会定期扫描OSS Bucket,更新元数据信息。当文件夹较大时,扫描过程耗时较久,用户访问目录会有“卡顿”的体验。
  • CSG:文件网关支持“极速同步”功能。OSS Bucket中文件的变化会生成消息投递至mns消息队列,文件网关通过消费消息队列,从而能及时更新元数据信息。此时,多客户端视图能与最新的OSS Bucket保持一致,且不会扫描带来的“卡顿”。
  • ossfs:每个客户端独立维护元数据缓存,且需要频繁扫描OSS Bucket,更新元数据。因此,多个客户端之间的视图能够与最新的OSS Bucket保持一致,但是访问目录耗时更久,在访问大目录时,会有明显的“卡顿”。


以标准的元数据测试mdtest,Directory creation操作的结果为例。CSG文件网关(基础型)结果为1713(IOPS)。相比之下,ossfs(运行的客户端规格为ecs.g6.xlarge)的结果为400。可见,CSG的元数据性能明显好于ossfs。


数据缓存对比

CSG文件网关

  • 文件为异步上传。客户端通过NFS协议发送写请求至文件网关。缓存写到本地磁盘即返回(同步落盘),随后有后台线程,异步将文件上传至OSS Bucket。
  • 所有的客户端请求均会发送至同一个文件网关实例,因此当大量客户端并发IO时,CSG实例容易达到瓶颈。


ossfs

  • 上传文件时,ossfs会在客户端的系统盘创建一个tmpfile作为缓存,等文件写入磁盘(异步落盘)并成功上传至OSS Bucket之后,才会返回。当文件close时,缓存文件tmpfile会被系统自动回收。
  • 由于ossfs运行在独立的客户端上,因此IO性能只受到客户端自身的规格(网络带宽、磁盘带宽)的影响。


对比

  • 当客户端数量不多时,由于CSG的文件是异步上传,因此性能更优。
  • 当有大量客户端同时读写时,CSG实例的性能容易成为瓶颈。
  • CSG的文件数据会被缓存在本地磁盘,而ossfs的文件数据在文件close时就会被回收。因此,在重复读热点数据时,CSG的性能更优。


由于CSG文件网关与ossfs软件的形态并不相同,因此二者的读写性能受到不同的因素影响。

  • CSG文件网关:受到客户端的网络、CSG规格的影响。
  • ossfs:受到客户端的网络、磁盘性能的影响。


下面提供一种测试场景供参考:

创建一台阿里云公共云CSG文件网关(基础型),在一块PL1缓存盘上创建NFS共享。创建两台ECS实例,也均配置PL1磁盘,其中一台通过NFS协议挂载网关共享,另一台创建ossfs挂载点。进行一些4K小IO多线程读写测试。可以看到,

  • 数据写入的场景下,CSG由于是异步上传,数据落盘之后即返回。而Ossfs是同步上传,数据上传到OSS Bucket之后才能返回,因此CSG有一定优势。
  • 读写文件数目较多时,元数据的性能也在其中扮演了很重要的作用,因而此时CSG表现更优。
  • CSG支持缓存数据到本地磁盘。数据重复读取的场景下,无需重复从云上下载,直接从本地缓存读取即可,优势巨大。


CSG

ossfs

多线程,写小文件

0.99MB/s

0.05MB/s

64线程。每个线程cp 160个本地4K小文件至挂载点。

多线程,读小文件(本地无缓存)

3.28MB/s

0.29MB/s

64线程。每个线程从挂载点cp 160个4K小文件至本地。

多线程,读小文件(本地有缓存)

7.61MB/s

0.30MB/s

重复上面的步骤。在本地已有缓存时,进行多线程读


监控运维与其他特性对比


CSG

ossfs

其他特性

图形化部署

支持

仅支持命令行安装配置

Windows访问

支持,通过挂载SMB共享

不支持

对接归档存储

支持对接归档存储,但体验有所影响

不支持

忽略删除

支持

不支持

稳定性

磁盘缓存管理

支持,CSG实例智能管理缓存盘,支持限流与缓存空间回收

不支持,默认情况下,写大量的大文件可能会占满系统盘

错误/故障重传

支持

不支持

中断操作的体验

中断一些操作几乎无延迟

访问大文件夹,上传/删除大量文件时,延迟较高

监控与运维

云监控

支持将网关实例状态上报云监控。可灵活配置告警策略

不支持,需要客户手动配置客户端的监控脚本

后台监控

CSG后台配置了监控告警

不支持

后台运维

CSG有专门的运维平台

不支持

目录
相关文章
|
12月前
|
存储 缓存 Linux
阿里云云存储网关(CSG)软件版顺序写模式使用教程
阿里云云存储网关(CSG)软件版是一款安装在阿里云用户机器上的云存储网关产品。本文介绍了如何使用CSG软件版的特殊工作模式——顺序写模式,以及相关注意事项。
|
存储 缓存 弹性计算
阿里云存储网关(CSG)软件版与ossfs对比(数据缓存篇)
本文从文件数据的管理、使用角度,详细对比阿里云存储网关(CSG)软件版与ossfs之间的区别。
438 0
|
存储 缓存 弹性计算
阿里云云存储网关(CSG)软件版使用详细教程(Linux版)
本文将详细介绍如何在Linux操作系统中安装并使用阿里云云存储网关(CSG)软件版。
阿里云云存储网关(CSG)软件版使用详细教程(Linux版)
|
存储 缓存 弹性计算
阿里云云存储网关(CSG)软件版使用详细教程(Windows版)
本文将详细介绍如何在Windows操作系统中安装并使用阿里云云存储网关(CSG)软件版。
846 0
阿里云云存储网关(CSG)软件版使用详细教程(Windows版)
|
存储 Kubernetes 文件存储
使用阿里云容器ACK通过云存储网关(CSG)挂载OSS
本文将详细介绍如何使用阿里云容器服务ACK通过云存储网关挂载OSS。
1323 1
使用阿里云容器ACK通过云存储网关(CSG)挂载OSS
|
存储 缓存 弹性计算
阿里云存储网关(CSG)软件版与ossfs对比(元数据篇)
本文从元数据的使用及管理角度,详细对比阿里云存储网关(CSG)软件版与ossfs之间的区别。
418 0
|
存储 缓存 网络安全
阿里云存储网关备份数据
阿里云存储网关备份数据一、创建云控制台网关在阿里云云存储网关控制台创建网关集群,然后继续创建云下网关。创建好网关后,就可以下载镜像和证书,为以后的安装作好准备。参考章节“线下网关安装部署”:https://help.aliyun.com/document_detail/108239.html 二、本地数据中心安装存储网关1、下载云存储性能型文件网关镜像,参考章节“线下网关安装部署”https://help.aliyun.com/document_detail/108239.html 2、参考章节“一般性问题”的安装镜像。
1336 0
阿里云存储网关备份数据
|
存储 缓存 Go
详解阿里云存储网关商业化发布会
阿里云存储网关以阿里云对象存储OSS为后端存储,为云上和云下应用提供业界标准的文件存储服务(NFS和SMB)和块存储服务(iSCSI)。云存储网关可以帮助用户建立混合云存储架构,例如:数据分层,弹性负载,备份和归档到阿里云。云存储网关同时支持阿里云上部署和本地数据中心部署。
744 0
详解阿里云存储网关商业化发布会
|
存储 弹性计算 缓存
初探阿里云存储网关(多图慎入)
先睹为快,抢先测试阿里云存储网关。它帮助你像使用普通磁盘一样,挂载在您的计算节点上(ECS)。你瞬间拥有一个无限扩容的云盘空间,而只需要付出对象存储oss的价格。读写性能佳
13761 0
|
存储 缓存 文件存储
阿里云存储网关商业化发布
云存储网关商业化发布会 2019年8月21日,阿里云存储网关商业化发布,提供基于阿里云OSS的企业存储服务。云存储网关实现了云端对象存储协议与文件存储协议以及块存储协议之间的转换,客户无需改变应用程序的接口,就可以使用文件存储协议或者块存储协议访问高可靠和海量扩展的对象存储OSS。
1249 0