MinIO 在 CentOS 上的集群配置指南
一 规划与准备
二 安装与目录准备
sudo useradd -r -s /sbin/nologin miniosudo mkdir -p /data/minio/data /opt/minio/bin /etc/miniosudo chown -R minio:minio /data/minio /opt/minio /etc/miniosudo -u minio wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /opt/minio/bin/miniosudo -u minio chmod +x /opt/minio/bin/miniosudo ln -s /opt/minio/bin/minio /usr/local/bin/minio(可选)。三 集群部署与 systemd 服务
方式 A 环境变量文件(推荐,便于集中管理)
sudo vim /etc/default/minioMINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=StrongPassw0rd!
minio_volumes="http://192.168.1.101/data/minio/data http://192.168.1.102/data/minio/data \
http://192.168.1.103/data/minio/data http://192.168.1.104/data/minio/data"
minio_opts="--console-address :9001"
sudo vim /usr/lib/systemd/system/minio.service[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
[Service]
Type=notify
User=minio
Group=minio
EnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server $minio_opts $minio_volumes
Restart=always
LimitNOFILE=65536
TasksMax=infinity
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload && sudo systemctl enable --now minio && sudo systemctl status minio -l方式 B 启动脚本(适合快速验证)
sudo -u minio vim /opt/minio/bin/run.sh#!/usr/bin/env bash
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=StrongPassw0rd!
/opt/minio/bin/minio server \
--config-dir /etc/minio \
--console-address ":9001" \
http://192.168.1.101/data/minio/data \
http://192.168.1.102/data/minio/data \
http://192.168.1.103/data/minio/data \
http://192.168.1.104/data/minio/data
sudo chmod +x /opt/minio/bin/run.shsudo vim /usr/lib/systemd/system/minio.service[Unit]
Description=MinIO
After=network.target
[Service]
Type=simple
User=minio
Group=minio
WorkingDirectory=/opt/minio/bin
ExecStart=/opt/minio/bin/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload && sudo systemctl enable --now minio四 负载均衡与网络配置
upstream minio_servers {
server 192.168.1.101:9000 max_fails=2 fail_timeout=30s;
server 192.168.1.102:9000 max_fails=2 fail_timeout=30s;
server 192.168.1.103:9000 max_fails=2 fail_timeout=30s;
server 192.168.1.104:9000 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name minio.example.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 10G;
proxy_buffers 1024 4k;
proxy_read_timeout 300s;
proxy_next_upstream error timeout http_404;
proxy_pass http://minio_servers;
}
}
五 验证与运维要点
wget https://dl.min.io/client/mc/release/linux-amd64/mc && chmod +x mc && sudo mv mc /usr/local/bin/mc config host add minio http://<LB_IP>:9000 minioadmin 'StrongPassw0rd!'mc ls minio、mc mb minio/test、mc cp /etc/hosts minio/test/hostsjournalctl -u minio -f