背景
阿里云云存储网关(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)安装包:
注:随着新版本发布,安装步骤可能与下文内容有些出入,详细步骤请参考:https://help.aliyun.com/document_detail/286329.html。
步骤二:安装
- 以0.5.9版本为例,从官网下载安装包CsgAgent-0.5.9-Linux.rpm至客户端机器。
- 运行rpm -i CsgAgent-0.5.9-Linux.rpm。
- 执行安装脚本 /usr/local/bin/Aliyun/csg/scripts/install.sh。该步骤会安装一些依赖,并安装csg服务,成功后会显示如下截图。
- 安装完成后,可以使用csgfsctl --version、hybridfs --version和system 来验证是否安装成功。
步骤三:激活
云存储网关软件版安装完成后,需要对其进行激活才能正常使用。使用前,您需要获得自己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,缓存大小为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可以获取所有已经配置好的挂载点:
挂载成功后您就可以直接像使用本地文件系统一样使用oss bucket。
您可以执行csgfsctl create --help查看具体参数的使用说明。具体参数配置见下表:
参数 | 是否必选 | 说明 |
--mountpoint(简写:-mp) | 是 | 挂载点路径,例如:/mnt/test/。 说明
|
--cache-dir(简写:-cd) | 是 | Cache路径,包括元数据缓存和数据缓存等。 需要保证为一个干净的目录,且不要使用已有磁盘的根目录。 |
--access-key(简写:-ak) | 是 | 输入具有OSS Bucket读写权限的AccessKey,可以是RAM用户AccessKey。 |
--access-key-secret(简写:-sk) | 是 | 账户AccessKey Secret。 |
--endpoint(简写:-ep) | 是 | OSS Bucket Endpoint。 说明 如果您使用的是线上机器(阿里云ECS):
|
--bucket(简写:-b) | 是 | OSS Bucket名称。 |
--prefix(简写:-p) | 否 | Bucket子目录。 说明 若为空,则挂载点以OSS Bucket为根目录。若不为空,则挂载点以该子目录为根目录。 |
--cache-size-gb(简写:-c) | 是 | Cache预留的磁盘空间。 说明
|
--work-mode(简写:-wm) | 否 | 读写模式。默认为standard(标准模式)。其他可选项为:
|
补充说明
获取挂载点信息
您可以执行 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) | 否 | 反向同步功能。可能值:
说明 开启反向同步功能,网关软件版可以将OSS Bucket中的元数据信息同步到本地。网关软件版的性能会有一定损耗。 |
--rs-interval(简写:-rsi) | 否 | 反向同步间隔时间,单位:秒(s)。 说明
|
--ignore-delete | 否 | 忽略删除。可能值:
说明 删除操作仅针对于本地缓存,不会同步到OSS Bucket。 |
--oss-direct-read | 否 | 直读OSS,非必要不建议开启此功能。可能值:
说明 默认情况下,收到一个读请求时,如果数据缓存未命中,网关软件版会去OSS Bucket下载数据并且存储到本地磁盘缓存,会有一定的数据预读。但是如果您的的读请求完全是随机请求,并且设置的缓存容量远小于对应的OSS Bucket容量,这时数据预读并落盘可能会效果不佳,可以考虑开启这个功能。 |
--upload-delay | 否 | 同步延迟,本地缓存同步到OSS Bucket的延迟时间,单位:秒(s)。 说明
|
--upload-bandwidth-limit | 否 | 上传带宽限流,单位:MB/s。 |
--rw-bandwidth-limit | 否 | 读写带宽限流,单位:MB/s。 |
--download-bandwidth-limit | 否 | 下载带宽限流,单位:MB/s。 |
--seq-mode | 否 | 顺序写模式。可能值:
说明
|
--slient(简写:-s) | 否 | 切换写模式时,用户需手动输入y或者N,决定是否继续。可以在命令中加入此参数跳过提示,自动执行。 |
删除挂载点
您可以执行 csgfsctl remove --help 查看删除挂载点的使用说明。具体的参数配置,请参见下表。
参数 | 是否必选 | 说明 |
--mountpoint(简写:-mp) | 是 |
挂载点路径。 |
--force | 否 | 如果遇到挂载点删除不掉的情况,可以加上此参数进行强制删除。 |
日志收集
您可以使用命令:csgfsctl log,一键收集日志。
生成的日志位于 /usr/local/bin/Aliyun/csg/目录下,有对应的tar.gz文件。
请不要修改该目录下的其他文件,否则可能会导致CSG软件版不可用。
卸载CSG软件版
您可以通过执行/usr/local/bin/Aliyun/csg/scripts/uninstall.sh脚本,卸载CSG软件版。
卸载完成之后,您可以登录CSG软件版控制台,可以看到,对应客户端的记录已经被删除。
- 由于卸载时会强制移除挂载点,因此请务必确保当前挂载点不再使用。
- 如果卸载完成后,缓存路径仍有部分文件残留,可以手动删除文件。