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

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

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

        我用的虚拟机软件是VirtualBox,

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

minio集群搭建(纠删码模式)_第1张图片

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

minio集群搭建(纠删码模式)_第2张图片

minio集群搭建(纠删码模式)_第3张图片

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

minio集群搭建(纠删码模式)_第4张图片

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

完成后minio集群搭建(纠删码模式)_第5张图片

minio集群搭建(纠删码模式)_第6张图片

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

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

minio集群搭建(纠删码模式)_第7张图片

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

minio集群搭建(纠删码模式)_第8张图片同样建盘的步骤跟之前一样,点右边的小加号

minio集群搭建(纠删码模式)_第9张图片

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

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

         首先 lsblk 或者 fdisk -f

minio集群搭建(纠删码模式)_第10张图片

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

格式化硬盘

minio集群搭建(纠删码模式)_第11张图片

创建硬盘挂载目录

 因为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

  minio集群搭建(纠删码模式)_第12张图片

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

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

chmod +777 data1

chmod +777 data2

chmod +777 data3

chmod +777 data4

minio集群搭建(纠删码模式)_第13张图片

挂载目录

        临时挂载:

        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

minio集群搭建(纠删码模式)_第14张图片

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

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

        vi /etc/fstab

        minio集群搭建(纠删码模式)_第15张图片这个文件重启就生效了

3.下载 minio

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

这是下载最新版本的minio

下载完成

给minio可执行权限

chmod +x minio

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

4.启动

这是我的4个虚拟机

minio集群搭建(纠删码模式)_第16张图片

minio集群搭建(纠删码模式)_第17张图片

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

minio集群搭建(纠删码模式)_第18张图片

这样

在四台机器上分别运行

        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集群搭建(纠删码模式)_第19张图片

等到在四个机器上执行完

启动命令

minio集群搭建(纠删码模式)_第20张图片

这就启动成功了

minio集群搭建(纠删码模式)_第21张图片

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

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

mc客户端 

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

./mc config host list 

查看所有的连接名

minio集群搭建(纠删码模式)_第22张图片

./mc admin info minio21

minio集群搭建(纠删码模式)_第23张图片

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

进入控制台看一眼

minio集群搭建(纠删码模式)_第24张图片

minio集群搭建(纠删码模式)_第25张图片

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

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

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

一般得用nginx负载均衡。

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

nginx.conf

minio集群搭建(纠删码模式)_第26张图片

cd /etc/nginx/conf.d

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

minio集群搭建(纠删码模式)_第27张图片

nginx 启动nginx

访问 192.168.56.35:9999 访问不到

当然这是正常的

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

上图中 :9000端口改成:9001

再访问192.168.56.35:9999

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

minio集群搭建(纠删码模式)_第28张图片

证明nginx配置没问题

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

console-address 控制台运行再次

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

再看一下

minio集群搭建(纠删码模式)_第29张图片

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

最后一版 minio 20210422版本用的是

minio集群搭建(纠删码模式)_第30张图片

minio集群搭建(纠删码模式)_第31张图片

这个协议,可以放心用

这个版本的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集群搭建(纠删码模式)_第32张图片

minio集群搭建(纠删码模式)_第33张图片

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

可以用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

minio集群搭建(纠删码模式)_第34张图片

mc.exe admin info minio8

minio集群搭建(纠删码模式)_第35张图片

minio集群搭建(纠删码模式)_第36张图片

所有节点都在线

一般有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

差不多了,就这样吧

你可能感兴趣的:(minio,centos)