基于MinIO打造高可靠分布式“本地”文件系统

MinIO是一款高性能的对象存储服务,而S3协议是由亚马逊Web服务(AWS)制定的一种标准协议,用于云存储服务之间的数据交换。MinIO与S3协议的关系在于,MinIO实现了S3协议的接口,这意味着用户可以使用与AWS S3相同的API来与MinIO进行交互。因此,MinIO能够与支持S3协议的各种工具和应用程序兼容,为用户提供一个与AWS S3高度兼容的存储解决方案。
在这里插入图片描述
基于S3协议的对象存储服务具有以下优势:首先,它提供了高度可扩展的存储解决方案,能够容纳海量数据,并且易于水平扩展。其次,S3协议的对象存储支持restful API,便于应用集成。此外,它还具备高可用性和持久性,确保数据安全可靠。最后,基于S3协议的对象存储服务成本较低,用户只需按实际使用量付费,无需前期投资大量硬件设备。

在这里插入图片描述
Linux 安装步骤
Minio 下载文件安装
1、下载地址

wget https://dl.min.io/server/minio/release/linux-amd64/minio

2、修改文件执行权限

chmod +x minio

3、启动,随机端口启动

./minio server /data/miniodata
# 或者指定密码执行
MINIO_ACCESS_KEY=myminioadmin MINIO_SECRET_KEY=myminioadmin ./minio server /data/miniodata
# 指定密码,配置文件地址,数据存放地址启动
MINIO_ACCESS_KEY=myminioadmin MINIO_SECRET_KEY=myminioadmin ./minio server --config-dir /config/minio/config /data/miniodata

在这里插入图片描述
注意:以上启动方式端口是随机的,需要开放随机端口才可以访问

4、指定端口启动

控制台监听端口是动态生成的,可以通过–console-address ":port"指定静态端口

./minio server --console-address ":9000" /data/miniodata

5、防火墙查看

# 查看防火墙状态1
systemctl status firewalld 或者 systemctl status firewalld.service
# 查看防火墙状态2
firewall-cmd --state
# 开启/关闭/重启防火墙
systemctl start/stop/restart firewalld# firewall防火墙,查询端口是否开放
firewall-cmd --query-port=9000/tcp
# 开放9000端口
firewall-cmd --permanent --add-port=9000/tcp
# 移除端口
firewall-cmd --permanent --remove-port=9000/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 查看防火墙所有端口
firewall-cmd --zone=public --list-ports

6、后台启动,指定输出日志文件

nohup ./minio server /data/miniodata --config-dir /config/minio/config --console-address ":80" --address ":9000" > /data/miniodata/minio.log 2>&1 &

7、修改密码,执行完修改密码命令,在执行第6步

export MINIO_ACCESS_KEY=admin 
export MINIO_SECRET_KEY=admin123

补充说明

# 数据存放地址
/data/miniodata
# minio 配置放地址
--config-dir /config/minio/config
# 浏览器访问暴露端口
--console-address ":80"
# 内网访问地址端口
--address ":9000"
# 日志存放地址
/data/miniodata/minio.log

S3FS是一个开源的文件系统,它允许用户将Amazon S3(Simple Storage Service)存储桶挂载到本地文件系统中,使得用户可以像操作本地文件一样读写S3中的数据,无需改变现有的应用程序代码或工具。通过S3FS,用户能够在不牺牲S3的持久性和可用性的同时,享受到无缝的文件存储体验。

# 安装启用 EPEL 仓库
yum install epel-release -y
# 安装 s3fs
yum install s3fs-fuse -y
# 查看 s3fs 版本,确定是否成功安装
s3fs --version
cat > /etc/passwd-s3fs <<-'EOF'
root:12345678
EOF
chmod 600 /etc/passwd-s3fs
mkdir -p /mnt/volumes
s3fs volumes /mnt/volumes -o passwd_file=/etc/passwd-s3fs -o url=http://192.168.31.230:9000 -o use_path_request_style
[root@localhost s3fs-fuse]# cat > /etc/passwd-s3fs <<-'EOF'
> root:12345678
> EOF
[root@localhost s3fs-fuse]# chmod 600 /etc/passwd-s3fs
[root@localhost s3fs-fuse]# mkdir -p /mnt/volumes
[root@localhost s3fs-fuse]# s3fs volumes /mnt/volumes -o passwd_file=/etc/passwd-s3fs -o url=http://192.168.31.230:9000 -o use_path_request_style
[root@localhost s3fs-fuse]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 7.8G     0  7.8G    0% /dev
tmpfs                    7.8G     0  7.8G    0% /dev/shm
tmpfs                    7.8G   12M  7.8G    1% /run
tmpfs                    7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/mapper/centos-root   37G   20G   18G   53% /
/dev/sda1               1014M  152M  863M   15% /boot
overlay                   37G   20G   18G   53% /var/lib/docker/overlay2/fed98c3a97bc3e29e555d9fb1694fe2caf9b7a9da8ae12b5dd0c056a671ce7e5/merged
overlay                   37G   20G   18G   53% /var/lib/docker/overlay2/1fbde6ceca8835769d17ee70757842fce2fb74f2af5c0fea0dc3f5788915d305/merged
tmpfs                    1.6G     0  1.6G    0% /run/user/0
overlay                   37G   20G   18G   53% /var/lib/docker/overlay2/d5d5bfb9250d988dd0b65e7053acb7049a20dcea364508918a3d78f34485ed1b/merged
s3fs                      64P     0   64P    0% /mnt/volumes
[root@localhost s3fs-fuse]# cd /mnt/volumes/
[root@localhost volumes]# cat > index.html <<-'EOF'
> ABC
> EOF

卸载挂载目录

yum remove s3fs-fuse -y
umount /mnt/volumes
#强制卸载
umount /mnt/volumes

调试挂载信息,排查异常

# 在挂载命令后增加几个参数 -d -f -o f2 -o curldbg 即可
# -d:启用调试模式。该选项会输出更详细的调试信息,用于故障排除和调试目的。
# -f:以前台模式运行。通常,s3fs 在后台运行并将挂载的 S3 存储桶映射到本地目录。使用 -f 选项,s3fs 将在前台运行,并将输出信息打印到终端。
# -o f2:指定文件系统选项 "f2"。这个选项是 s3fs 的一个特殊选项,用于启用 FUSE 文件系统的第二代实现。它可用于提供更高的性能和可靠性。
# -o curldbg:启用 cURL 调试输出。cURL 是 s3fs 使用的底层工具之一,用于与 S3 存储桶进行通信。启用 -o curldbg 选项会输出关于 cURL 请求和响应的详细调试信息,用于诊断和分析与 S3 存储桶的通信问题。
s3fs s3-bucket /mnt/minio/s3-bucket -o passwd_file=/etc/passwd-s3fs -o url=http://192.168.198.144:9000 -o use_path_request_style -d -f -o f2 -o curldbg

在这里插入图片描述
开机启动自动挂载

# 编辑配置文件
vi /etc/fstab
# 查看配置文件
cat /etc/fstab

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/63333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0x0118消息 WM_SYSTIMER

0x0118消息就是WM_SYSTIMER 编辑框出现输入光标时,产生的消息. 0x0118 would be the undocumented WM_SYSTIMER, which appears to be used for caret blinks. 0x0118是一个undocument 消息&#xff0c; 微软没有记录。 但在一些库的源码中可以看到&#xff0c;比如ATL的库文…

电子应用设计方案-43:智能手机充电器系统方案设计

智能手机充电器系统方案设计 一、引言 随着智能手机的广泛应用&#xff0c;对充电器的性能、效率和安全性提出了更高的要求。本方案旨在设计一款高效、安全、兼容多种快充协议的智能手机充电器。 二、系统概述 1. 系统目标 - 提供快速、稳定、安全的充电功能。 - 兼容主流的智…

vue3项目最新eslint9+prettier+husky+stylelint+vscode配置

一、eslint9和prettier通用配置 安装必装插件 ESlint9.x pnpm add eslintlatest -DESlint配置 vue 规则 , typescript解析器 pnpm add eslint-plugin-vue typescript-eslint -DESlint配置 JavaScript 规则 pnpm add eslint/js -D配置所有全局变量 globals pnpm add globa…

【环境搭建】WordPress本地部署搭建及历史版本插件安装(windows系统)

&#x1f3d8;️个人主页&#xff1a; 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞&#x1f44d;收藏&#x1f497;支持一下哦 【环境搭建】WordPress本地部署搭建及历史版本插件安装&#xff08;windows系统&#xff09; WordPress搭建环境部署&#xff08;…

qt QTemporaryFile详解

1、概述 QTemporaryFile类是Qt框架中用于创建和管理临时文件的类。它提供了一个安全且便捷的方式来生成唯一的临时文件&#xff0c;这些文件通常用于存储临时数据&#xff0c;如缓存、草稿或中间结果。QTemporaryFile确保了临时文件的唯一性&#xff0c;避免了文件名冲突&…

Scala的模式匹配(7)

package hfdobject Test35 {case class Person(name:String)case class Student(name:String,className:String)//match case 能根据 类名和属性的信息&#xff0c;匹配到对应的类//注意&#xff1a;//1 匹配的时候&#xff0c;case class的属性个数要对上//2 数学名不需要一一…

3D 目标检测:从萌芽到前沿的技术演进之路

亲爱的小伙伴们&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你对深度学习的奥秘、JAVA 、PYTHON与SAP 的奇妙世界&#xff0c;亦或是读研论文的撰写攻略有所探寻&#x1f9d0;&#xff0c;那不妨给我一个小小的关注吧&#x1f970;。我会精心筹备&#xff0c;在…

Gitee配置以及如何将本地项目提交到远程仓库

文章目录 准备远程仓库配置注册新建仓库 配置git 生成ssh&#xff0c;输入以下命令&#xff0c;然后连敲三次回车键配置公钥本地代码上传 准备 1.本地下载git 2.注册远程仓库账号 远程仓库配置 注册 官网&#xff1a;https://gitee.com 完成注册 新建仓库 头像->设置-…

基于Java和Vue开发的漫画阅读软件漫画阅读小程序漫画APP

前景分析 受众广泛&#xff1a;漫画的受众群体广泛&#xff0c;不仅限于青少年&#xff0c;还涵盖了成年人等多个年龄层和社会阶层。漫画文化在全球范围内的影响力不断扩大&#xff0c;未来漫画软件创业可以考虑全球市场的拓展。 市场需求大&#xff1a;数字化阅读趋势下&…

2024.12.2——[极客大挑战 2019]Secret File 1

知识点&#xff1a;抓包 代码审计 filter伪协议 一、解题步骤 step 1 查看源代码中的信息 查看源代码发现一个php文件&#xff1a;[./Archive_room.php](http://72df1f22-85bf-47bb-b23a-efcaf88701d4.node5.buuoj.cn:81/Archive_room.php) 点进去后发现没什么用&#xff0c…

Pillow:强大的Python图像处理库

目录 一、引言 二、Pillow 库的安装 三、Pillow 库的基本概念 四、图像的读取和保存 五、图像的基本属性 六、图像的裁剪、缩放和旋转 七、图像的颜色调整 八、图像的滤镜效果 九、图像的合成和叠加 十、图像的绘制 十一、示例程序&#xff1a;制作图片水印 十二、…

FFmpeg 4.3 音视频-多路H265监控录放C++开发十九,ffmpeg复用

封装就是将 一个h264&#xff0c;和一个aac文件重新封装成一个mp4文件。 这里我们的h264 和 aac都是来源于另一个mp4文件&#xff0c;也就是说&#xff0c;我们会将 in.mp4文件解封装成一路videoavstream 和 一路 audioavstream&#xff0c;然后 将这两路的 avstream 合并成一…

距离与AoA辅助的三维测距算法,适用于自适应基站数量的情况。订阅专栏后可直接查看完整源代码

本MATLAB 代码实现了一个基于距离与到达角(AoA)的三维测距系统,主要用于在动态环境中估计目标物体的位置。提供本算法与仅侧角(AoA)的定位误差对比 文章目录 代码运行结果源代码代码功能概述主要步骤分析初始化部分AOA定位绘图部分输出部分代码的应用和意义总结代码运行结…

[241206] X-CMD 发布 v0.4.15:env 升级,mirror 支持华为/腾讯 npm 镜像,pb-wayland 剪贴板

目录 X-CMD 发布 v0.4.15&#x1f4c3;Changelog&#x1f4e6; env|pkg&#x1fa9e; mirror&#x1f4d1; pb&#x1f3a8; theme|starship|ohmyposh&#x1f916; chat&#x1f4dd; man✅ 升级指南 X-CMD 发布 v0.4.15 &#x1f4c3;Changelog &#x1f4e6; env|pkg 新增…

Python办公—DataMatrix二维条码制作

目录 专栏导读1、库的介绍2、库的安装3、核心代码4、完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专…

生成表格pdf格式

1. 添加依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>kernel</artifactId><version>7.2.5</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>layout…

Webpack Tree Shaking 技术原理及应用实战,优化代码,精简产物

前言 在前端开发中&#xff0c;优化代码体积和提升应用性能是至关重要的课题。Webpack 提供了多种优化手段来帮助开发者实现这一目标&#xff0c;Tree Shaking 就是其中一种非常重要的优化技术&#xff0c;它通过在编译阶段移除未被使用的代码模块&#xff0c;从而显著减小最终…

『RabbitMQ』 windows下 安装RabbitMQ 并在Python中使用测试

目录 1. 安装ERLANG2. 安装RabbitMQ3. 新建用户Python的测试代码 生产者和消费者总结欢迎关注 『RabbitMQ』 专栏,持续更新中 欢迎关注 『RabbitMQ』 专栏,持续更新中 1. 安装ERLANG 下载之前先看兼容性,这里我打算下载26.1版本的Erlang以适配RabbitMQ cloud.emqx.com/cons…

SwiftUI 列表(或 Form)子项中的 Picker 引起导航无法跳转的原因及解决

概述 在 SwiftUI 的界面布局中&#xff0c;列表&#xff08;List&#xff09;和 Form 是我们秃头码农们司空见惯的选择。不过大家是否知道&#xff1a;如果将 Picker 之类的视图嵌入到列表或 Form 的子项中会导致导航操作无法被触发。 从上图可以看到&#xff1a;当在 List 的…

Ubuntu Linux 文件、目录权限问题

本文为Ubuntu Linux操作系统- 第五弹 此文是在上期文件目录的内容操作基础上接着讲权限问题 上期回顾&#xff1a;Ubuntu Linux 目录和文件的内容操作 文件访问者身份与文件访问权限 Linux文件结构 所有者&#xff08;属主&#xff09;所属组&#xff08;属组&#xff09;其他…