s3fs挂载S3对象桶

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 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,搭建一个在线教育视频课程分享网站。
相关文章
|
存储 Serverless
可以在函数计算FC中使用这些挂载目录来存储和访问你的文件和数据
可以在函数计算FC中使用这些挂载目录来存储和访问你的文件和数据
80 1
|
7月前
|
存储 Kubernetes 应用服务中间件
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
654 0
|
7月前
|
存储 缓存 安全
7.1.5 EXT2/EXT3/EXT4 文件的存取与日志式文件系统的功能
7.1.5 EXT2/EXT3/EXT4 文件的存取与日志式文件系统的功能
107 0
文件系统中,Path和Directory的区别
文件系统中,Path和Directory的区别
115 0
|
Ubuntu Linux C语言
解决 EXT4 使用无法挂载
现象 使用新版本的操作系统自带的文件系统格式化工具进行分区格式化以后,在较低的操作系统版本上会有提示,提示如下: [root@localhost ~]# mount -t ext4 /dev/sdb1 /root/test mount: 文件系统类型错误、选项错误、/dev/sdb1 上有坏超级块、 缺少代码页或助手程序,或其他错误 有些情况下在 syslog 中可以找到一些有用信息- 请尝试 dmesg | tail 这样的命令看看。
11619 2
系统诊断小技巧(9):如何从Ext3或者Ext4文件系统推断分区位置
扩容失败或者系统重启后分区丢失,需要文件系统推定分区位置。我们这里给出一个自动化的工具
2280 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/.
1964 0

热门文章

最新文章