通过云存储网关挂载OSS,您可以将OSS映射为一个共享的文件存储系统,实现多个用户在不同地点和设备上共享访问OSS数据。挂载完成后,您可以像使用本地文件夹和磁盘一样操作OSS资源。
前提条件
注意事项
云存储网关挂载OSS后,不建议在Bucket中直接写入归档、冷归档和深度冷归档存储类型的文件。
通过客户端写入文件到云存储网关时,云存储网关需要通过调用CopyObject修改文件元数据的方式来设置文件的修改时间。归档、冷归档和深度冷归档的文件在调用CopyObject时会涉及耗时的解冻动作,影响上传效率,甚至可能因为缓存盘内的数据上传不及时导致写入失败。如果文件写入后长时间不修改,可以考虑写入标准或者低频访问类型的文件,然后通过生命周期转储为归档、冷归档或者深度冷归档类型。更多信息,请参见基于最后一次修改时间的生命周期规则。
通过云存储网关挂载访问OSS过程中,需要根据网关规格和缓存类型、数据公网带宽进行计费。此外,还涉及OSS存储费用、请求费用等。更多信息,请参见云存储网关计费。
步骤一:配置云存储网关
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择 ,然后单击配置云存储网关。
在网关基础信息面板,配置以下参数,然后单击下一步。
参数
说明
型号
根据您挂载的Bucket的容量及访问需求带宽选择合适的网关规格。
例如您Bucket内文件不超过1000万个,容量不超过64 TB,且读写带宽需求不超过1 Gbps时,可以选择基础型。关于网关规格的详细介绍,请参见文件网关。
专有网络
选择挂载Bucket的ECS实例所在的VPC。
虚拟交换机
选择挂载Bucket的ECS实例所在的VPC下的交换机。
在配置协议面板,配置以下参数,然后单击下一步。
参数
说明
名称
填写云存储网关的名称。
只能以大小写字母或者中文开头,且只能包含大小写字母、中文、数字或字符
._-
,最大支持60个字符。子目录
如果您需要通过云存储网关将Bucket下的某个子目录作为文件系统挂载至ECS实例中使用,请选中Bucket名称右侧的子目录选项,然后填写子目录名称。
协议
选择文件网关使用的协议类型。
NFS:适用于Linux系统。
SMB:适用于Windows系统。
共享名称
设置Bucket挂载后的网络共享名称。
只能以大小写字母开头,且只能包含大小写字母、数字或字符
._-
。最大支持32个字符。用户映射
设置NFS客户端访问挂载文件夹时使用的用户身份。仅当协议类型为NFS时配置。
none:所有用户都以自己登录NFS客户端的身份访问挂载文件夹。
root_squash:root用户以匿名用户身份nfsnobody访问挂载文件夹。
all_squash和all_anonymous:所有用户都以匿名用户身份nfsnobody访问挂载文件夹。
OSS通过云存储网关挂载到ECS实例后,所有用户对OSS文件都有可读、可写、可执行的权限,您可以根据以下需求设置用户映射:
如果您需要进行权限管理,先将用户映射设置为none,然后使用root用户进行权限管理。具体步骤,请参见设置文件访问权限。
如果您无需进行权限管理,可选择任意映射方式。
反向同步
反向同步会从云上OSS Bucket同步元数据到网关的缓存盘,以保证云上和网关缓存的一致性。
如果您选择反向同步,还需要设置反向同步时间间隔。
重要反向同步时间间隔最大为36000秒,最小为15秒。使用反向同步时,性能会有一定的损耗,不建议设置反向同步时间间隔小于300秒。
反向同步功能会扫描Bucket中所有文件,并产生一定的API请求费用。计费详情,请参见请求费用。
缓存盘规格
包括高效云盘、SSD云盘以及ESSD云盘(PL1)三种。不同地域支持的缓存盘规格可能存在差异,请根据实际情况以及业务场景进行选择。
缓存盘容量
设置数据缓存的容量大小,单位为GB,取值范围为[100, 32768]。
云存储网关将使用指定大小的ECS存储空间缓存热数据,以保障数据访问的性能。
在付费信息面板,选中《云存储网关服务协议》,然后单击完成。
默认创建按量付费的云存储网关。创建完成后,您可以将云存储网关的计费方式转为包年包月,享受更高的折扣优惠。具体步骤,请参见按量付费转包年包月。
步骤二:挂载与访问Bucket
云存储网关购买完成后,您需要通过ECS实例挂载目标Bucket。以下步骤以NFS协议的云存储网关挂载Bucket为例,如果您需要使用SMB协议的云存储网关挂载Bucket,请参见访问SMB共享目录。
在Bucket管理页面,选择 。
在云存储网关的列表中,查看目标网关的服务器挂载点信息。
登录同地域Linux系统的ECS实例。
登录方式,请参见使用VNC登录实例。
使用NFS挂载命令挂载目标Bucket。
例如Bucket服务器挂载点为
172.16.0.2:/test
,本地文件夹名为mnt/nfs/
,则挂载命令为:mount.nfs 172.16.0.2:/test /mnt/nfs/
访问目标Bucket。
您可以使用以下命令通过挂载后的文件夹访问目标Bucket。示例如下:
列举Bucket根目录的文件,命令如下:
ls mnt/nfs/
将Bucket根目录下的example.txt文件下载到本地,命令如下:
cp mnt/nfs/example.txt example.txt
(可选)步骤三:设置文件访问权限
使用root身份登录NFS客户端。
设置文件访问权限。
以授予nfsnobody用户组(默认UID和GID为
429496****
)只读访问example.txt文件为例,步骤如下:将example.txt文件所属组修改为nfsnobody用户组,命令如下:
chgrp -R 429496**** example.txt
为nfsnobody用户组授予example.txt文件的只读权限,命令如下:
chmod 444 example.txt
可选:修改用户映射。
权限配置完成后,建议您将用户映射修改为root_squash、all_squash或all_anonymous,以限制root用户的权限。
登录。
单击网关列表,然后单击目标网关名称。
单击共享,然后在共享列表页面单击操作列的设置。
在NFS共享设置对话框,根据您的需求修改用户映射。
单击确定。
常见问题
通过云存储网关挂载OSS和使用ossfs有什么区别?
二者使用性能有差异,云存储网关挂载OSS时性能更好。ossfs工具的性能不适合高并发和大文件的上传下载处理,适合日常小文件的使用。关于ossfs的更多信息,请参见ossfs。
删除OSS Bucket是否会自动释放关联的云存储网关?
不会。如不再需要使用云存储网关,请前往云存储网关控制台及时删除,避免持续产生费用。