挂载对象存储OSS到Linux系统
更新时间: 2023-06-01
挂载步骤
安装依赖软件:FUSE
执行以下命令安装依赖软件:
BC-Linux, CentOS:
sudo yum install -y fuse
Ubuntu:
sudo apt install -y fuse
配置OSS连接信息
创建用于配置OSS连接信息的文本文件,模板如下:
[OSS]
type = s3
provider = inspur
access_key_id = XXXXXXXX
secret_access_key = XXXXXXXXXXXXXXXX
endpoint = XXXXXXXX.inspurcloudoss.com
location_constraint = XXXXXXXX
acl = private
挂载OSS
sudo mkdir -p /test/oss
sudo rclone mount OSS:sampletest /test/oss --daemon --allow-other --config /oss/rclone/oss.conf --cache-dir /tmp/rclone --vfs-cache-mode writes
其中:
- /test/oss:挂载到本地的文件夹路径,该文件夹必须存在,并且必须为空;
- OSS:用户自定义的名称;
- sampletest:需要挂载的桶名;
- 挂载命令的参数,详细说明请参考附录-挂载命令常用参数说明。
挂载成功后,即可浏览桶中的文件,并且可以进行上传、下载和新建等常用操作。
注意事项:
- 每个桶都需要单独挂载,全局资源池不支持此模式;
- 若对存储桶对应的文件夹进行删除操作,无论存储桶是否存在文件,桶都将会被删除,请谨慎操作。
- 若对存储桶对应的文件夹进行改名操作,会导致OSS存储桶名称发生改变,并且桶的设置会丢失,请谨慎操作。
- 如果挂载操作是以后台进程的方式执行(–daemon),可通过以下命令结束挂载:
sudo fusermount -u /test/oss
设置开机自启动挂载硬盘
由于如上操作在电脑重启后,映射的磁盘将会消失,需要再次手工操作。因此,我们可以设置自启动装置,让服务器每次重启后都自动挂载磁盘。 在目录"/etc/systemd/system/"下创建挂载配置文件(test-oss.mount),模板如下:
[Unit]
After=network-online.target
[Mount]
Type=rclone
What=OSS:sampletest
Where=/test/oss
Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/oss/rclone/oss.conf,cache-dir=/tmp/rclone
备注:
- What:需要挂载的OSS配置别名和桶名;
- Where:挂载路径,并且文件名test-oss.mount必须和挂载路径匹配(路径中的"/"替换成"-");
在目录"/etc/systemd/system/"下创建挂载自动配置文件(test-oss.automount),模板如下:
[Unit] After=network-online.target Before=remote-fs.target [Automount] Where=/test/oss TimeoutIdleSec=600 [Install] WantedBy=multi-user.target
- 自动挂载配置的文件名必须和挂载配置的文件名相同。
开启自动挂载
执行命令:
sudo ln -s /usr/bin/rclone /sbin/mount.rclone
sudo mkdir -p /test/oss
sudo systemctl --now enable test-oss.automount
查看挂载状态
执行命令:
systemctl status test-oss.automount
附录
常用参数
参数 | 说明 |
---|---|
-n = --dry-run | 测试运行,查看Rclon在实际运行中会进行哪些操作 |
-P = --progress | 显示实时传输进度,500mS刷新一次,否则默认1分钟刷新一次 |
--cache-chunk-size 5M | 块的大小,默认5M越大上传越快,占用内存越多,太大可能会导致进程中断 |
--onedrive-chunk-size 100M | 提高OneDrive上传速度适用于G口宽带服务器(默认为320KB) |
--drive-chunk-size 64M | 提高Google Drive上传速度适用于G口宽带服务器(默认为8M) |
--cache-chunk-total-size SizeSuffix | 块可以在本地磁盘上占用的总大小,默认10G |
--transfers=N | 并行文件数,默认为4 |
--config string | 指定配置文件路径,string为配置文件路径 |
--ignore-errors | 跳过错误 |
--size-only | 根据文件大小校验,不校验hash |
--drive-server-side-across-configs | 服务端对服务端传输 |
--no-modtime | 不读取/写入文件的修改时间,建议打开此选项,以提高网关性能; |