阿里云云存储网关(CSG)软件版顺序写模式使用教程

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 阿里云云存储网关(CSG)软件版是一款安装在阿里云用户机器上的云存储网关产品。本文介绍了如何使用CSG软件版的特殊工作模式——顺序写模式,以及相关注意事项。

背景

阿里云云存储网关(Cloud Storage Gateway, CSG)软件版(以下简称CSG软件版)是一款可以安装在阿里云用户机器(ECS,或用户自建机房服务器)上的云存储网关产品。使用CSG软件版可以实现将OSS Bucket挂载到用户机器,以POSIX文件系统接口进行访问。


目前CSG软件版同时支持Linux系统和Windows系统。


对于备份上云的场景,通常需要将文件完整上传到OSS中,这个过程会将文件从头到尾按顺序进行传输。我们将这种数据的写入模式称为顺序写模式。在顺序写的场景下,CSG软件版根据这种写入模式的特点,使用内存作为缓冲区,避免磁盘写入的性能瓶颈,充分利用网络带宽进行文件上云


顺序写模式与标准模式的对比


标准模式

顺序写模式

缓存磁盘

需要

不需要数据缓存部分,仅需要元数据部分

内存

多,该模式使用内存进行传输加速,内存使用和使用方法有关,需要合理评估内存使用量

写入性能

受限于磁盘带宽

受限于网络带宽,顺序写入的业务负载在该模式下远高于标准模式

读取性能

已经缓存在磁盘中的数据读取比较快

单流自带预取策略,并发场景受限于磁盘带宽

无本地缓存

单流受限于OSS性能,高并发下可充分利用带宽

随机和覆盖写

支持

不支持,覆盖写入同名文件需要先删除老文件

文件上云模式

异步上云,挂载点写入成功后触发上传

同步上云,挂载点写入成功后OSS立即可见

创建文件夹(mkdir)

支持

支持

重命名(mv)

支持

支持,同步串行进行OSS文件Copy,文件过大耗时较长。

修改文件属性操作(chmod)

支持

不支持,请求不报错但不生效

软链接(symlink)

支持

不支持

根据上述对比表格可以发现,CSG软件版顺序写模式是针对文件纯上云场景下的特殊优化版本,在纯顺序写场景下可以充分发挥机器的网络带宽,高效上云。下面对CSG软件版顺序写模式的使用方式做进一步介绍。

前提条件

  • 已注册阿里云账号,并完成实名认证。
  • 已开通云存储网关服务。
  • 已有可用的Linux客户端机器,目前支持的操作系统为:CentOS 7、Alibaba Cloud Linux 2。
  • 线上CSG软件版:在创建CSG软件版的地域,已有可用的阿里云服务器ECS作为客户端机器。
  • 线下CSG软件版:要求机器可以访问公网或者通过阿里云专线等方式接入阿里云VPC。
  • 已创建OSS Bucket,且OSS Bucket的地域应当与客户端机器的地域保持一致。
  • 已创建阿里云AccessKey信息。


具体可以参考:https://help.aliyun.com/document_detail/286329.html

使用步骤

步骤一:下载安装包

当前最新版本:0.6.1。

Linux操作系统

下载链接:

Windows操作系统

下载链接:

Windows Server 2016、Windows Server 2019:CsgAgent-latest-win64.zip


下面以centos7版本进行举例。

步骤二:安装

从官网下载安装包CsgAgent-latest-centos7.rpm至客户端。

执行下列命令进行安装:

sudo rpm -i CsgAgent-latest-centos7.rpm
sudo /usr/local/bin/Aliyun/csg/scripts/install.sh

可以执行命令csgfsctl --help查看云存储网关软件版安装情况。

步骤三:激活

云存储网关软件版安装完成后,需要对其进行激活才能正常使用。使用前,您需要获得自己AccessKey(ak)和AccessKey Secret(sk)信息。如果是您是RAM用户,则需要具备AliyunHCSSGWFullAccess 权限。

  • 线上CSG软件版:执行命令行 csgfsctl activate --ak=xxx --sk=xxx 进行激活。
  • 线下CSG软件版:执行命令行 csgfsctl activate --region=xxx --ak=xxx --sk=xxx 进行激活。其中,region只能填写CSG软件版控制台支持的地域,以杭州地域为例,region为cn-hangzhou。


激活完成之后,您可以登录CSG软件版控制台,选择对应的地域,即可以查看到对应的CSG软件版客户端信息。

步骤四:创建顺序写模式挂载点

以一个在杭州地域的阿里云ECS客户端上创建挂载点为例。使用的OSS Bucket名称为gw1-test,工作模式为seq-write,数据缓存大小为20GB,在顺序写模式下不会占用数据缓存的空间,CSG软件版支持顺序写模式与标准模式进行切换,配置中的20GB为给标准模式预留。

csgfsctl create --mp=/mnt/test --cd=/root/cache --ak=xxx --sk=xxx --ep=oss-cn-hangzhou-internal.aliyuncs.com --bucket=gw1-test --dc=20-c=30--work-mode=seq-write

创建成功使用csgfsctl get可以看到对应的挂载点。

image.png

简单测试

测试一:复制本地文件到挂载点

  1. 创建一个seq-demo的测试文件夹。

image.png

  1. 将安装包copy到测试目录下:

image.png

在OSS控制台可以看到文件的mtime与本地一致,表明文件同步上云没有延迟。

image.png

测试二:使用dd命令测试文件写入速度

dd if=/dev/zero of=/mnt/test/seq-demo/file bs=1M count=1024oflag=direct status=progress

image.png

带宽性能和机器规格有关,可以看到单路文件的上传已经超过了普通高效云盘的带宽。

测试三:覆盖写文件

  1. 尝试二次cp安装包到测试目录,覆盖写入被拒绝。

image.png

  1. 将老文件重命名为xxx.old,再次进行cp,成功。

image.png

内存使用评估方法

顺序写模式的内存使用和写入的并发程度相关,每个文件的在写入时会分配临时的内存缓冲区,在0.6.1版本及以前默认为20MB*2的内存,即单文件写入需要40MB内存占用,当文件关闭后对应缓冲区自动释放。当同时写入10个文件时,则需要占用40MB*10=400MB的内存空间,每个挂载点本身也需要预留约512MB的内存空间作为文件上传缓冲。

请根据自己的机器规格合理的安排同时写入的文件的个数,在顺序写入的模式下,由于CSG软件版往OSS上传数据也是多线程进行的,串行写入文件也可以获得比较好的性能,建议同时写入的文件不要超过4个。

另外,支持写入的文件大小与缓冲区大小有关,默认支持小于20MB*10000=200GB文件上传。若遇到需要支持更大文件上传的情况时,请联系阿里云售后支持。

相关文章
|
2月前
|
负载均衡 应用服务中间件 API
探索微服务架构中的API网关模式
在现代软件开发中,微服务架构已经成为一种流行的设计模式。它通过将复杂的应用程序分解为一组小的、松耦合的服务来简化开发和部署。然而,随着服务数量的增加,如何有效地管理这些服务之间的通信成为了一个挑战。API网关作为微服务架构的关键组件,提供了一个集中式的入口,用于处理客户端请求并将其路由到相应的服务。本文将深入探讨API网关的作用、实现方式以及如何在微服务架构中有效地利用它来优化系统性能和安全性。
40 0
|
27天前
|
人工智能 缓存 Cloud Native
用 Higress AI 网关降低 AI 调用成本 - 阿里云天池云原生编程挑战赛参赛攻略
《Higress AI 网关挑战赛》正在火热进行中,Higress 社区邀请了目前位于排行榜 top5 的选手杨贝宁同学分享他的心得。本文是他整理的参赛攻略。
517 68
|
1天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 08 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
10天前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
|
30天前
|
API
阿里云微服务引擎及 API 网关 2024 年 7 月产品动态
阿里云微服务引擎及 API 网关 2024 年 7 月产品动态。
|
27天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 07 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
1月前
|
设计模式 监控 API
探索微服务架构中的API网关模式
在微服务的宇宙里,API网关是连接星辰的桥梁。它不仅管理着服务间的通信流量,还肩负着保护、增强和监控微服务集群的重任。本文将带你走进API网关的世界,了解其如何成为微服务架构中不可或缺的一环,以及它在实际应用中扮演的角色和面临的挑战。
|
1月前
|
负载均衡 监控 API
探索微服务架构中的API网关模式
在微服务架构的海洋中,API网关扮演着枢纽的角色。它不仅是客户端请求的接收者,也是各个微服务间通信的协调者。本文将深入探讨API网关的设计原则、实现策略以及它在微服务生态中的重要性。我们将通过实际案例分析,了解API网关如何优化系统性能、提高安全性和简化客户端与服务的交互。
40 4
|
2月前
|
负载均衡 监控 API
探索微服务架构中的API网关模式
【7月更文挑战第30天】在微服务架构的复杂网络中,API网关扮演着交通枢纽的角色,不仅简化了客户端与各微服务的交互,还提升了系统的安全性和可维护性。本文将深入探讨API网关的设计原则、核心功能以及在实际应用中的部署策略,旨在为后端开发者提供一套完整的API网关解决方案。
|
2月前
|
安全 前端开发 API
探索微服务架构中的API网关模式
【7月更文挑战第30天】在微服务架构的海洋中,API网关是一艘至关重要的航船。它不仅是服务的入口,更是流量控制、安全认证与协议转换的枢纽。本文将深入探讨API网关的核心作用,揭示其在微服务生态中的价值,并指导如何有效实现和部署这一关键组件。
57 6