本次三台节点部署,每台两块硬盘
ip:192.168.47.132,192.168.47.135,192.168.47.136
1.挂载磁盘做minio的数据目录
#注意:每台节点都需要配置
#1.创建部署目录
mkdir -p /opt/minio/run /opt/minio/data1 /opt/minio/data2 #run目录:minio程序 data* 几块磁盘创建几个data目录
#2.磁盘分区,磁盘使用lsblk查看
fdisk /dev/sdb
fdisk /dev/sdc
#3.格式化磁盘,磁盘序号使用lsblk查看
mkfs.ext4 /dev/sdb1 -L DRIVE1 && mkfs.ext4 /dev/sdc1 -L DRIVE2
#4.挂载磁盘,注意磁盘序号
mount /dev/sdb1 /opt/minio/data1 && mount /dev/sdc1 /opt/minio/data2
#5.开机自动挂载磁盘
vim /etc/fstab
#末尾增加以下配置,注意更改文件类型和磁盘序号,跟自己的对应
/dev/sdb1 /opt/minio/data1 ext4 defaults 0 1
/dev/sdc1 /opt/minio/data2 ext4 defaults 0 1
2.部署minio分布式集群
#注意:每台节点都需要部署
#1.下载minio运行程序
cd /opt/minio/run && wget https://dl.minio.io/server/minio/release/linux-amd64/minio
#2.编写minio的分布式集群启动脚本
cat > /opt/minio/run/run.sh << EOF
#!/bin/bash
export MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=admin0027
/opt/minio/run/minio server --config-dir /etc/minio \
--address ":8888" --console-address ":9001" \
http://192.168.47.135/opt/minio/data1 http://192.168.47.135/opt/minio/data2 \
http://192.168.47.132/opt/minio/data1 http://192.168.47.132/opt/minio/data2 \
http://192.168.47.136/opt/minio/data1 http://192.168.47.136/opt/minio/data2
EOF
#3.创建minio的systemctl启动文件
cat > /usr/lib/systemd/system/minio1.service << EOF
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/opt/minio/run/
ExecStart=/opt/minio/run/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
#4.赋予脚本、程序和启动文件的执行权限
chmod +x /usr/lib/systemd/system/minio.service && chmod +x /opt/minio/run/minio && chmod +x /opt/minio/run/run.sh
#5.重新加载systemctl,启动minio,查看minio启动状态
systemctl daemon-reload
systemctl start minio
systemctl status minio
3.配置nginx负载均衡
#注意:挑选一台节点部署即可,本次挑选192.168.47.132节点部署
#1.安装nginx
apt install nginx -y
#2.配置minio.conf的代理转发
cat > /etc/nginx/conf.d/minio.conf << EOF
upstream http_minio {
server 192.168.47.132:9001;
server 192.168.47.136:9001;
server 192.168.47.135:9001;
}
server{
listen 9999;
server_name 192.168.47.132;
location / {
proxy_set_header Host \$http_host;
proxy_pass http://http_minio;
}
}
EOF
#3.重启nginx
nginx -s reload
$4.访问192.168.47.132:9999查看