Cenos7 搭建Minio最新版集群部署服务器(一)

news2024/11/27 16:47:36

                                                  ------>    道 | 法 | 术 | 器 | 势    <------


 

                         

多台服务器间免密登录|免密拷贝

Cenos7 搭建Minio集群部署服务器(一)

Cenos7 搭建Minio集群Nginx统一访问入口|反向动态代理(二) 

Spring Boot 与Minio整合实现文件上传与下载(三) 


附录查看安装的Minio版本:

[root@www minio_data]# ./minio -v
minio version RELEASE.2023-08-09T23-30-22Z (commit-id=eb55034dfe5ef82449796c83e3126b245c5aee05)
Runtime: go1.19.12 linux/amd64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2023 MinIO, Inc.
[root@www minio_data]# ./minio -version
minio version RELEASE.2023-08-09T23-30-22Z (commit-id=eb55034dfe5ef82449796c83e3126b245c5aee05)
Runtime: go1.19.12 linux/amd64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2023 MinIO, Inc.
 



企业级开源对象存储(看看官网吹的牛B)

开源为云提供动力。开源为企业提供动力。开源为 MinIO 提供支持。每天都有成千上万的客户和社区成员信任 MinIO 在其部署中提供安全性、弹性、持久性和卓越运营。

主动,主动复制

对象存储的主动、多站点复制是任务关键型生产环境的关键要求。MinIO是目前唯一提供它的供应商。MinIO 提供存储桶级粒度,并支持同步和近同步复制,具体取决于架构选择和数据变化率。

            

加密

在对象存储领域,需要强大的加密才能在谈判桌上占有一席之地。MinIO 通过最高级别的加密以及广泛的优化提供更多功能,几乎消除了通常与存储加密操作相关的开销。

            


自动化数据管理界面

数据是企业最关键的资产,因此必须在整个组织中轻松安全地使用,以便为每个人实现最大价值。因此,企业必须根据受众的需求采用一系列数据接口方法。MinIO提供了一套选项来涵盖数据驱动型企业中的每个角色,例如图形用户界面(GUI),命令行界面(CLI)和应用程序编程接口(API)。MinIO 的数据管理接口可互换运行,以提供精细、高性能和可扩展的对象存储管理。

            


存储桶和对象不变性

保护数据不被删除(意外或故意)是涉及每个行业的关键合规性组件。MinIO 支持完整的功能范围,包括对象锁定、保留、法律保留、治理和合规性。MinIO 的存储桶和对象不变性已通过Veeam 认证和验证。

              


数据生命周期管理和分层

随着数据的持续增长,针对访问、安全性和经济性进行共同优化的能力成为一项硬性要求,而不是可有可无。这就是生命周期数据管理的作用。MinIO 提供了一套独特的功能来保护云内部和跨云的数据 - 包括公共云和私有云。

MinIO的企业数据生命周期管理工具,包括版本控制、对象锁定和各种衍生组件,满足多种用例。

             


可扩展性

缩放是一个维度概念,但它有一个真理:简单缩放。MinIO 通过称为服务器池的概念进行水平扩展(横向扩展)。服务器池是一种结合了多个技术组件的方法。每个服务器池都是一组独立的节点,具有自己的计算、网络和存储资源。

                    


准备集群环境:  准备四台机器 minio集群最少四台

      IP地址   主机名称      minio数据存储目录          minio挂载目录 | 控制台端口
192.168.1.100   docker0      /data/minio_data        /dev/sda2 | 控制台端口:33806
192.168.1.101   docker1      /data/minio_data        /dev/sda2 | 控制台端口:33807
192.168.1.102   docker2      /data/minio_data        /dev/sda2 | 控制台端口:33808
192.168.1.103   docker3      /data/minio_data        /dev/sda2 | 控制台端口:33809

一: 设置主机名称

 vi /etc/hosts

192.168.1.100  docker0
192.168.1.101  docker1
192.168.1.102  docker2
192.168.1.103  docker3

cat /etc/hosts

 二:分别免密拷贝hosts文件到其他三台机器

scp -pr hosts 192.168.1.101:/etc/

scp -pr hosts 192.168.1.102:/etc/

scp -pr hosts 192.168.1.103:/etc/

免密登录 192.168.1.101 节点看看是否拷贝成功:

[root@www etc]# ssh 192.168.1.101

 三: 创建挂载磁盘路径

mkdir -p /data/minio_data

挂载磁盘路径到文件系统
  注意:需要将新建的目录挂在到对应的磁盘下,磁盘不挂载好,集群启动会报错,还需要注意的是挂载的文件系统至少要1G不然无法初始化导致集群报错;

文件系统 容量 已用 可用 已用% 挂载点

[root@www minio_data]# df -h


四:将上面挂载磁盘路径挂载到相应的文件系统上 

[root@www minio_data]# mount /dev/sda2  /data/minio_data/

查看挂载信息

   [root@www minio_data]# lsblk


 五:下载minio安装包

    服务器端安装:

[root@www minio_data]# wget https://dl.min.io/server/minio/release/linux-amd64/minio
-bash: wget: 未找到命令
[root@www minio_data]# yum install wget


     客户端安装:

[root@www minio_data]# wget https://dl.min.io/client/mc/release/linux-amd64/mc

分别在minio_data目录下创建两个数据目录data0,data1

[root@www minio_data]# mkdir -p /data/minio_data/{data0,data1}

再次确认挂载目录是不是: /data/minio_data 


查看磁盘分区情况

[root@www minio_data]# fdisk -l

磁盘 /dev/sda:214.7 GB, 214748364800 字节,419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000da74f

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648   304754687   152171520   83  Linux
/dev/sda3       304754688   409612287    52428800   83  Linux
/dev/sda4       409612288   419430399     4909056    5  Extended
/dev/sda5       409614336   419430399     4908032   82  Linux swap / Solaris


[root@www minio_data]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   12M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda3        50G  2.2G   48G    5% /
/dev/sda2       146G  152M  145G    1% /home
/dev/sda1       197M  124M   74M   63% /boot
vmhgfs-fuse     1.3T   61G  1.2T    5% /mnt/hgfs
tmpfs           378M     0  378M    0% /run/user/0


六,制作启动脚本

       内容如下:

[root@www default]# cat /etc/default/minio 

MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456

#数据挂载目录
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33806"是用来指定minio端口的
MINIO_OPTS="--console-address 192.168.1.100:33806 --address 192.168.1.100:9666"

[root@www run]# cat /usr/lib/systemd/system/minio.service
 

[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/data/minio_data/minio

[Service]
WorkingDirectory=/data/minio_data

User=root
Group=root

PermissionsStartOnly=true

EnvironmentFile=/etc/default/minio

ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\""

ExecStart=/data/minio_data/minio server $MINIO_OPTS $MINIO_VOLUMES

StandardOutput=journal
StandardError=inherit

# Specifies the maximum file descriptor number that can be opened by this process*
LimitNOFILE=65536

# Disable timeout logic and wait until process is stopped*
TimeoutStopSec=0

# SIGTERM signal is used to stop Minio*
KillSignal=SIGTERM

SendSIGKILL=no

SuccessExitStatus=0

[Install]
WantedBy=multi-user.target

 


其中,“WorkingDirectory”为启动脚本目录,“ExecStart”为指定集群启动脚本

将下载好的minio文件赋予权限

[root@www ~]# chmod +x /data/minio_data/minio
[root@www ~]# chmod +x /data/minio_data/mc
[root@www ~]# chmod +x /data/minio_data/data0
[root@www ~]# chmod +x /data/minio_data/data1
[root@www ~]# chmod +x /usr/lib/systemd/system/minio.service

cd /  

拷贝data目录及该目录下所有文件到其他三台机器上:

分别在其他三台机器上手动创建/data/minio_data/目录: mkdir -p /data/minio_data/,然后执行下面的命令进行拷贝

scp -r ./data/minio_data/*  docker1:/data/minio_data/

scp -r ./data/minio_data/*  docker2:/data/minio_data/

scp -r ./data/minio_data/*  docker3:/data/minio_data/

确认下是否已经拷贝过去:


分别在其他三台机器上执行挂载点,挂载点好像不能拷贝.....

mount /dev/sda2 /data/minio_data/


拷贝启动脚本到其他三台机器

scp /usr/lib/systemd/system/minio.service docker1:/usr/lib/systemd/system/minio.service

scp /usr/lib/systemd/system/minio.service docker2:/usr/lib/systemd/system/minio.service

scp /usr/lib/systemd/system/minio.service docker3:/usr/lib/systemd/system/minio.service

scp /etc/default/minio docker1:/etc/default/minio

scp /etc/default/minio docker2:/etc/default/minio

scp /etc/default/minio docker3:/etc/default/minio

分别修改 docker1, docker2,docker3  主机上的 /etc/default/minio文件的控制台端口与对应机器ip如下:

docker1


[root@www ~]# cat  /etc/default/minio
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33807"是用来指定minio端口的
MINIO_OPTS="--console-address 192.168.1.101:33807 --address 192.168.1.101:9666"


docker2

[root@www ~]# cat  /etc/default/minio
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33808"是用来指定minio端口的
MINIO_OPTS="--console-address 192.168.1.102:33808 --address 192.168.1.102:9666"
 

docker3  : 

[root@www minio_data]# cat  /etc/default/minio
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33809"是用来指定minio端口的
MINIO_OPTS="--console-address 192.168.1.103:33809 --address 192.168.1.103:9666"
 


启动及查看状态:

systemctl daemon-reload  #重新加载启动文件

systemctl enable minio  #开机自启动

systemctl start minio  #启动

systemctl stop minio  #停止

systemctl restart minio  #重新启动

systemctl status minio  #查看状态

systemctl disable minio.service  #禁止机自启动

查看所有已启动的服务

systemctl list-units --type=service


分别对每台机器执行如下命令:

systemctl daemon-reload  #加载服务配置文件

systemctl daemon-reload  #重新加载启动文件

systemctl enable minio  #minio 开机自启动

systemctl stop firewalld  # 停止防火墙

systemctl disable firewalld # 禁用防火墙

http://192.168.1.100:33806/  

http://192.168.1.101:33807/

http://192.168.1.102:33808/

http://192.168.1.103:33809/

输入admin/admin123456 即可查看相关配置

 至此,大功告成. 待续 Spring-Boot 整合Minio实现视频及文件分布式存储..................



[root@www ~]# ps ax|grep 'minio'
  1152 ?        Ssl    0:03 /data/minio_data/minio server --console-address :33806 --address 0.0.0.0:9666 /data/minio_data
  1912 pts/0    S+     0:00 grep --color=auto minio
[root@www ~]# ps aux|grep minio
root       1152  0.4  4.1 1017104 158756 ?      Ssl  22:56   0:03 /data/minio_data/minio server --console-address :33806 --address 0.0.0.0:9666 /data/minio_data
root       1914  0.0  0.0 112828   984 pts/0    S+   23:10   0:00 grep --color=auto minio


上传一张照片看看: 点击上传按钮:上传一张picture


 


上传后点击预览:




 













  

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

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

相关文章

计算机竞赛 python opencv 深度学习 指纹识别算法实现

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python opencv 深度学习 指纹识别算法实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;4分创新点&#xff1a;4分 该项目较为新颖…

清华团队领衔打造,首个AI agent系统性基准测试网站问世AgentBench.com.cn

AI 智能体,或自主智能代理,不仅是诸如贾维斯等科幻电影中的人类超级助手,也一直是现实世界中 AI 领域的研究热点。尤其是以 GPT-4 为代表的 AI 大模型的出现,将 AI 智能体的概念推向了科技的最前沿。 在此前爆火的斯坦福“虚拟小镇”中,25 个 AI 智能体在虚拟小镇自由生长…

轧钢传动控制系统液压比例阀控制器

轧钢传动控制系统是用于控制轧钢机械的电气系统&#xff0c;包括调速和控制系统两部分。 调速系统主要用来平滑调节转速&#xff0c;其核心部件是直流电动机调速单元。控制系统主要用于调节和稳定轧机的工作状态&#xff0c;使轧制过程始终处于最佳工作状态&#xff0c;其核心…

高忆管理:爆仓是什么意思?

爆仓是指在金融商场中&#xff0c;持有的某种资产价格大幅下跌&#xff0c;导致出资者的保证金不足以支持持仓&#xff0c;被逼平仓的现象。在股票、期货、外汇等商场中均或许呈现爆仓现象。在本文中&#xff0c;咱们将从多个视点分析爆仓的含义、原因和影响。 一、爆仓的含义 …

用于网页抓取的最佳 Python 库

探索一系列用于网页抓取的强大 Python 库&#xff0c;包括用于 HTTP 请求、解析 HTML/XML 和自动浏览的库。 网络抓取已成为当今数据驱动世界中不可或缺的工具。Python 是最流行的抓取语言之一&#xff0c;拥有一个由强大的库和框架组成的庞大生态系统。在本文中&#xff0c;我…

W5100S-EVB-PICO 做UDP Server进行数据回环测试(七)

前言 前面我们用W5100S-EVB-PICO 开发板在TCP Client和TCP Server模式下&#xff0c;分别进行数据回环测试&#xff0c;本章我们将用开发板在UDP Server模式下进行数据回环测试。 UDP是什么&#xff1f;什么是UDP Server&#xff1f;能干什么&#xff1f; UDP (User Dataqram …

pdf怎么压缩?一分钟学会文件压缩方法

PDF文件过大一般主要原因就是内嵌大文件、重复的资源或者图片比较多&#xff0c;随之而来的问题就是占用存储空间、被平台限制发送等等&#xff0c;这时候我们可以通过压缩的方法缩小PDF文件大小&#xff0c;下面就一起来看看具体的操作方法吧。 方法一&#xff1a;嗨格式压缩大…

Linux_5_Shell脚本编程

目录 1 基础1.1 程序组成1.2 程序编程风格1.3 编程语言1.4 编程逻辑处理方式 2 shell 脚本语言的基本结构2.1 shell脚本的用途2.2 shell脚本基本结构2.3 创建shell脚本过程2.4 脚本注释规范2.5 第一个脚本2.6 脚本调试2.7 变量2.7.1 变量2.7.2 变量类型2.7.3 编程语言分类2.7.4…

详谈数据库InnoDB引擎与MyISAM引擎

1. 简单了解什么是存储引擎? 相信很多人在听到存储引擎这个名字的时候可能会有些疑惑&#xff0c;听着名字就觉得有些难&#xff0c;导致很多人没有兴趣了解它&#xff0c;那么它这究竟是个什么东西&#xff1f; 我来说明一个场景&#xff0c;大家就能大概明白它是做什么用的…

【kubernetes】在k8s集群环境上,部署kubesphere

部署kubesphere 学习于尚硅谷kubesphere课程 前置环境配置-部署默认存储类型 这里使用nfs #所有节点安装 yum install -y nfs-utils# 在master节点执行以下命令 echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports # 执行以下命令&#xff…

mybatis(下)

注解方式 常用注解标签 Insert&#xff1a;插入 sql , 和 xml insert sql 语法完全一样 Select &#xff1a;查询 sql, 和 xml select sql 语法完全一样 Update &#xff1a;更新 sql, 和 xml update sql 语法完全一样 Delete &#xff1a;删除 sql, 和 xml delete sql 语法完…

【深入理解ES6】字符串和正则表达式

概念 字符串&#xff08;String&#xff09;是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol&#xff08;es6新增&#xff09;。 更好的Unicode支持 1. UTF-16码位 字符串里的字符有两种&#xff1a; 前 个码位均以16位的编码单元…

Excel表格制作,快速提升效率好方法!

“作为一个刚开始工作的职场新人&#xff0c;每天要做各种不同的表格&#xff0c;真的让我很崩溃&#xff0c;感觉我对这些表格制作一点都不了解&#xff0c;Excel表格制作有什么比较好的方法吗&#xff1f;” Excel作为一款广泛应用于各个领域的管理和分析工作&#xff0c;给我…

SAP ME2L/ME2M/ME3M报表增强添加字段(包含:LMEREPI02、SE18:ES_BADI_ME_REPORTING)

ME2L、ME2M、ME3M这三个报表的字段增强&#xff0c;核心点都在同一个结构里 SE11:MEREP_OUTTAB_PURCHDOC 在这里加字段&#xff0c;如果要加的字段是EKKO、EKPO里的数据&#xff0c;直接加进去&#xff0c;啥都不用做&#xff0c;就完成了 如果要加的字段不在EKKO和EKPO这两个…

RISC-V公测平台发布 · 7-zip 测试

简介 7-Zip 是一个开源的压缩和解压缩工具&#xff0c;具有高压缩比和快速解压缩的特点。除了普通的文件压缩和解压缩功能之外&#xff0c;7-Zip 还提供了基准测试功能&#xff0c;通过压缩和解压缩大型文件来评估系统的处理能力和性能。 7-Zip 提供了一种在不同压缩级别和多…

浅析kubernetes部署:javashop部署概览

javashop部署概览 节点规划 首先我们对节点进行规划&#xff0c;方便起见&#xff0c;我们进行如下简单的规划&#xff1a; 这里请根据您的实际情况进行合理的资源安排&#xff0c;或和我们售后工程师讨论形成方案。 域名规划 我们以test.com为主域名规划我们的系统域名如下&…

qq录屏怎么弄?手把手教会你!

“有没有人知道qq怎么录屏呀&#xff0c;听说qq可以录屏&#xff0c;刚好最近需要录制屏幕&#xff0c;就想用qq去录&#xff0c;但是找了很久&#xff0c;都没找到&#xff0c;有人知道吗&#xff0c;谢谢了。” 在如今数字化时代&#xff0c;屏幕录制已成为广泛使用的工具。…

云计算——存储虚拟化功能

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​ 目录 前期回顾 前言 一.存储虚拟化功能 1.精简磁盘和空间回收 2.快照 &#xff08;1&a…

Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea

一、前言 QAbstractScrollArea滚屏区域抽象类继承于QFrame&#xff0c;QFrame继承于QWidget&#xff0c;是QListview(列表浏览器)、QTableview(表格浏览器)、QTextEdit(文本编辑器)、QTextBrowser(文本浏览器)等所有需要滚屏区域部件的抽象基类。 框架类QFrame介绍 QAbstractSc…

高忆管理:概念火认购却不火!ESG理财如何打破僵局?

曾几何时&#xff0c;国内ESG理财曾被贴上“小众”标签&#xff0c;现在&#xff0c;跟着ESG理念的遍及与深化群众&#xff0c;这一“小众”的出资理念正在走向“群众”。 有银行理财子公司人士向证券时报券商我国记者表示&#xff0c;从组织视点来看&#xff0c;以债券类为主的…