警告----实验部分失败

  • Centos7实验成功
    在这里插入图片描述

  • RHEL8实验成功
    在这里插入图片描述

  • Rocky9实验失败

MinFS代码库已经只读,且找不到更多的文档支持排错, 请谨慎使用此方案.
在这里插入图片描述
Rocky9可能的解决办法

# 查看swap
systemctl --type swap
# 禁用swap
systemctl mask swap

在这里插入图片描述

后续如果找到解决方案,我会更新此文档.


MinFS与S3FS性能对比

  • MinFS性能是s3fs5倍

MinFS是由MinIO公司开发的,开发时间可以追溯到2017年。

MinFS在小文件写入性能方面表现优异,能够高效地处理大量小文件的并发写入操作,其平均写入速度是s3fs的五倍。

此外,minfs还支持高并发读写,能够充分利用本地磁盘带宽,减少数据传输延迟。

如何使用MinFS挂载MinIO? – cmdSchool


MinFS简介

参阅文档:

MinFS项目地址: https://github.com/minio/minfs/

docker的minfs
—————-
https://hub.docker.com/r/sys3/dvp-minfs
https://hub.docker.com/r/sys3/dvp-minfs/tags

minfs的docker部署
——————
https://firepress.org/en/the-complete-guide-to-attach-a-docker-volume-with-minio-on-your-docker-swarm-cluster/


MinFS的介绍

  • MinFS是适用于Amazon S3兼容对象存储服务器的fuse(保险丝或称熔断器)驱动程序
  • MinFS支持最少的配置把现代对象存储转为普通文件系统

MinFS的功能

  • MinFS支持挂载远程存储桶(来自与S3兼容的对象存储)
  • MinFS挂载远程存储桶后可像使用本地目录读取或写入

MinFS的工作原理

  • MinFS使用BoltDB缓存和保存元数据、文件列表、权限、所有者等

MinFS的架构


POSIX兼容性

  • MinFS不是严格符合POSIX标准的文件系统
  • MinFS为需要访问对象存储但不期望严格POSIX兼容的应用程序构建

不适合MinFS的应用程序范例

  • MinFS运行数据库,如Postgres、MySQL等
  • MinFS运行虚拟机,例如Qemu、KVM
  • 运行依赖于POSIX锁、扩展属性操作等丰富的POSIX应用程序

适用于MinFS的应用程序范例

  • Nginx、Apache Web服务器的静态Web内容提供
  • 用于无法使用S3协议的旧备份工具存储

准备MinIO存储服务端

https://blog.csdn.net/omaidb/article/details/143053662


配置MinFS存储客户端

# 安装fuse依赖
yum install fuse -y

# 下载MinFS安装包
wget https://github.com/minio/minfs/releases/download/v1.0.0/minfs_1.0.0_linux_amd64.rpm

# 安装MinFS软件包
yum install -y minfs_1.0.0_linux_amd64.rpm

修改fuse.conf配置

vim /etc/fuse.conf

取消注释

# 取消注释
user_allow_other


配置MinFS认证文件

# 创建minfs配置目录
mkdir -p /etc/minfs

# 编辑MinFS认证文件
vim /etc/minfs/config.json

配置内容如下:

{
    "version": "1",
    "accessKey": "miniouser",
    "secretKey": "miniouserpwd"
}

手动挂载MinFS测试

# 创建挂载点
mkdir /minfs

# 使用 mount 命令挂载一个名为 minfs 的文件系统
# -t minfs: 指定文件系统类型为 minfs
# -o defaults,cache=/tmp/mybucket: 设置挂载选项,默认选项加上缓存路径为 /tmp/mybucket
# https://minio.cmdschool.org:9000/mybucket: 指定远程存储的 URL(此处的 URL 状态为失败,可能是网络问题或链接本身的问题)
# /minfs: 指定挂载点为本地的 /minfs 目录
mount -t minfs -o defaults,cache=/tmp/mybucket https://192.168.50.141:9000/mybucket /minfs

1.3.4 配置MinFS存储持久化挂载

# 配置持久挂载
vim /etc/fstab

配置内容如下:

# minio远端地址/存储通名称 挂载点名称 文件系统
## _netdev 网络就绪后挂载
http://192.168.50.141:9000/mybucket /minfs minfs defaults,_netdev,cache=/tmp/mybucket 0 0
minio服务器地址/存储桶名称 本地挂载点 文件系统 挂载权限 dump 文件系统检查
http://192.168.50.141:9000/mybucket /minfs minfs defaults,_netdev,cache=/tmp/mybucket 0 0
# 挂载/etc/fstab配置
mount -a

测试MinFS挂载

cp /etc/redhat-release /minfs

如果有安装mc的客户端,我们可以使用命令验证,

mc ls minio/mybucket/

可见如下显示,

[2022-06-09 23:26:52 EDT]    38B STANDARD redhat-release

错误排查

# 查看minfs的错误
systemctl status minfs.mount -l

journalctl -u minfs.mount

挂载budeg

mount -t minfs <device_spec> /minfs -o <options>,debug
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐