使用 ossfs 挂载阿里云 OSS 至本地文件系统
概述
ossfs 能让您在 Linux 系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。
运行环境
ossfs 基于 fuse 用户态文件系统开发,只能运行在支持 fuse 的机器上。OSS 提供了 Ubuntu 和 CentOS 系统的安装包,如果需要在其它环境下运行,可以通过源码方式构建目标程序。
ossfs 支持在阿里云内网以及互联网环境下使用。在内网环境下时,建议使用内网访问域名,以提升访问速度和稳定性。
安装 ossfs
以 CentOS 8.X 为例, ossfs 依赖 fuse ,使用 yum 安装可以解决依赖问题
|
|
配置 ossfs
配置账号访问信息
将 Bucket 名称以及具有该 Bucket 访问权限的 AccessKey ID 和 AccessKey Secret 信息存放在 /etc/passwd-ossfs 文件中。文件的权限建议设置为640。
|
|
BucketName、yourAccessKeyId、yourAccessKeySecret 请按需替换为您实际的Bucket名称、AccessKey ID和AccessKey Secret,例如:
|
|
将Bucket挂载到指定目录
|
|
示例: 将杭州地域名称为 bucket-test 的 Bucket 挂载到 /tmp/ossfs 目录下的示例如下:
|
|
如果您不希望继续挂载此 Bucket,您可以将其卸载
|
|
高级配置
挂载指定文件目录
ossfs 除了可以把整个存储空间挂载到本地文件系统外,还可以通过设置前缀,把存储空间下的某个文件目录挂载到本地文件系统。命令格式如下:
|
|
通过这个方式挂载时,需要确保存储空间里存在 ${prefix}/
对象。您可以通过 ossutil
的 stat(查看Bucket和Object信息)命令查询该对象是否存在
示例:将位于杭州地域的存储空间 bucket-ossfs-test
下的 folder
目录挂载到 /tmp/ossfs-folder
下
|
|
开机自动挂载目录
通过 fstab 的方式自动挂载
在 /etc/fstab
中加入如下命令:
|
|
保存 /etc/fstab
文件。 执行 mount -a
命令,如果没有报错,则说明设置正常
通过 systemd 开机自动进行挂载
创建 /usr/lib/systemd/system/ossfs.service
和 /etc/sysconfig/ossfs
/usr/lib/systemd/system/ossfs.service
|
|
/etc/sysconfig/ossfs
|
|
注意:值需要替换为自己的当前的配置
启动并设置开机自动挂载
|
|
更新高级配置参考: https://help.aliyun.com/zh/oss/developer-reference/advanced-configurations