在linux系统云电脑上使用s3fs挂载华为云对象存储OBS做网盘使用

一、linux下载相关依赖包
yum install fuse
sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

需要保证linux上fuse版本>= 2.8.4,部分过老操作系统可能不满足这个约束,需要自行适配。

二、下载s3fs

支持通过以下两种方式下载s3fs。

方式一:镜像源安装。(linux安装)

Ubuntu
sudo apt install s3fs

方式二:编译安装s3fs,使用方式一安装s3fs请跳过该步骤。

进入s3fs-fuse解压目录,按照以下命令执行编译操作:

./autogen.sh
./configure
make
sudo make install

执行以下命令检查安装情况。
s3fs --version
当命令回显出现s3fs版本信息时,表示s3fs能够成功运行。

三、配置s3fs

配置AK:SK:

echo "AK:SK" >>/home/developer/.passwd-s3fs
chmod 600 /home/developer/.passwd-s3fs
四、挂载s3fs

按照以下格式执行挂载命令:
s3fs 对象桶名 本地挂载目录 -o passwd_file=密钥文件路径 -o url=区域终端节点地址 -o nonempty -o big_writes -o max_write=131072 其他挂载参数
例如:

s3fs bucket name /home/developer/obs/ -o passwd_file=/home/developer/.passwd-s3fs -o url=https://obs.cn-south-1.myhuaweicloud.com -o nonempty -o big_writes -o max_write=131072
配置开机自动挂载
vi /usr/local/bin/mount-s3.sh

准备启动脚本

#!/bin/bash

# 定义变量

BUCKET_NAME="yyy1"
MOUNT_POINT="/data"
PASSWD_FILE="/home/ubuntu/.passwd-s3fs"
REGION="cn-northwest-1"
URL="http://s3.cn-northwest-1.amazonaws.com.cn"

# 检查挂载点是否存在,不存在则创建

if [ ! -d "$MOUNT_POINT" ]; then
    mkdir -p "$MOUNT_POINT"
fi

# 尝试挂载S3存储桶

s3fs "$BUCKET_NAME" "$MOUNT_POINT" -o passwd_file="$PASSWD_FILE" -o url="$URL" -o allow_other -o endpoint="$REGION"

# 检查挂载是否成功

if mount | grep -q "s3fs on $MOUNT_POINT"; then
    echo "S3 bucket $BUCKET_NAME mounted successfully on $MOUNT_POINT"
else
    echo "Failed to mount S3 bucket $BUCKET_NAME on $MOUNT_POINT"
    exit 1
fi

加权限

sudo chmod +x /usr/local/bin/mount-s3.sh

准备启动服务

vi /etc/systemd/system/mount-s3.service
[Unit]
Description=Mount S3 bucket on /data
After=network.target
Requires=network.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/mount-s3.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

设置开机自启动

sudo systemctl enable mount-s3.service

sudo systemctl start mount-s3.service

重启OS,验证

image-20251022172348297

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐