背景:博客上搜了一遍,试了一圈,不是少符号就是机器、挂载情况不搭,配置完网络不通,最后发现了这篇博友的docker部署文章,终于有了头绪。。。
一、准备
1、硬件
虚拟机 | 硬件配置(内核版本>=4.0) | 挂载 | 指定端口 | 服务组件 |
172.19.2.36 | 8核+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 ):
-
上传1G数据到集群下,单节点单驱动下显示总容量100G,可用99.8G,已使用110M。估算可使用容量:940 G
-
上传10G数据到集群下,单节点单驱动下显示总容量100G,可用98.9G,已使用1G。估算可使用容量:1000G
-
上传21G数据到集群下,单节点单驱动下显示总容量100G,可用98G,已使用2G。估算可使用容量:1000G
-
可用率估算:1000/1600 ≈ 62.5%
官方数据说明:
默认纠删码比例EC:4 。可用比例75%
四、使用nginx进行负载
参考文章 docker部署nginx负载均衡
附上:
JAVA 调用minio API参考官方示例