ECS搭载OSS
本文主要介绍云服务器ECS挂载OSS,可以较低廉的成本获取数据盘,后续具有可将挂载的OSS作为云盘使用等用途
ossfs概要
s3fs是一个用户空间文件系统(userspace filesystem),它允许您在Linux系统上将Amazon S3存储桶挂载为本地文件系统。ossfs基于s3fs构建,具有s3fs的全部功能
ossfs安装
执行以下命令下载ossfs安装包
wget https://gosspublic.alicdn.com/ossfs/ossfs_1.91.1_centos7.0_x86_64.rpm
若需更新rpm源,可尝试以下命令,删除系统旧rpm源并获取新源
rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
执行以下命令清楚包并生成缓存
yum clean all
yum makecache
安装ossfs
yum install ossfs_1.91.1_centos7.0_x86_64.rpm
ossfs配置
挂载配置
sudo sh -c 'echo <BucketName>:<yourAccessKeyId>:<yourAccessKeySecret> > /etc/passwd-ossfs'
### root 用户可使用以下命令:###
# echo <BucketName>:<yourAccessKeyId>:<yourAccessKeySecret> > /etc/passwd-ossfs
sudo chmod 640 /etc/passwd-ossfs
可前往任意目录,创建挂载点
建议选择/mnt/下创建,/mnt一般用于临时挂载其他文件系统或设备
mkdir /mnt/oss
ossfs <BucketName> <mountfolder> -o url=<Endpoint>
例如:
ossfs williamsclouddrive /mnt/oss -o url=http://oss-cn-shanghai-internal.aliyuncs.com -o allow_other
-
-o allow_other 选项为允许其他用户访问
- 当不开启此项时,后续其他用户将不具有访问权限,当创建其他用户需要访问oss挂载点时请注意,可通过卸载挂载点再重新挂载方式更改该选项
-
如果使用从阿里云购买的云服务器ECS来提供ossfs服务,可以使用内网域名,以使得ECS实例通过内网访问oss从而节省流量
- 需要注意,使用内网Endpoint要求ECS实例必须和即将挂载的Bucket处于同一地域,否则需要其它同一地域的ECS示例或Bucket
可能报以下错,
ossfs: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
缺少必要文件,查询后可通过以下方式下载安装
wget http://rpmfind.net/linux/centos/8-stream/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
yum install compat-openssl10-1.0.2o-3.el8.x86_64.rpm
df命令用于显示文件系统的磁盘空间使用情况,可通过该命令查看是否挂载成功,若成功,列表中将显示挂载的目录。
df -h

配置开机自动挂载
以ECS开机启动脚本的方式实现开机自动挂载oss
vim /etc/init.d/ossfs
编辑内容如下,需更改末尾的个人信息
#! /bin/bash
#
# ossfs Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.
ossfs williamsclouddrive /mnt/oss -o url=http://oss-cn-shanghai-internal.aliyuncs.com -o allow_other
为新建立脚本赋予可执行权限
chmod a+x /etc/init.d/ossfs
通过以下命令,设置ossfs启动脚本开机自动启动
chkconfig ossfs on
卸载挂载
sudo fusermount -u /mnt/oss
umount -u /mnt/oss
参考文章
-
【云存储】使用OSS快速搭建个人网盘教程(阿里云) https://blog.csdn.net/weixin_48701521/article/details/132026512
-
使用ossfs将OSS Bucket挂载到Linux系统的本地目录 https://help.aliyun.com/zh/oss/developer-reference/use-ossfs-to-mount-an-oss-bucket-to-the-local-directories-of-an-ecs-instance
-
ossfs挂载以及遇到的问题 https://blog.csdn.net/i289292951/article/details/114372033