minio集群搭建(纠删码模式)

搭一个4个节点,16块硬盘的minio集群。

1.先做一些准备工作,新建了4个centos7的虚拟机,各新添加4块硬盘

        我用的虚拟机软件是VirtualBox,

       先搭建4个虚拟机,即4个节点, 建虚拟机就不讲了

        用VirtualBox添加硬盘,这几台虚拟机硬盘我都添加过了,我用一个其他node35这个机器介绍硬盘添加

添加磁盘这块我也不是特别懂,但是在搭建minio集群的过程中我是这么做的,而且成功了

下一步,接着选择磁盘大小,我为了节省点空间只分配了5G

完成后

一个新的5G的磁盘就建好了

一个IDE控制器只能容纳4个盘,本来就有一个系统盘,只能这样在建三个盘,一个盘就是一个drive,奥插一句,为什么新建这磁盘,是因为minio的存储用的盘不能和系统盘在一起,它是要一个干净的盘。新建完3个盘后

小加号点不了了,只能再添加一个控制器,在新的控制器里添加第四块新盘了

同样建盘的步骤跟之前一样,点右边的小加号

至此一个虚拟机即一个节点的硬盘(drive)创建完成,完成后用虚拟机软件这里是virtualBox启动机器,启动时硬盘会自动创建

2.格式化磁盘,挂载目录

         首先 lsblk 或者 fdisk -f

查看一下硬盘有没有添加成功,明显是添加成功了

格式化硬盘

创建硬盘挂载目录

 因为minio下载下来就是一个可执行文件,我给它外面包了一个minio文件夹,把minio可执行文件和挂载的目录即minio数据存放之处,放一起了,我习惯这么建,你们随意

mkdir -p /zx/minio/data 新建一个多层目录待会下载minio放在这个minio文件夹下

mkdir /zx/minio/data

因为有4个盘,需要建4个挂载目录

mkdir data1

mkdir data2

mkdir data3

mkdir data4

  

挂载目录data1,data2,data3,data4新建成功

顺手给data1,data2,data3,data4授权,以便minio集群互相访问时没有权限

chmod +777 data1

chmod +777 data2

chmod +777 data3

chmod +777 data4

挂载目录

        临时挂载:

        mount /dev/sdb /zx/minio/data/data1

        mount /dev/sdc /zx/minio/data/data2

        mount /dev/sdd /zx/minio/data/data3

        mount /dev/sde /zx/minio/data/data4

现在只是临时挂载,机器重启就没了

        设置永久挂载,修改 /etc/fstab文件

        vi /etc/fstab

        这个文件重启就生效了

3.下载 minio

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

这是下载最新版本的minio

下载完成

给minio可执行权限

chmod +x minio

其他三台机器做同样的操作

4.启动

这是我的4个虚拟机

       我把虚拟机的ip设为连续的为了启动方便,如果ip不连续可以在每台机子上配置/etc/hosts

这样

在四台机器上分别运行

        MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin ./minio server --address ":9000" --console-address ":9001" http://192.168.56.2{1...4}/zx/minio/data/data{1...4}

刚运行

等到在四个机器上执行完

启动命令

这就启动成功了

显示有12块硬盘在线,4个离线看一下其他节点有没有报错信息

这个信息不一定准,因为当时可能还没完全启动,最新的集群信息可以用 mc客户端命令查看,也可以登录到控制台查看

mc客户端 

./mc alias set 'minio21' 'http:192.168.56.21:9000' 'minioadmin' 'minioadmin'

./mc config host list 

查看所有的连接名

./mc admin info minio21

最新的状态的集群信息4个节点,每个节点4块盘都在线

进入控制台看一眼

现在minio控制台分出来了 一个端口,较早的minion都在一个端口上,默认9000

还记得启动时-address ":9000" --console-address ":9001"吗,这就是在配置两个端口

在这里也可以看到所有的节点,所有的磁盘都在线。登录哪一台机器都一样。

一般得用nginx负载均衡。

nginx安装这篇就不讲了。简单看一下配置

nginx.conf

cd /etc/nginx/conf.d

vi minios16.conf   这配置文件名字自己随便,自己记得就行

nginx 启动nginx

访问 192.168.56.35:9999 访问不到

当然这是正常的

因为这个:9000时minio存储服务的核心端口,我们启动配置的控制台的启动端口时:9001

上图中 :9000端口改成:9001

再访问192.168.56.35:9999

就是minio的登录界面键入minioadmin minioadmin  如果用户名密码没修改过的话

证明nginx配置没问题

真正程序使用时应该配置9000因为这个9000minio核心存储运行在这,或者9000 9001都配,address ":9000" --console-address ":9001" 启动时address指定端口minio核心存储功能运行在此

console-address 控制台运行再次

这就算4节点16driver的minio集群搭建完成了吧

再看一下

AGPLv3这个协议,商用须谨慎,可能需要你的程序代码开源

最后一版 minio 20210422版本用的是

这个协议,可以放心用

这个版本的minio集群搭建基本一样, 就是启动时需要

 MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin ./minio server --address ":9000" --console-address ":9001" http://192.168.56.2{1...4}/zx/minio/data/data{1...4}

将替换为MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin ./minio server =

http://192.168.56.2{1...4}/zx/minio/data/data{1...4}

这个版本控制台和核心存储还在一个端口上,不需要添加这些参数 ,minio210422版本登录用的还是MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin

在一个就是老版本控制台比较简陋,控制台只有最简单的添加bucket,上传下载文件的功能

这个控制台就没法查看集群的信息等啥都没有

可以用minio的客户端 mc查看,mc版本都无所谓,再windows版,linux版都一样用

这是我在window上连接210422版的8个节点,每个节点一个 drive的集群

mc.exe alias set 'minio8' http://192.168.56.31:9000 'minioadmin' 'minioadmin'

看一下添加成功没

mc.exe config host ls

mc.exe admin info minio8

所有节点都在线

一般有drive没在线都是,要不没挂载上,要不没权限。。根据报错信息排查一下就好。

linux mc 使用就是将mc.exe 换成 ./mc

这个8个节点8块drive的集群是我先搭了个4个节点4个drive,又扩容了4个节点4个drive

扩容时尽量扩容相同的节点相同的drive

我扩容是联邦扩容配置扩展方式

基本上就改了一下启动 命令 给看一下没扩容的启动命令和扩容完成的启动命令

MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin ./minio server http://minio210422-{1...4}/zx/minio/data

MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin ./minio server http://minio210422-{5...8}/zx/minio/data http://minio210422-{1...4}/zx/minio/data

差不多了,就这样吧

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

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

相关文章

版本控制器Git

目录 背景 图形化界面 下载安装或使用网页版 安装图形化界面 注册账号 创建仓库​ 创建本地仓库 ​创建项目到本地工作目录 三板斧 git add git commit git push 注意 命令行 Git和Gitee/Github的区别? 版本控制器是什么? 本地仓库VS…

人工智能对人类就业造成的“爆炸性”影响

原创 | 文 BFT机器人 人工智能( AI )将深刻改变全球经济 , 一些评论家认为它类似于新的工业革命。它对经济和社会的影响仍然难以预测。这在劳动力市场的背景下尤其明显,在劳动力市场中,人工智能有望提高生产率&#x…

【flink状态管理(2)各状态初始化入口】状态初始化流程详解与源码剖析

文章目录 1. 状态初始化总流程梳理2.创建StreamOperatorStateContext3. StateInitializationContext的接口设计。4. 状态初始化举例:UDF状态初始化 在TaskManager中启动Task线程后,会调用StreamTask.invoke()方法触发当前Task中算子的执行,在…

CSS的动画

CSS的动画 在本节,我们将学习keyframes动画。 1. 动画的基本使用 1. 定义动画 定义动画有两种写法: 简单定义方式 keyframes 动画名 {/* from代表初始状态 */from {/*property1:value1*/transform: translate(0%);}/* to代表结束状态 */to {transfor…

c#cad 创建-正方形(四)

运行环境 vs2022 c# cad2016 调试成功 一、程序说明 创建一个正方形,并将其添加到当前活动文档的模型空间中。 程序首先获取当前活动文档和数据库,并创建一个编辑器对象。 然后,使用事务开始创建正方形的操作。获取模型空间的块表记录&a…

【机器学习】单变量线性回归

文章目录 线性回归模型(linear regression model)损失/代价函数(cost function)——均方误差(mean squared error)梯度下降算法(gradient descent algorithm)参数(parame…

服装设计公司,如何用钉钉实现企业数字化成功转型?

钉钉作为数字化工作平台,为某服装设计公司实现了组织管理的数字化转型,构建了一站式的工作平台。通过钉钉赋能,有利于企业推进组织架构、员工沟通、产品运营和客户服务等方面的数字化、智能化转型。 借助钉钉平台,该服设公司轻松实…

常见的 MIME(媒体)类型速查

一、简介 MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文…

使用Qt创建项目 Qt中输出内容到控制台 设置窗口大小和窗口标题 Qt查看说明文档

按windows键,找到Qt Creator ,打开 一.创建带模板的项目 新建项目 设置项目路径QMainWindow是带工具栏的窗口。 QWidget是无工具栏的窗口。 QDuakig是对话框窗口。创建好的项目如下: #include "widget.h"// 构造函数&#xff…

VSCode开发常用扩展记录

1、Chinese 2、document this 可以自动为ts和js文件生成jsDoc注释 3、ESLint 能够查找并修复js代码中的问题 4、koroFileHeader 5、Prettier 代码格式化

numa网卡绑定

#概念 参考:https://www.jianshu.com/p/0f3b39a125eb(opens new window) chip:芯片,一个cpu芯片上可以包含多个cpu core,比如四核,表示一个chip里4个core。 socket:芯片插槽,颗,跟…

高速接口PCB布局指南(五)高速差分信号布线(三)

高速接口PCB布局指南(五)高速差分信号布线(三) 1.表面贴装器件焊盘不连续性缓解2.信号线弯曲3.高速信号建议的 PCB 叠层设计4.ESD/EMI 注意事项5.ESD/EMI 布局规则 tips:资料主要来自网络,仅供学习使用。 …