云存储网关和OSSFS的使用体验

背景

最近有需要帮助朋友在阿里云上搭建一套可以用文件接口访问对象存储的基础架构,在阿里云上搜索了一下,发现了阿里云上有两个产品都支持类似的功能- 云存储网关和ossfs。
云存储网关(CSG)是一款帮助客户在现有本地应用程序、基础设施和数据存储与阿里云之间实现无缝集成的存储服务。通过可在本地和云上部署的兼容行业标准存储协议的虚拟设备,将现有的存储应用程序和工作负载链接阿里云存储服务,无缝对接阿里云的存储和计算平台。CSG可以提供两类访问接口:NAS(NFS/CIFS)和iSCSI。其中NAS接口提供标准的网络文件访问协议可以支持多台主机同时挂载,以文件形式访问OSS存储桶中的文件。产品形态和AWS的storage gateway类似,提供的功能也差不多。
ossfs基于s3fs改造的一款开源软件,能让用户在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。
两者都提供了类似的以文件形式访问OSS对象的能力,一款是收费产品,一个是开源产品,那两者在功能和性能上有何种差异呢?笔者近期对两款产品进行了试用,基于高效云盘和相似的配置对两者做了一些比较。

深度体验

两款软件都提供了文件接口的支持,就利用一些开源软件和实际应用对两者做了一些兼容性和性能测试。详细对比见下面的表。

测试项 ossfs 文件网关
POSIX兼容性(Pjdfstest) 37%,部分测试造成文件系统崩溃 99%,测试顺利跑完文件系统无异常
文件随机读写性能(FIO 8KB W70% R30%) 测试未完成,文件系统错误 read:1299
write:3031
文件查找性能 (遍历100万文件) 10分钟未完成, 10s
大文件并发读写 不支持,读写错误。 支持
稀疏文件 不支持 支持
Windows 访问 不支持 SMB共享
Linux/MacOS 访问 特定Linux版本,MacOS不支持 NFS v3/v4共享,适配MacOs和99%的linux发行版
多客户端访问 不支持 最多1024个客户端
错误/故障重传 不支持 支持
支持子目录挂载 不支持 支持
归档存储桶 不支持 支持,可透明读写
存储桶加密 不支持 支持BYOK方式
密钥管理 AK明文保存, 有安全隐患 云下实例:加密落盘
云上实例:RAM授权
安装部署 手动命令行安装部署 图形化创建,客户端直接挂载。
运维监控 图形化输出最近7天的性能监控,支持在线SLS日志投递
文件上云状态 支持SLS日志投递

从安装部署上看,ossfs需要在指定linux版本上安装一个rpm包,并安装一些依赖的组件,整个过程大概10分钟左右。云存储网关的云上部署,通过图形化的向导操作7-8分钟可以完成NAS的挂载。
从上面的对比和实际操作来看,ossfs适用于比较简单的单纯小规模文件上传场景。云存储网关的文件网关比ossfs提供了更好的文件性能支持。对于现有的文件接口的应用可以做到无缝对接,在使用ossfs做对比测试的时候,一旦发生高并发读写,ossfs比较容易发生读写错误或者整体崩溃,尤其是在复制大于100GB的文件时,曾经反复折腾了数次。利用云存储网关,非常顺利的成功写入并上传到OSS一个1TB的镜像文件。
云存储网关的文件网关,尤其适合对接传统的备份软件的输出和把OSS存储桶里的对象以文件的形式挂载给多台ECS客户端访问。同时基于高效云盘的测试结果,整体的4300+混合读写IOPS也接近了单块高效云盘的理论值5000IOPS,可以承接一些轻负载的业务,例如:小型数据库,邮件服务器,小型网站和文件服务器等场景。

小结

两天的试用,感觉起来比AWS的storage gateway简单,计费清晰,价格也更实惠。之前使用AWS的网关是需要自己购买云服务器,S3对象存储,然后再部署网关。网关计费是单独的,按流量计费也比较复杂,封顶是125美金一个月,折合人民币要900多。一个网关的使用费比阿里云的基础型网关的包月价都要贵。阿里云的基础型网关包月价已经包含了云服务器和网关许可证等费用。
云存储网关具体的业务场景和使用方法可以参考官方网站。在线帮助文档提供了云存储网关端到端的使用手册,方便新手入门。

你可能感兴趣的:(云存储网关)