在 Linux 上部署 MinIO 集群(分布式模式),通常用于生产环境,实现高可用和横向扩展。下面我按实用、可落地的方式给你讲清楚。
MinIO 集群叫做 Distributed MinIO,特点:
minio 二进制✅ 推荐架构:
9000)useradd -m minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mv minio /usr/local/bin/
假设每台机器有:
/data1
/data2
格式化并挂载(示例):
mkfs.xfs /dev/sdb
mkdir -p /data1
mount /dev/sdb /data1
⚠️ 不要使用 RAID,MinIO 自己管理冗余。
假设有 4 台服务器:
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
每台机器执行完全相同的命令:
minio server \
http://192.168.1.11/data1 http://192.168.1.11/data2 \
http://192.168.1.12/data1 http://192.168.1.12/data2 \
http://192.168.1.13/data1 http://192.168.1.13/data2 \
http://192.168.1.14/data1 http://192.168.1.14/data2 \
--console-address ":9001"
✅ 说明:
/data1 /data2 是本地磁盘路径9000 是 API 端口9001 是 Web 控制台vim /etc/default/minio
内容:
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123
MINIO_VOLUMES="http://192.168.1.11/data1 http://192.168.1.11/data2 \
http://192.168.1.12/data1 http://192.168.1.12/data2 \
http://192.168.1.13/data1 http://192.168.1.13/data2 \
http://192.168.1.14/data1 http://192.168.1.14/data2"
MINIO_OPTS="--console-address :9001"
vim /etc/systemd/system/minio.service
[Unit]
Description=MinIO
After=network.target
[Service]
User=minio
Group=minio
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable minio
systemctl start minio
systemctl status minio
http://任意节点IP:9001
mc alias set myminio http://192.168.1.11:9000 minioadmin minioadmin123
mc admin info myminio
✅ 所有节点时间必须同步
✅ 所有节点 MinIO 版本一致
✅ 不要混用不同磁盘数量
✅ 不要手动改数据目录
❌ 不支持动态加节点(需扩容重建)
Client
|
-------------------
| | | | |
Node1 Node2 Node3 Node4
如果你愿意,我可以:
你现在是 测试环境还是生产环境?