OSS的存储空间(Bucket)内部是扁平的,没有文件系统的文件夹等概念。若您希望像使用本地文件夹和磁盘那样使用OSS,您可以通过云存储网关将OSS的Bucket作为文件系统挂载至ECS实例中使用。

前提条件

背景信息

  • 解冻归档或冷归档类型文件
    通过云存储网关访问未解冻的归档或冷归档类型文件时,文件会被自动解冻。归档类型文件解冻需要约1分钟;冷归档类型文件解冻需要1小时以上。基于使用协议不同,解冻时的访问情况如下:
    • NFS协议:访问文件时会触发解冻操作,并在文件完成解冻后继续访问操作。
    • SMB协议:访问文件时会触发解冻操作,并返回报错信息。您需要在文件解冻完成后再次访问。
  • 支持地域

    华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华南1(深圳)地域。

有关云存储网关的详细介绍,请参见什么是云存储网关CSG

步骤一:配置云存储网关

  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 选择文件管理 > ECS挂载OSS,然后单击配置云存储网关
  4. 选择/创建项目步骤选择网关集群,然后单击下一步
    若没有已存在的网关集群,请单击创建网关集群进行创建。集群命名规则与下一步中网关名称命名规则一致。
  5. 选择/选择网关步骤配置以下参数,然后单击下一步
    参数 说明
    网关名称 填写云存储网关的名称。

    只能以大小写字母或者中文开头,且只能包含大小写字母、中文、数字或字符._-,最大支持60个字符。

    所在网络 选择挂载Bucket的ECS实例所在的VPC和交换机。选择后,Bucket仅允许挂载至该VPC内的ECS实例上。
    网关规格 根据您挂载的Bucket的容量及访问需求带宽选择合适的网关规格。

    例如您Bucket内文件不超过1000万个,容量不超过64 TB,且读写带宽需求不超过1 Gbps时,可以选择基础型。网关规格的详细介绍,请参见产品规格

    类型 选择文件网关,Bucket将作为文件系统挂载至ECS实例。
    数据缓存区容量 设置数据缓存的容量大小,不能小于40 GB。

    云存储网关将使用指定大小的ECS存储空间缓存热数据,以保障数据访问的性能。

  6. 配置协议步骤配置以下参数,然后单击下一步
    参数 说明
    协议类型 选择文件网关使用的协议类型。
    • NFS:适用于Linux系统。
    • SMB:适用于Windows系统。
    共享名称 设置Bucket挂载后的网络共享名称。

    只能以大小写字母开头,且只能包含大小写字母、数字或字符._-。最大支持32个字符。

    用户映射 设置NFS客户端访问挂载文件夹时使用的用户身份。仅当协议类型NFS时配置。
    • NONE:所有用户都以自己登录NFS客户端的身份访问挂载文件夹。
    • ROOT_SQUASH:root用户以匿名用户身份nfsnobody访问挂载文件夹。
    • ALL_SQUASHALL_ANOMNYMOUS:所有用户都以匿名用户身份nfsnobody访问挂载文件夹。
    OSS通过云存储网关挂载到ECS实例后,所有用户对OSS文件都有可读、可写、可执行的权限,您可以根据以下需求设置用户映射
    • 若您需要进行权限管理,先将用户映射设置为NONE,然后使用root用户进行权限管理。具体步骤,请参见设置文件访问权限
    • 若您无需进行权限管理,可选择任意映射方式。
    反向同步 是否将Bucket中文件的元信息同步到本地。
    注意 反向同步功能会扫描Bucket中所有文件,会产生一定的API请求费用。计费详情,请参见请求费用

步骤二:购买云存储网关

  1. 购买链接对话框中,单击跳转购买链接
  2. 在云存储网关购买页面,设置公网带宽购买数量,然后单击立即购买
    云存储网关的详细计费信息,请参见计量项和计费项

步骤三:挂载与访问Bucket

云存储网关购买完成后,您需要通过ECS实例挂载目标Bucket。以下步骤以NFS协议的云存储网关挂载Bucket为例,若您需要使用SMB协议的云存储网关挂载Bucket,请参见访问SMB共享目录

  1. 在Bucket管理页面,选择文件管理 > ECS挂载OSS
  2. 在云存储网关的列表中,查看目标网关的服务器挂载点信息。
  3. 登录同地域Linux系统的ECS实例。
    登录方式,请参见通过密码认证登录Linux实例
  4. 使用NFS挂载命令挂载目标Bucket。
    例如Bucket服务器挂载点为172.16.0.2:/test,本地文件夹名为mnt/nfs/,则挂载命令为:
    mount.nfs 172.16.0.2:/test mnt/nfs/
  5. 访问目标Bucket。
    您可以使用NFS命令通过挂载后的文件夹访问目标Bucket。示例如下:
    • 列举Bucket根目录的文件,命令如下:
      ls mnt/nfs/
    • 下载Bucket根目录example.txt文件到本地根目录,命令如下:
      cp mnt/nfs/example.txt  example.txt

(可选)步骤四:设置文件访问权限

  1. 使用root身份登录NFS客户端。
  2. 设置文件访问权限。
    以授予nfsnobody用户(默认UID和GID为4294967294)只读访问example.txt文件为例,步骤如下:
    1. example.txt文件所属组修改为nfsnobody组,命令如下:
      chgrp -R 4294967294 example.txt
    2. 为nfsnobody组授予example.txt文件的只读权限,命令如下:
      chmod  444 example.txt
  3. 可选:修改用户映射。
    权限配置完成后,建议您将用户映射修改为ROOT_SQUASHALL_SQUASHALL_ANOMNYMOUS,以限制root用户的权限。
    1. 登录。
    2. 单击网关列表,然后单击目标网关名称。
    3. 单击共享,然后在共享列表页面单击操作列的设置
    4. NFS共享设置对话框,根据您的需求修改用户映射
    5. 单击确定