s3fs挂载S3对象桶

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: s3fs(Simple Storage Service File System)是一个基于FUSE(Filesystem in Userspace)的文件系统,它允许将S3(Simple Storage Service)或其他兼容S3 API的对象存储服务挂载到本地文件系统中,从而能够像访问本地磁盘一样访问远程对象存储。以下是通过s3fs挂载OBS(Object Storage Service,对象存储服务,这里以华为云OBS为例)对象桶的基本步骤:### 一、环境准备1. **安装s3fs**: - 对于CentOS系统,可以使用yum安装s3fs-fuse: ```

s3fs(Simple Storage Service File System)是一个基于FUSE(Filesystem in Userspace)的文件系统,它允许将S3(Simple Storage Service)或其他兼容S3 API的对象存储服务挂载到本地文件系统中,从而能够像访问本地磁盘一样访问远程对象存储。以下是通过s3fs挂载OBS(Object Storage Service,对象存储服务,这里以华为云OBS为例)对象桶的基本步骤:

一、环境准备

  1. 安装s3fs

    • 对于CentOS系统,可以使用yum安装s3fs-fuse:
      sudo yum install epel-release
      sudo yum install s3fs-fuse
      
    • 对于Ubuntu系统,可以使用apt安装s3fs:
      sudo apt install s3fs
      
    • 注意:如果系统中没有s3fs-fuse包,可能需要从源代码编译安装,或者检查是否有更新的包名。
  2. 准备OBS凭证

    • 获取OBS的访问密钥ID(Access Key ID)和访问密钥密钥(Secret Access Key)。这些凭证通常可以在云服务的IAM(Identity and Access Management)或相关服务的管理界面中找到。
  3. 创建密码文件

    • 创建一个密码文件,用于存储OBS的访问凭证。文件内容格式为accessKeyId:secretAccessKey
    • 例如,创建文件/etc/passwd-s3fs,并添加凭证:
      echo "your_access_key_id:your_secret_access_key" > /etc/passwd-s3fs
      
    • 设置密码文件的权限,确保只有当前用户可以访问:
      sudo chmod 600 /etc/passwd-s3fs
      

二、挂载OBS对象桶

  1. 确定OBS的Endpoint

    • Endpoint是访问OBS对象桶的URL地址,可以在OBS服务的文档或管理界面中找到。
  2. 创建挂载点

    • 在本地文件系统中创建一个目录,作为OBS对象桶的挂载点。
    • 例如,创建目录/mnt/obs-bucket
      sudo mkdir -p /mnt/obs-bucket
      
  3. 挂载OBS对象桶

    • 使用s3fs命令挂载OBS对象桶到本地目录。
    • 命令格式如下(以华为云OBS为例):
      s3fs <OBS-bucket-name> /mnt/obs-bucket -o passwd_file=/etc/passwd-s3fs -o url=<OBS-endpoint> -o allow_other
      
    • 请将<OBS-bucket-name>替换为你的OBS对象桶名称,<OBS-endpoint>替换为OBS服务的Endpoint地址。
    • -o allow_other参数允许所有用户访问挂载点目录,但请注意,这可能会带来安全风险,请根据实际情况决定是否使用。

三、验证挂载

  • 使用df -h命令查看挂载情况,确认OBS对象桶已成功挂载到本地目录。
  • 使用lscd等命令在挂载点目录中操作文件,就像在本地文件系统中一样。

四、自动挂载

  • 为了在系统启动时自动挂载OBS对象桶,可以将挂载命令添加到/etc/fstab文件中。
  • 但请注意,由于s3fs是基于FUSE的文件系统,它可能不适合直接添加到/etc/fstab进行自动挂载,因为FUSE文件系统在启动过程中可能无法正确初始化。
  • 一种替代方案是使用系统启动脚本(如systemd服务或crontab的@reboot条目)来执行挂载命令。

注意事项

  • 确保OBS服务的网络访问权限设置正确,以便s3fs能够成功连接并访问对象桶。
  • 如果遇到挂载问题,请检查s3fs的日志文件(通常在/var/log/目录下),以获取更多错误信息。
  • 根据实际情况调整s3fs的挂载参数,以获得最佳的性能和安全性。
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
6月前
|
存储 缓存 安全
7.1.5 EXT2/EXT3/EXT4 文件的存取与日志式文件系统的功能
7.1.5 EXT2/EXT3/EXT4 文件的存取与日志式文件系统的功能
100 0
|
程序员 Linux 芯片
fat文件系统查找、删除、创建目录
fat文件系统查找、删除、创建目录
387 0
文件系统中,Path和Directory的区别
文件系统中,Path和Directory的区别
93 0
|
Linux 存储
深入解析ext2文件系统之mke2fs
上一遍博文的重点其实将ext2整体的组织框架,我们知道了ext2文件系统由块组组成,每个块组里面的组织形式。我们甚至直接把超级块和组描述符里面的内容,用十六进制形式展现了出来。这篇博文主要讲述如何mke2fs生成合适需要的ext2 文件系统,基本就是参数选择的问题。
1061 0
系统诊断小技巧(9):如何从Ext3或者Ext4文件系统推断分区位置
扩容失败或者系统重启后分区丢失,需要文件系统推定分区位置。我们这里给出一个自动化的工具
2268 0
|
Docker 容器 Linux
VM 磁盘挂载方式
SSD磁盘挂载pvcreate /dev/sdcvgcreate datavg /dev/sdclvcreate -l 100%VG -n datalv01 datavgmkfs.xfs /dev/mapper/datavg-datalv01 mkdir -p /Dockermount /dev/.
1953 0
|
存储 文件存储 安全