当前位置: 首页 > 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.mrgr.cn/news/97862.html

相关文章:

  • C/C++共有的类型转换与c++特有的四种强制类型转换
  • 【Pandas】pandas DataFrame head
  • 探索原生JS的力量:自定义实现类似于React的useState功能
  • pig 权限管理开源项目学习
  • C++项目:高并发内存池_下
  • C++初阶-C++的讲解1
  • 【NLP 面经 9、逐层分解Transformer】
  • vue 入门:组件事件
  • 【图书管理系统】全栈开发图书管理系统获取图书列表接口(后端:计算图书页数、查询当前页展示的书籍)
  • 【大模型理论篇】SWIFT: 可扩展轻量级的大模型微调基础设施
  • 10:00开始面试,10:08就出来了,问的问题有点变态。。。
  • 前端面试宝典---数据类型
  • 如何在Linux系统上通过命令调用本地AI大模型?
  • Vue3+Vite+TypeScript+Element Plus开发-09.登录成功跳转主页
  • 【NLP 面经 9.逐层分解Transformer】
  • 【大模型理论篇】关于生成式模型中联合分布概率学习必要性以及GPT是生成式模型的讨论
  • 强化学习算法系列(一):动态规划方法——策略迭代算法(PI)与值迭代算法(VI)
  • 监测fastapi服务并自动拉起(不依靠dockerfile)
  • React 条件渲染
  • BOTA六维力矩传感器如何打通机器人AI力控操作的三层架构?感知-决策-执行全链路揭秘