跳至正文

ECS挂载OSS

内容目录

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

ossfs挂载成功

配置开机自动挂载

以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

参考文章

  1. 【云存储】使用OSS快速搭建个人网盘教程(阿里云) https://blog.csdn.net/weixin_48701521/article/details/132026512

  2. 使用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

  3. ossfs挂载以及遇到的问题 https://blog.csdn.net/i289292951/article/details/114372033