当前位置: 首页 > news >正文

minio提供nfs服务

minio提供nfs服务

    • 挂载minio为本地目录
    • 开机自动挂载
      • 使用supervisor实现开机自动挂载
      • 服务单元实现开机自动挂载minio为本地目录---失败
    • 调试

挂载minio为本地目录

使用 Minio 作为后端存储,并通过 NFS 为客户端提供访问,那么你需要一个中间层来将 Minio 的对象存储转换为 NFS 共享.

中间层安装s3fs,挂载minio对象存储
https://code.google.com/archive/p/s3fs/issues/127
然后共享为nfs服务
https://www.cnblogs.com/technicianafei/p/17387166.html

# 安装epel源
yum install -y epel-release 

# Cneots7安装s3fs
yum install s3fs-fuse -y

在这里插入图片描述

# 创建挂载点
mkdir /minio-nfs

在这里插入图片描述

# 创建minio密码文件
echo "<账号>:<密码>" > ${HOME}/.passwd-s3fs
# 或AK
echo "<ACCESS_KEY_ID>:<SECRET_ACCESS_KEY>" > ${HOME}/.passwd-s3fs

# 设置minio密码文件权限为600
chmod 600  ${HOME}/.passwd-s3fs

在这里插入图片描述

# 挂载minio对象存储为本地目录
## 存储桶名称为:one
## 挂载点路径为:/mnt/minio
## -o passwd_file 指定密码文件
## -o url minio服务url及api端口为:http://192.168.222.123:9000
## -o allow_other:允许其他Linux用户访问挂载点
## -o no_check_certificate:不检查证书
## -o use_path_request_style:启用不支持的类s3 api的兼容性(必须配置,否则挂载minio存储桶失败)
## -o umask=000:挂载目录的权限,000表现不限制任何权限
## -o dbglevel=info 日志级别info
## -o curldbg:运行时显示更多curl输出,挂载成功后会占用当前shell前端
## -f 前台运行,调试时使用
s3fs <myBucketName> <挂载点> -o passwd_file=/root/.passwd-s3fs -o url=http://192.168.222.123:9000 -o allow_other -o no_check_certificate -o use_path_request_style -o umask=000 -o dbglevel=info -o curldbg -f

# 后台运行,去掉-f
s3fs one /minio-nfs -o passwd_file=~/.passwd-s3fs -o url=http://192.168.50.130:9000 -o allow_other -o no_check_certificate -o use_path_request_style -o umask=000 -o dbglevel=info -o curldbg

在这里插入图片描述

# 取消挂载
umount <mino挂载点>

开机自动挂载


使用supervisor实现开机自动挂载

配置内容如下:

# cat /etc/supervisord.d/app.ini

[supervusird]
# 禁止后台运行
nodaemon=true
# 程序的名称
[program:s3fs-minio]
# 执行的命令
command=/usr/bin/s3fs one /minio-nfs -o passwd_file=/root/.passwd-s3fs -o url=http://192.168.50.130:9000 -o allow_other -o no_check_certificate -o use_path_request_style -o umask=000 -o dbglevel=info -o curldbg -f

在这里插入图片描述

# 查看挂载清空
df -Th

在这里插入图片描述


服务单元实现开机自动挂载minio为本地目录—失败

  • 创建s3fs挂载minio的变量文件
# 创建配置目录
mkdir -p /etc/s3fs

# 创建变量文件
vim /etc/s3fs/minio.env

变量文件内容如下:

# 要挂载的存储桶名称
myBucketName=one 
# 本地挂载点路径
Mount_Point="/minio-nfs"
# minio密码文件路径
PASSWD_FILE="/root/.passwd-s3fs"
# minio接口
MINIO_URL=http://192.168.50.130:9000
# 挂载参数--默认即可
S3FS_parameter="-o allow_other -o no_check_certificate -o use_path_request_style -o umask=000 -o dbglevel=info -o curldbg"
  • 创建s3fs挂载minio为本地目录的服务单元文件
# 编辑s3fs挂载minio为本地目录的服务单元文件
vim /etc/systemd/system

服务单元内容如下:

[Unit]
Description=Mount MinIO Bucket via s3fs
# 确保网络就绪
After=network-online.target  
Requires=network-online.target

[Service]
Type=simple
# 变量文件
EnvironmentFile=-/etc/s3fs/minio.env
# 创建挂载点目录(若不存在)
ExecStartPre=/bin/mkdir -p $Mount_Point
ExecStart=/usr/bin/s3fs $myBucketName $Mount_Point -o passwd_file=$PASSWD_FILE -o url=$MINIO_URL $S3FS_parameter
# 强制卸载挂载点
ExecStop=/usr/bin/fusermount -uz /minio-nfs
# 挂载失败时自动重试
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target
  • 重载服务,启动服务
# 重载服务
systemctl daemon-reload
# 设置开机自启并现在启动
systemctl enable --now s3fs-mount.service

# 查看服务状态
systemctl status s3fs-mount.service

调试

# 查看服务日志
journalctl -u s3fs-mount.service

# 手动调试(输出详细日志)‌
s3fs -d -d -f -o curldbg <bucket-name> /mnt/minio


http://www.dtcms.com/a/123384.html

相关文章:

  • 全新突破 | 更全面 · 更安全 · 更灵活
  • 神经网络语言模型与统计语言模型的比较
  • Selenium中`driver.get(htmlfile)`方法可能出现的超时问题
  • 分布式id生成算法(雪花算法 VS 步长id生成)
  • Python Cookbook-5.12 检查序列的成员
  • DAY06:【pytorch】图像增强
  • day29-贪心__134. 加油站__135. 分发糖果__860.柠檬水找零__406.根据身高重建队列
  • 三分钟学会使用java RandomAccessFile随机读写IO
  • 数字内容体验的技术支持包含什么?
  • 公司内部建立apt源
  • Animated Movement Color
  • 【书籍】DeepSeek谈《持续交付2.0》
  • 第5篇:Linux程序访问控制FPGA端LEDR<三>
  • 如何用 nvm alias default 18.20.8 实现全局 Node.js 版本管理?一篇保姆级指南!!!
  • 深入解析回环检测:从原理到C++实战
  • 批量清空图片的相机参数、地理位置等敏感元数据
  • 电商素材革命:影刀RPA魔法指令3.0驱动批量去水印,实现秒级素材净化
  • 【C++】右值引用、移动语义与完美转发
  • 【倍增】P10264 [GESP202403 八级] 接竹竿|普及+
  • java继承练习
  • 走多远(拓扑排序,dp)
  • ChatRoom测试报告
  • 手眼标定-眼在手上
  • 安卓设备配置PAC代理服务器的完整指南:实现智能分流与开发加速
  • OfficePlus去掉PDF文件右键菜单里的PDF转换
  • Java Map和Set集合应用
  • docker安装nginx,基础命令,目录结构,配置文件结构
  • 0410 | 软考高项笔记:项目管理概述
  • jQuery多库共存
  • 甘特图和里程碑趋势图在项目监控中有哪些实际应用?