1、节点环境
1.1 准备3台虚拟机或服务器
名称 | IP | 操作系统 |
---|---|---|
minio-1 | 192.168.1.155 | centos7 |
minio-2 | 192.168.1.156 | centos7 |
minio-3 | 192.168.1.157 | centos7 |
1.2 节点磁盘挂载
所有节点
1.2.1 硬盘分区
fdisk /dev/vdb
输入n 创建新的分区
输入回车
默认分区输入1,回车,指定存储大小+10G
输入w回车保存
分区/dev/vdb2
与上述/dev/vdb1
分区相同
[root@minio-1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 20G 0 disk
├─vda1 253:1 0 200M 0 part /boot/efi
├─vda2 253:2 0 1G 0 part /boot
└─vda3 253:3 0 18.8G 0 part
├─klas-root 252:0 0 16.8G 0 lvm /
└─klas-swap 252:1 0 2G 0 lvm [SWAP]
vdb 253:16 0 20G 0 disk
├─vdb1 253:17 0 10G 0 part /data2
└─vdb2 253:18 0 10G 0 part /data1
1.2.2 格式化磁盘分区
[root@minio-1 ~]# mkfs -t ext4 /dev/vdb1
[root@minio-1 ~]# mkfs -t ext4 /dev/vdb2
[root@minio-2 ~]# mkfs -t ext4 /dev/vdb1
[root@minio-2 ~]# mkfs -t ext4 /dev/vdb2
[root@minio-3 ~]# mkfs -t ext4 /dev/vdb1
[root@minio-3 ~]# mkfs -t ext4 /dev/vdb2
1.2.3 磁盘目录挂载
mkdir /data{1,2}
[root@minio-1 ~]# mount /dev/vdb2 /data1
[root@minio-1 ~]# mount /dev/vdb1 /data2
[root@minio-2 ~]# mount /dev/vdb2 /data1
[root@minio-2 ~]# mount /dev/vdb1 /data2
[root@minio-3 ~]# mount /dev/vdb2 /data1
[root@minio-3 ~]# mount /dev/vdb1 /data2
查看挂载成功df -h
[root@minio-1 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 838M 0 838M 0% /dev
tmpfs 1.1G 0 1.1G 0% /dev/shm
tmpfs 1.1G 12M 1.1G 2% /run
tmpfs 1.1G 0 1.1G 0% /sys/fs/cgroup
/dev/mapper/klas-root 17G 2.7G 15G 16% /
tmpfs 1.1G 0 1.1G 0% /tmp
/dev/vda2 1014M 200M 815M 20% /boot
/dev/vda1 200M 5.8M 195M 3% /boot/efi
tmpfs 222M 0 222M 0% /run/user/0
/dev/vdb2 9.8G 23M 9.3G 1% /data1
/dev/vdb1 9.8G 23M 9.3G 1% /data2
设置分区在系统重启后自动挂载
在/etc/fstab
文件末尾添加
/dev/vdb1 /data2/ ext4 defaults 0 0
/dev/vdb2 /data1/ ext4 defaults 0 0
重新加载配置
mount -a
2、集群部署
2.1 minio目录创建
mkdir -p /data/minio
2.2 minio 上传
将minio上传到/data/minio
目录下
2.3 集群启动文件配置
Minio默认9000端口,在配置文件中加入--address "0.0.0.0:9029"
可更改端口
注意:
-
MINIO_ROOT_USER:用户名,长度最少是5个字符
-
MINIO_ROOT_PASSWORD:密码,密码不能过于简单,不然会启动报错,长度最小是8个字符
-
–config-dir 指定配置文件目录
创建minio集群启动文件
vim /data/minio/run.sh
集群节点192.168.1.155内容为
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
/data/minio/minio server --config-dir /etc/minio \
--address "0.0.0.0:9029" --console-address ":9090" \
http://192.168.1.155/data1 http://192.168.1.155/data2 \
http://192.168.1.156/data1 http://192.168.1.156/data2 \
http://192.168.1.157/data1 http://192.168.1.157/data2 \
集群节点192.168.1.156内容为
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
/data/minio/minio server --config-dir /etc/minio \
--address "0.0.0.0:9029" --console-address ":9090" \
http://192.168.1.155/data1 http://192.168.1.155/data2 \
http://192.168.1.156/data1 http://192.168.1.156/data2 \
http://192.168.1.157/data1 http://192.168.1.157/data2 \
集群节点192.168.1.157内容为
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
/data/minio/minio server --config-dir /etc/minio \
--address "0.0.0.0:9029" --console-address ":9090" \
http://192.168.1.155/data1 http://192.168.1.155/data2 \
http://192.168.1.156/data1 http://192.168.1.156/data2 \
http://192.168.1.157/data1 http://192.168.1.157/data2 \
2.4 创建Minio.server
vim /usr/lib/systemd/system/minio.service
添加以下内容:
[Unit]
Description=Minio service
Documentation=Minio High Performance Object Storage - Minio Object Storage for kubernetes
[Service]
WorkingDirectory=/data/minio
ExecStart=/data/minio/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=muti-user.target
修改配置文件后需要加载配置
systemctl daemon-reload
2.5 权限修改
所有节点执行以下命令
chmod +x /usr/lib/systemd/system/minio.service
chmod +x /data/minio/minio
chmod +x /data/minio/run.sh
2.6 启动集群
逐个启动
注意:关闭防火墙
systemctl start minio
systemctl enable minio
3、报错解决
Error: grid: http://192.168.1.155:9029 re-connecting to http://192.168.1.156:9029: dial tcp 192.168.1.157:9029: connect: connection refused (*net.OpError) Sleeping 1.222s (3) (*fmt.wrapError)
因为开启了防火墙,访问不到192.168.1.156、192.168.1.157
开放9029
端口
sudo firewall-cmd --zone=public --add-port=9029/tcp --permanent
重新加载防火墙以应用更改:
sudo firewall-cmd --reload
检查端口是否已开放,可以使用以下命令:
sudo firewall-cmd --zone=public --list-ports