通过云存储网关挂载OSS

通过云存储网关挂载OSS,您可以将OSS映射为一个共享的文件存储系统,实现多个用户在不同地点和设备上共享访问OSS数据。挂载完成后,您可以像使用本地文件夹和磁盘一样操作OSS资源。

前提条件

  • 已开通云存储网关服务,并授予访问OSS、ECS及VPC的权限。

  • 仅华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、西南1(成都)、中国香港、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)地域支持使用云存储网关服务。

  • 已在Bucket同一地域下创建专有网络VPC和交换机。具体步骤,请参见创建和管理专有网络创建和管理交换机

  • 已在Bucket同一地域下创建ECS实例。具体步骤,请参见创建ECS实例

注意事项

  • 云存储网关挂载OSS后,不建议在Bucket中直接写入归档、冷归档和深度冷归档存储类型的文件。

    通过客户端写入文件到云存储网关时,云存储网关需要通过调用CopyObject修改文件元数据的方式来设置文件的修改时间。归档、冷归档和深度冷归档的文件在调用CopyObject时会涉及耗时的解冻动作,影响上传效率,甚至可能因为缓存盘内的数据上传不及时导致写入失败。如果文件写入后长时间不修改,可以考虑写入标准或者低频访问类型的文件,然后通过生命周期转储为归档、冷归档或者深度冷归档类型。更多信息,请参见基于最后一次修改时间的生命周期规则

  • 通过云存储网关挂载访问OSS过程中,需要根据网关规格和缓存类型、数据公网带宽进行计费。此外,还涉及OSS存储费用、请求费用等。更多信息,请参见云存储网关计费

步骤一:配置云存储网关

  1. 登录OSS管理控制台

  2. 单击Bucket 列表,然后单击目标Bucket名称。

  3. 在左侧导航栏,选择文件管理 > ECS挂载OSS,然后单击配置云存储网关

  4. 网关基础信息面板,配置以下参数,然后单击下一步

    参数

    说明

    型号

    根据您挂载的Bucket的容量及访问需求带宽选择合适的网关规格。

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

    专有网络

    选择挂载Bucket的ECS实例所在的VPC。

    虚拟交换机

    选择挂载Bucket的ECS实例所在的VPC下的交换机。

  5. 配置协议面板,配置以下参数,然后单击下一步

    参数

    说明

    名称

    填写云存储网关的名称。

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

    子目录

    如果您需要通过云存储网关将Bucket下的某个子目录作为文件系统挂载至ECS实例中使用,请选中Bucket名称右侧的子目录选项,然后填写子目录名称。

    协议

    选择文件网关使用的协议类型。

    • NFS:适用于Linux系统。

    • SMB:适用于Windows系统。

    共享名称

    设置Bucket挂载后的网络共享名称。

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

    用户映射

    设置NFS客户端访问挂载文件夹时使用的用户身份。仅当协议类型NFS时配置。

    • none:所有用户都以自己登录NFS客户端的身份访问挂载文件夹。

    • root_squash:root用户以匿名用户身份nfsnobody访问挂载文件夹。

    • all_squashall_anonymous:所有用户都以匿名用户身份nfsnobody访问挂载文件夹。

    OSS通过云存储网关挂载到ECS实例后,所有用户对OSS文件都有可读、可写、可执行的权限,您可以根据以下需求设置用户映射

    • 如果您需要进行权限管理,先将用户映射设置为none,然后使用root用户进行权限管理。具体步骤,请参见设置文件访问权限

    • 如果您无需进行权限管理,可选择任意映射方式。

    反向同步

    反向同步会从云上OSS Bucket同步元数据到网关的缓存盘,以保证云上和网关缓存的一致性。

    如果您选择反向同步,还需要设置反向同步时间间隔

    重要
    • 反向同步时间间隔最大为36000秒,最小为15秒。使用反向同步时,性能会有一定的损耗,不建议设置反向同步时间间隔小于300秒。

    • 反向同步功能会扫描Bucket中所有文件,并产生一定的API请求费用。计费详情,请参见请求费用

    缓存盘规格

    包括高效云盘、SSD云盘以及ESSD云盘(PL1)三种。不同地域支持的缓存盘规格可能存在差异,请根据实际情况以及业务场景进行选择。

    缓存盘容量

    设置数据缓存的容量大小,单位为GB,取值范围为[100, 32768]。

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

  6. 付费信息面板,选中《云存储网关服务协议》,然后单击完成

    默认创建按量付费的云存储网关。创建完成后,您可以将云存储网关的计费方式转为包年包月,享受更高的折扣优惠。具体步骤,请参见按量付费转包年包月

步骤二:挂载与访问Bucket

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

  1. 在Bucket管理页面,选择文件管理 > ECS挂载OSS

  2. 在云存储网关的列表中,查看目标网关的服务器挂载点信息。

  3. 登录同地域Linux系统的ECS实例。

    登录方式,请参见使用VNC登录实例

  4. 使用NFS挂载命令挂载目标Bucket。

    例如Bucket服务器挂载点为172.16.0.2:/test,本地文件夹名为mnt/nfs/,则挂载命令为:

    mount.nfs 172.16.0.2:/test /mnt/nfs/
  5. 访问目标Bucket。

    您可以使用以下命令通过挂载后的文件夹访问目标Bucket。示例如下:

    • 列举Bucket根目录的文件,命令如下:

      ls mnt/nfs/
    • 将Bucket根目录下的example.txt文件下载到本地,命令如下:

      cp mnt/nfs/example.txt  example.txt

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

  1. 使用root身份登录NFS客户端。

  2. 设置文件访问权限。

    以授予nfsnobody用户组(默认UID和GID为429496****)只读访问example.txt文件为例,步骤如下:

    1. example.txt文件所属组修改为nfsnobody用户组,命令如下:

      chgrp -R 429496**** example.txt
    2. 为nfsnobody用户组授予example.txt文件的只读权限,命令如下:

      chmod  444 example.txt
  3. 可选:修改用户映射。

    权限配置完成后,建议您将用户映射修改为root_squashall_squashall_anonymous,以限制root用户的权限。

    1. 登录云存储网关控制台

    2. 单击网关列表,然后单击目标网关名称。

    3. 单击共享,然后在共享列表页面单击操作列的设置

    4. NFS共享设置对话框,根据您的需求修改用户映射

    5. 单击确定

常见问题

通过云存储网关挂载OSS和使用ossfs有什么区别?

二者使用性能有差异,云存储网关挂载OSS时性能更好。ossfs工具的性能不适合高并发和大文件的上传下载处理,适合日常小文件的使用。关于ossfs的更多信息,请参见ossfs

删除OSS Bucket是否会自动释放关联的云存储网关?

不会。如不再需要使用云存储网关,请前往云存储网关控制台及时删除,避免持续产生费用。