专业的编程技术博客社区

网站首页 > 博客文章 正文

如何使用s3fs-fuse挂载minio存储桶到本地

baijin 2024-09-27 06:49:49 博客文章 9 ℃ 0 评论

概述

如何把minio上的桶像使用本地硬盘一样,挂载在本地机器上。以下场景会用到:

  • 本地服务器数据需要存储在minio上,不存储在本地。
  • 集群服务之间共享数据。如k8s集群微服务需要用到共享目录数据(非常实用)
  • 本地服务器空间有限无法再扩展,需要存储在minio上。

一、前提条件

  • minio服务已部署好。
  • 安装s3fs客户端。
  • 获取minio的AccessKey和SecretKey并创建桶名 。

二、过程

2.1 挂载设置

1、安装软件

sudo yum install epel-release
sudo yum install s3fs-fuse

2、设置认证

echo "hoolink:hoolink2019key" > /root/.passwd-s3fs && chmod 600 /root/.passwd-s3fs

3、手动挂载

用法:

Usage:
 mounting
 s3fs bucket[:/path] mountpoint [options]
 s3fs mountpoint [options(must specify bucket= option)]
 s3fs -o passwd_file=/root/.passwd-s3fs -o url=http://192.168.1.153:9000 -o allow_other -o nonempty -o no_check_certificate -o use_path_request_style -o umask=000 pic /pic

4、查看结果

df -TH
.....
.....
shm tmpfs 68M 0 68M 0% /var/lib/docker/containers/b41da7230f8deba11652a3a60581f7d72c217f00f919c7612030e46cfbbd1f34/mounts/shm
tmpfs tmpfs 1.7G 0 1.7G 0% /run/user/0
s3fs fuse.s3fs 282T 0 282T 0% /pic

5、设置开机挂载

# vim /etc/fstab
pic /pic fuse.s3fs _netdev,passwd_file=/root/.passwd-s3fs,url=http://192.168.1.153:9000,allow_other,nonempty,no_check_certificate,use_path_request_style,umask=000 0 0

2.2 卸载

umount mountpoint

2.3 s3fs参数说明

2.3.1 查看相关参数命令

s3fs --help
  • bucket:指定桶名
  • default_acl:默认private,取值有private, public-read。
  • retries:默认值为5,传输失败重试的次数。
  • use_cache:指定本地文件夹用作本地文件缓存。默认为空。
  • check_cache_dir_exist:如果设置了使用缓存,检查缓存目录是否存在。如果未指定此选项,当缓存目录不存在时,则将在运行时创建它。默认为禁用。
  • del_cache :在S3FS启动和退出时删除本地文件缓存。
  • storage_class:存储类(默认值为“标准”),可取值为: standard, standard_ia, onezone_ia and reduced_redundancy。
  • passwd_file:指定要使用的s3fs密码文件。
  • connect_timeout:连接超时,默认值为300秒。
  • readwrite_timeout:读写超时,默认值为60秒。
  • max_stat_cache_size:最大静态缓存大小,默认值为100000个条目(约40MB)。
  • stat_cache_expire :为stat缓存中的条目指定过期时间(秒)。此过期时间表示自stat缓存后的时间。
  • enable_noobj_cache:启用noobj_缓存(默认为禁用),为不存在的对象启用缓存条目。S3FS总是必须检查文件(或子目录)是否存在。在对象(路径)下,当s3fs执行某些命令时,s3fs识别不存在并具有文件的目录或子目录,你可以为性能指定这个选项。
  • no_check_certificate:不检查认证。
  • nodnscache:s3fs总是使用dns缓存,此选项使dns缓存禁用。
  • nosscache :s3fs总是使用ssl会话缓存,此选项使ssl会话缓存禁用。
  • multireq_max:列出对象的并行请求的最大数目。
  • parallel_count :上载大对象的并行请求数。
  • ensure_diskfree:-设置MB以确保磁盘可用空间。s3fs为下载、上传和缓存文件。如果磁盘空闲空间小于此值,s3fs不使用磁盘空间。
  • url:设置用于对象存储的url。
  • endpoint :端点,默认值为“us-east-1”。
  • umask:为装入点目录设置umask。
  • use_path_request_style :使用路径请求样式(使用传统API调用样式),兼容支持与不支持S3的类似api的虚拟主机请求样式。

三、小结

1、使用mino的桶挂载到服务器作为本地存储,非常实用。

2、是集群之间数据资源共享一个不错的解决方案。


如果觉得此文对你有所帮助,请帮忙转发+关注+点赞~

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表