阿里云云存储网关(CSG)软件版使用详细教程(Linux版)

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 本文将详细介绍如何在Linux操作系统中安装并使用阿里云云存储网关(CSG)软件版。

背景

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


目前CSG软件版同时支持Linux系统和Windows系统。本文将详细介绍如何在Lnux操作系统中安装并使用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


使用步骤

步骤一:下载安装包

可以访问下列的链接,下载官方的CSG软件版(Linux)安装包:

CsgAgent-Linux.rpm

注:随着新版本发布,安装步骤可能与下文内容有些出入,详细步骤请参考:https://help.aliyun.com/document_detail/286329.html


步骤二:安装

  1. 以0.5.9版本为例,从官网下载安装包CsgAgent-0.5.9-Linux.rpm至客户端机器。
  2. 运行rpm -i CsgAgent-0.5.9-Linux.rpm。
  3. 执行安装脚本 /usr/local/bin/Aliyun/csg/scripts/install.sh。该步骤会安装一些依赖,并安装csg服务,成功后会显示如下截图。

Screen Shot 2022-09-05 at 14.04.36.png

  1. 安装完成后,可以使用csgfsctl --version、hybridfs --version和system 来验证是否安装成功。

Screen Shot 2022-09-05 at 14.06.57.png


步骤三:激活

云存储网关软件版安装完成后,需要对其进行激活才能正常使用。使用前,您需要获得自己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软件版客户端信息。

img1.png


步骤四:创建文件系统挂载点

以一个在杭州地域的阿里云ECS客户端上创建挂载点为例。使用的OSS Bucket名称为gw1-test,缓存大小为20GB,Bucket子目录设为demo。

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

执行csgfsctl get可以获取所有已经配置好的挂载点:

Screen Shot 2022-09-05 at 14.27.53.png

挂载成功后您就可以直接像使用本地文件系统一样使用oss bucket。


您可以执行csgfsctl create --help查看具体参数的使用说明。具体参数配置见下表:

参数 是否必选 说明
--mountpoint(简写:-mp) 挂载点路径,例如:/mnt/test/。


说明

  • 配置挂载时,需要确保挂载点路径下无任何数据。
  • 挂载点可以是一个新的磁盘符,如Z:\。
--cache-dir(简写:-cd) Cache路径,包括元数据缓存和数据缓存等。

需要保证为一个干净的目录,且不要使用已有磁盘的根目录。

--access-key(简写:-ak) 输入具有OSS Bucket读写权限的AccessKey,可以是RAM用户AccessKey。
--access-key-secret(简写:-sk) 账户AccessKey Secret。
--endpoint(简写:-ep) OSS Bucket Endpoint。


说明 如果您使用的是线上机器(阿里云ECS):

  • 如果您需要跨地域访问(客户端和OSS Bucket不在一个region),您的endpoint必须为公网endpoint。
  • 如果您不需要跨地域访问,由于公网传输速度较慢,建议您使用阿里云内网endpoint(oss-xxx-xxx-internal.aliyuncs.com)。
--bucket(简写:-b) OSS Bucket名称。
--prefix(简写:-p) Bucket子目录。

说明 若为空,则挂载点以OSS Bucket为根目录。若不为空,则挂载点以该子目录为根目录。

--cache-size-gb(简写:-c) Cache预留的磁盘空间。


说明

  • 可选区间为:20~32768(或磁盘剩余空间)。
  • 建议实际空间比设置的CacheGB大2 GB。
--work-mode(简写:-wm) 读写模式。默认为standard(标准模式)。其他可选项为:
  • seq-write(顺序写模式)
  • read-only(只读模式)


补充说明

获取挂载点信息

您可以执行 csgfsctl get 命令获取挂载点信息的使用说明。具体的参数配置,请参见下表。

参数 是否必选 说明
--mountpoint(简写:-mp) 挂载点路径。

说明 如果不指定mountpoint,则获取所有挂载点信息,否则获取指定的挂载点信息。


配置挂载点

以挂载点/mnt/test为例,打开反向同步功能,并设置反向同步时间间隔为500秒,命令如下:

csgfsctl set--mountpoint=/mnt/test --reverse-sync=true--rs-interval=600

您可以执行 csgfsctl set --help 查看修改挂载点配置的使用说明。具体的参数配置,请参见下表。

参数 是否必选 说明
--mountpoint(简写:-mp) 挂载点路径。
--reverse-sync(简写:-rs) 反向同步功能。可能值:
  • true:打开反向同步。
  • false:关闭反向同步。

说明 开启反向同步功能,网关软件版可以将OSS Bucket中的元数据信息同步到本地。网关软件版的性能会有一定损耗。

--rs-interval(简写:-rsi) 反向同步间隔时间,单位:秒(s)。

说明

  • 仅当反向同步打开时生效。取值区间为:10~36000,默认值为300。
  • 在反向同步时间间隔内,访问同一个目录只会触发一次反向同步。
  • 当文件夹下文件数目较多(上万级别),建议把反向同步时间设置为300s以上。
--ignore-delete 忽略删除。可能值:
  • true:打开忽略删除。
  • false:关闭忽略删除。

说明 删除操作仅针对于本地缓存,不会同步到OSS Bucket。

--oss-direct-read 直读OSS,非必要不建议开启此功能。可能值:
  • true:打开直读OSS。
  • false:关闭直读OSS。

说明 默认情况下,收到一个读请求时,如果数据缓存未命中,网关软件版会去OSS Bucket下载数据并且存储到本地磁盘缓存,会有一定的数据预读。但是如果您的的读请求完全是随机请求,并且设置的缓存容量远小于对应的OSS Bucket容量,这时数据预读并落盘可能会效果不佳,可以考虑开启这个功能。

--upload-delay 同步延迟,本地缓存同步到OSS Bucket的延迟时间,单位:秒(s)。

说明

  • 取值区间为:0~120,默认值为2。
  • 在关闭文件后会延迟一段时间上传数据至OSS,防止频繁的本地修改操作产生OSS碎片。
--upload-bandwidth-limit 上传带宽限流,单位:MB/s。
--rw-bandwidth-limit 读写带宽限流,单位:MB/s。
--download-bandwidth-limit 下载带宽限流,单位:MB/s。
--seq-mode 顺序写模式。可能值:
  • true:由标准模式切换至顺序写模式。
  • false:由顺序写模式切换至标准模式。


说明

  • 如果希望使用顺序写模式,建议在create时,work-mode设置为seq-write。
  • 在设置SeqMode选项时,由于涉及到网关软件版写模式的转变,因此请确保设置时挂载点没有IO。
  • 在SeqMode没有设置成功之前,新的IO请求均会返回失败。
  • 在标准模式下,如果挂载点IO刚结束,同时有很多文件正在上传,那么设置SeqMode选项时,可能会耗时较久,甚至超时。
--slient(简写:-s) 切换写模式时,用户需手动输入y或者N,决定是否继续。可以在命令中加入此参数跳过提示,自动执行。


删除挂载点

您可以执行 csgfsctl remove --help 查看删除挂载点的使用说明。具体的参数配置,请参见下表。

参数 是否必选 说明
--mountpoint(简写:-mp)

挂载点路径。

--force 如果遇到挂载点删除不掉的情况,可以加上此参数进行强制删除。


日志收集

您可以使用命令:csgfsctl log,一键收集日志。

生成的日志位于 /usr/local/bin/Aliyun/csg/目录下,有对应的tar.gz文件。

Screen Shot 2022-09-05 at 14.35.03.png

请不要修改该目录下的其他文件,否则可能会导致CSG软件版不可用。


卸载CSG软件版

您可以通过执行/usr/local/bin/Aliyun/csg/scripts/uninstall.sh脚本,卸载CSG软件版。

卸载完成之后,您可以登录CSG软件版控制台,可以看到,对应客户端的记录已经被删除。


  • 由于卸载时会强制移除挂载点,因此请务必确保当前挂载点不再使用。
  • 如果卸载完成后,缓存路径仍有部分文件残留,可以手动删除文件。
相关文章
|
9天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
62 6
|
14天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
25 4
|
17天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
1月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
818 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
30天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
261 3
|
1月前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
网络协议 安全 Linux
阿里云国际上如何检查 Linux 上正在使用哪些端口
阿里云国际上如何检查 Linux 上正在使用哪些端口
|
1月前
|
数据采集 传感器 监控
.NET 工控网关 轻量级组态软件
【10月更文挑战第10天】.NET 工控网关是一种基于 .NET 平台开发的设备,用于连接工业控制系统中的不同网络和设备,实现数据传输和协议转换。它能统一处理多种协议(如 Modbus、Profibus)的数据,便于后续系统处理。.NET 平台的优势包括开发效率高、跨平台能力强及安全性高,适用于工业物联网环境。此外,轻量级组态软件具备体积小、资源占用少的特点,可在资源受限的设备上运行,提供数据采集、监控、报警及数据分析等功能,简化工业自动化过程。
|
1月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
262 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
下一篇
无影云桌面