概述
阿里云OSS提供了海量低成本高可靠的对象存储,非常适合于存储文件,图像,视频等非结构化数据,同时也提供了丰富的SDK生态给开发者集成使用。但是对于开发资源有限的小企业或者个人用户而言,直接使用OSS存储还是存在诸多不便。另外,传统的企业应用只支持传统的NAS接口,对云原生的对象存储接口并不支持,而改造成本也很高,这也给想拥抱对象存储的企业应用设置了障碍。在Linux平台,ossfs工具作为一个临时的解决方案可以帮助用户进行协议转换,把OSS bucket映射成一个本地文件系统直接挂载,在某些有限场景下解决用户痛点,关于ossfs更多的分析评测可以参考这篇文章。但是在Windows平台上,之前一直没有一个很好的解决方案帮助用户便捷的使用OSS存储。今年6月底商业化的云存储网关作为传统NAS和原生OSS协议转换的最佳解决方案,解决了用户的诸多痛点:
- 便捷部署,轻松实现客户端机器通过网关挂载访问OSS
- 多协议支持,OSS到CIFS和NFS3/4.x轻松转换,提供NAS服务器功能
- 缓存加速,利用缓存盘缓存热数据,加速应用访问
- 应用利旧,传统应用不需要二次开发即可使用云存储
- 降低成本,本地热数据,云上冷数据,天然分层架构,在总体读写性能不变的情况下,降低TCO
接下来笔者会针对Windows平台挂载OSS bucket的使用流程做一下详细的介绍。
准备网关
笔者在云存储网关的控制台上创建一台杭州区域线上标准型网关,按照向导选择对应的VPC网络和vSwitch,到时挂载的业务IP会在这个VPC网段内。向导引导还是很直观的,如图:
点击完成确认之后,就开始部署网关了(注:如果是选择预付费的话,需要多一步支付环节),几分钟之后部署完成。
如果用户已经有网关,网关是同时支持创建NFS和CIFS共享的,所以可以复用已有的网关。
创建共享
创建完网关之后,我们接下来就开始创建CIFS共享。
- 选择杭州区域的OSS bucket,作为共享后端的存储,选择内网Endpoint,这样网关访问OSS就可以省去读写访问的流量费用,同时可以充分利用内网的低时延和网关规格的带宽。
- 选择缓存盘,缓存共享读写访问中的热数据。网关利用缓存盘的吞吐和IOPS优势,将应用访问过程中的热数据缓存在网关本地。缓存盘有高效云盘和SSD盘两种规格,大家可以根据自己的应用需求选择合适的规格,笔者实验中选择了一块高效云盘。
-
共享参数配置。网关提供了不少参数配置项,笔者就列出几个跟Windows挂载相关的,其他的可以参考云存储网关的用户手册。
- Bucket子目录:可以选择Bucket的某个子目录作为共享的存储空间,网关会将该子目录的内容映射成共享文件夹
- 缓存模式:当本地磁盘空间远小于OSS存储空间时,推荐使用此模式,上述的缓存盘作为缓存媒介。
- 可浏览:共享文件夹可以在网络邻居中被发现,方便局域网内共享
- 反向同步:当Bucket有存量数据,客户端浏览共享文件夹时,网关会去云上抓取当前目录的元数据,确保即时看到目录内信息。反向同步有时间周期性,在同一时间间隔内不会多次触发。
这样,在云控制台按照引导创建出了CIFS/SMB共享,如图所示:
客户端挂载
接下来笔者准备了一台ECS的Windows主机,与网关在同一个VPC内,直接访问上图共享信息里的挂载路径\\172.16.0.75\smbtest,就可以看见共享的内容了。
权限管理
上面介绍的是通过客户端机器直接挂载网关的挂载点,中间没有任何的权限管理,会有一定的安全风险。CIFS/SMB协议允许以用户登录的方式进行鉴权,网关提供SMB用户的创建,以及对每个用户的读写权限管理。笔者创建了smbuser1的用户如图:
并且在网关共享的设置页面赋予了smbuser1读写权限,如图:
这样客户端机器清除缓存重新登录,就会弹出要求输入网络凭据的对话框:
除此之外,为满足企业级的安全管理需求,网关还支持与客户的AD/LDAP集成,通过AD/LDAP用户权限体系来管理CIFS/SMB共享文件夹。更多的配置内容可以参考云存储网关用户手册的SMB配置。
小结
云存储网关提供了增值服务将OSS轻松挂载到Windows机器,利用缓存机制提供了性能和成本的最佳平衡,同时提供了企业级的权限管理和功能特性,用户完全可以把网关当成高性价比的文件服务器来使用。