基于docker部署minio分布式集群,多机器多挂载,跟着敲就对了

背景:博客上搜了一遍,试了一圈,不是少符号就是机器、挂载情况不搭,配置完网络不通,最后发现了这篇博友的docker部署文章,终于有了头绪。。。

一、准备

1、硬件
虚拟机硬件配置(内核版本>=4.0)挂载指定端口服务组件
172.19.2.368核+16G运行内存、40G系统盘+100G*4磁盘磁盘vdb、vdc、vdd、vde 挂载到宿主机/minio/data1到/minio/data4

9000,9001

minio

172.19.2.37同上同上同上

minio

172.19.2.38同上同上同上

minio

172.19.2.39同上同上同上minio
2、软件

minio/minio

二、各节点部署

1、配置域名(更新内核用)

vim /etc/resolv.conf

        添加一行

nameserver 114.114.114.114

2、更新内核

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

yum --enablerepo=elrepo-kernel install -y kernel-lt

        查看都有哪些系统版本:

cat /boot/grub2/grub.cfg |grep 'CentOS Linux'

        将5.4版本设置为默认

grub2-set-default 'CentOS Linux (5.4.257-1.el7.elrepo.x86_64) 7 (Core)'

        重启服务器

reboot

        查看内核版本

uname -r

3、安装docker环境、docker-compose环境

docker安装 步骤参考、docker-compose安装  步骤参考

4、设置镜像源配置文件

vim /etc/docker/daemon.json

5、使用docker拉取minio最新版镜像

docker pull minio/minio

6、创建磁盘挂载目录

mkdir -p /minio/data{1..4}

添加权限

chmod 755 /minio/data1  # 重复到data4

7、挂载目录

        查看所有已挂载、未挂载磁盘

lsblk -f

        查看未挂载磁盘

lsblk -f | grep -v /

8、制作系统

mkfs.xfs /dev/vdb

mkfs.xfs /dev/vdc

mkfs.xfs /dev/vdd

mkfs.xfs /dev/vde

9、编辑开机自动挂载文件

vim  /etc/fstab

添加

/dev/vdb /minio/data1             xfs     defaults   0 0  

/dev/vdc /minio/data2             xfs     defaults   0 0  

/dev/vdd /minio/data3             xfs     defaults   0 0  

/dev/vde /minio/data4             xfs     defaults   0 0  

10、挂载磁盘

mount -a

11、查看磁盘挂载情况

df -h

12、设置docker-compose启动minio节点容器配置,docker-compose.yml

        每个节点只需修改hostname: minio-node1,对应节点即可(改不改都行,区分用)

version: "3"
services:
  minio-node:
    image: minio/minio:latest
    container_name: minio-node
    network_mode: host
    restart: always
    privileged: true
    hostname: minio-node1
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: VcomP@ssw0rd
      MINIO_UPDATE: off
    volumes:
      - /minio/data1:/data1
      - /minio/data2:/data2
      - /minio/data3:/data3
      - /minio/data4:/data4
      - /home/minioServer/log:/home/minio/.minio.sys/log
    command: server http://172.19.2.3{6...9}/data{1...4} --console-address "0.0.0.0:9001" --address "0.0.0.0:9000"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/ready"]
      interval: 30s
      timeout: 10s
      retries: 3
13、docker-compose启动容器

        进入docker-compose.yml所在目录

docker-compose up -d

14、在各minio节点服务器上依次重复以上动作
15、查看集群节点状态

docker logs -f minio-node

三、查看集群部署结果

1、访问控制台172.19.2.36:9001

2、控制台查看集群状态 

3、可用容量

本地经过测试:

测试 ( 集群总容量:100 x 4 x 4 = 1600G ):

  1. 上传1G数据到集群下,单节点单驱动下显示总容量100G,可用99.8G,已使用110M。估算可使用容量:940 G

  2. 上传10G数据到集群下,单节点单驱动下显示总容量100G,可用98.9G,已使用1G。估算可使用容量:1000G

  3. 上传21G数据到集群下,单节点单驱动下显示总容量100G,可用98G,已使用2G。估算可使用容量:1000G

  4. 可用率估算:1000/1600 ≈ 62.5%

官方数据说明:

默认纠删码比例EC:4 。可用比例75%

纠删码比例设置计算器

四、使用nginx进行负载

参考文章 docker部署nginx负载均衡

附上:

JAVA 调用minio API参考官方示例

https://github.com/minio/minio-java/tree/release/examples

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,下面是使用docker搭建minio分布式集群的详细步骤: 1. 安装DockerDocker Compose 您需要在您的机器上安装DockerDocker Compose。如果您还没有安装,请先安装。 2. 创建docker-compose.yml文件 在您的工作目录下创建一个名为docker-compose.yml的文件,并将以下内容复制到文件中。 ``` version: '3' services: minio1: image: minio/minio container_name: minio1 command: server http://minio{1...4}/data{1...4} ports: - "9001:9000" volumes: - ./data1:/data1 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always minio2: image: minio/minio container_name: minio2 command: server http://minio{1...4}/data{1...4} ports: - "9002:9000" volumes: - ./data2:/data2 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always minio3: image: minio/minio container_name: minio3 command: server http://minio{1...4}/data{1...4} ports: - "9003:9000" volumes: - ./data3:/data3 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always minio4: image: minio/minio container_name: minio4 command: server http://minio{1...4}/data{1...4} ports: - "9004:9000" volumes: - ./data4:/data4 environment: MINIO_ACCESS_KEY: YOUR_ACCESS_KEY MINIO_SECRET_KEY: YOUR_SECRET_KEY restart: always ``` 3. 启动集群 在您的工作目录中运行以下Docker Compose命令,以启动Minio集群。 ``` docker-compose up -d ``` 这将在您的机器上启动四个Minio容器,每个容器都有一个自己的数据卷,并且它们都在同一网络中。 4. 访问Minio UI 您可以在浏览器中访问http://localhost:9001/,并使用您的访问密钥和秘密密钥登录Minio UI。您将看到一个名为“data1”的存储桶已经被创建。 5. 添加其他节点 如果您需要添加其他节点,请在docker-compose.yml文件中添加另一个服务,并使用相同的access key和secret key。您还需要在Minio UI中添加新的节点。 这些是使用Docker Compose搭建Minio分布式集群的基本步骤。如果您需要更详细的指导,请查看Minio官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值