云存储网关CSG(Cloud Storage Gateway)是一款可以部署在用户本地数据中心和阿里云上的网关产品。它以阿里云对象存储OSS为后端存储,为云上和云下应用提供业界标准的文件服务(NFS和SMB)和块存储服务(iSCSI)。
- 文件网关
文件网关将OSS Bucket的对象结构与NAS文件系统的目录和文件建立映射关系,您通过标准的NFS和SMB协议即可读写指定OSS Bucket里的对象。同时,文件网关利用本地存储空间作为热数据缓存,在提供OSS Bucket海量空间的同时,保障了数据访问的高性能。文件网关还高度兼容POSIX和第三方备份软件。如果是小文件的备份和共享读写场景,推荐使用标准型或基础型文件网关;如果对性能有一定要求或者有多个客户端同时访问数据,推荐使用增强型或性能型文件网关。
- 块网关
块网关在OSS中创建存储卷,提供Internet小型计算机系统接口(iSCSI)协议访问。本地应用程序可将这些卷作为iSCSI目标进行访问。块网关提供两种模式:透传模式和缓存模式。透传模式可以将块卷数据切片同步上云,适用于专线等高速链路客户;缓存模式提供本地缓存盘进行读写加速,缓存数据异步上云,适用于期望本地快速访问但是上云链路慢的客户。
适用场景
- 云存储扩容和迁移
集成智能缓存算法,自动识别冷热数据,将热数据保留在本地缓存,保证数据访问体验,无感知的将海量云存储数据接入本地数据中心,拓展存储空间。同时在云端保留全量数据,保证数据的一致性。
- 云容灾
随着云计算的普及,越来越多的用户把自己的业务放到了云上。但是随着业务的发展,如何提高业务的可靠性和连续性,跨云容灾是一个比较热门的话题。借助云存储网关对虚拟化的全面支持,可以轻松应对各种第三方云厂商对接阿里云的数据容灾。
- 多地数据共享和分发
通过多个异地部署的文件网关实例,对接同一个阿里云OSS Bucket,可以实现快速的异地文件共享和分发,非常适合多个分支机构之间互相同步和共享数据。
- 适配传统应用
有很多用户在云上的业务是新老业务的结合,老业务是从数据中心迁移过来的,使用的是标准的存储协议,例如:NFS/SMB/iSCSI。新的应用往往采用比较新的技术,支持对象访问的协议。如何沟通两种业务之间的数据是一个比较麻烦的事情,云存储网关可以起到一个桥梁的作用,便捷的沟通新旧业务,进行数据交换。
- 替代ossfs和ossftp
ossfs和ossftp都是基于文件协议的开源工具,您可以通过它们直接上传文件到OSS。但是这两个开源文件都不支持在生产环境使用(POSIX兼容度低),同时挂载在用户的客户端需要额外的配置和缓存资源,在多个客户端的情况下安装配置繁琐。通过文件网关的服务可以替代ossfs和ossftp。通过创建文件网关,您只需要执行简单的挂载(NFS)和映射(Windows SMB)就可以像使用本地文件系统一样使用OSS。
性能
作为应用与OSS之间的云存储网关,其性能取决于多个因素,包括您本地磁盘的速度和配置、iSCSI启动器与网关之间的网络带宽、分配给网关虚拟机的本地存储量、网关虚拟机与OSS之间的带宽等。对于网关缓存,要提供对本地应用的低延迟读取访问,必须提供足够的本地缓存容量来存储最近访问的数据。文件共享的缓存区估算公式为:本地建议缓存容量=(应用带宽(MB/s)-网关后端带宽(MB/s))×写入时长(s)×1.2。如果您需要获得较好的本地访问性能,可以先预估总的热数据容量,取总的热数据容量和本地建议缓存容量的最大值为本地缓存盘容量。网关同步带宽根据OSS带宽限制制定,目前OSS为每个用户提供的最大访问带宽为10 Gbps。各区域的集群略有差异,请向各区域OSS客户支持人员查询。
云存储网关支持传输加速,充分利用网关的公网带宽,提高跨域情况下的数据传输速度。您可以在创建共享时或者共享创建之后开启传输加速。
数据持久性和服务可用性
网关缓存模式采用同步IO(Sync IO)落盘,确保掉电不丢失数据。云上网关依托于阿里云云盘的高可靠性,确保了缓存盘的数据持久可靠。本地部署的网关依赖于您虚拟环境后端存储的可靠性,建议您使用RAID存储或高可靠分布式存储作为缓存盘。网关将缓存盘的新数据刷新上传到OSS Bucket,依托OSS数据不低于99.9999999999%(12个9)的设计持久性,保证了数据的安全可靠,进而确保了数据从进入网关到上传云端整条链路的高可靠性。
扩展性和弹性
云存储网关以阿里云对象存储OSS为后端存储,因此具备OSS的高扩展性和弹性。普通的文件系统如果在同一目录下存放太多文件,经常会出现问题。而OSS总的存储容量以及单个存储空间的容量均无上限。您可以在一个存储空间内存放无限量的文件,OSS自动将您的数据副本存储至同一地域的不同服务器,所有数据副本共享阿里云的高性能基础设施能力。
安全性
云存储网关支持通过RAM管理用户身份与资源访问控制。RAM是基于用户的访问控制。您可以在一个云账户(主账户)下创建并管理多个RAM用户,并给RAM用户分配不同的授权策略,从而实现不同RAM用户拥有不同的云资源访问权限。使用RAM还可以让您避免与其他用户共享云账号密钥(AccessKey),按需为RAM用户分配最小权限,从而降低您的企业信息安全风险。详情请参见账号访问控制。
云存储网关还提供数据从网关传输至OSS的上云传输加密。您还可以选择开启OSS服务端加密并设置密钥,则通过共享目录上云的文件会在OSS端自动利用KMS密钥进行加密。
接口
您可以通过云存储网关控制台部署网关虚拟机到本地或ECS实例,然后配置文件网关或块网关,创建缓存和共享。您也可以通过API管理您的云存储网关。云存储网关API支持HTTP或者HTTPS网络请求协议,支持GET方法发送请求。
费用模型
云存储网关是按使用量收费的服务,包括线上网关和线下网关,对应的计费项不同。线上网关根据网关规格和缓存类型、数据公网带宽进行计费,支持按量计费和包年包月两种计费方式。线下网关由客户提供虚拟机和缓存资源,阿里云只收取网关软件许可证费用。详情请参见计量项和计费项。