在CentOS上實現MinIO集群部署是一個相對復雜的過程,需要仔細規劃和執行。以下是一個基本的步驟指南,幫助你在CentOS上搭建一個MinIO集群。
在兩臺服務器上執行以下命令:
sudo useradd -m -d /app/minio minio
sudo mkdir -p /app/minio/data
sudo mkdir -p /app/minio/logs
sudo chown -R minio:minio /app/minio /app/minio/data /app/minio/logs
echo 'minio:XXXXXXXXX' | sudo chpasswd
作為minio用戶,下載MinIO到指定目錄并設置執行權限:
sudo -u minio wget https://dl.min.io/server/minio/release/linux-amd64/minio -P /app/minio
sudo -u minio chmod +x /app/minio/minio
在/app/minio
目錄下創建啟動腳本minio-start.sh
:
sudo -u minio bash -c 'cat > /app/minio/minio-start.sh << EOF
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=XXXXXXX
export MINIO_VOLUMES="http://172.16.1.9/app/minioData http://172.16.1.10/app/minioData"
export MINIO_OPTS="--address :9000 --console-address :6900"
/app/minio/minio server $MINIO_OPTS $MINIO_VOLUMES >> /app/minio/logs/minio.log 2>&1
EOF'
確保minio-start.sh
腳本為minio用戶所有,并設置正確的執行權限:
sudo chown minio:minio /app/minio/minio-start.sh
sudo chmod +x /app/minio/minio-start.sh
創建systemd
服務單元文件/etc/systemd/system/minio.service
:
sudo bash -c 'cat > /etc/systemd/system/minio.service << EOF
[Unit]
Description=MinIO
After=network.target
[Service]
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=password"
ExecStart=/app/minio/minio server /app/minioData --console-address ":9001"
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
StandardOutput=/app/minio/minio.log
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF'
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio
通過MinIO控制臺或API檢查集群狀態:
curl -X GET http://172.16.1.9:9001/minio/health/full
為了實現高可用性,可以使用KeepAlived和NGINX進行負載均衡。以下是一個簡單的示例:
sudo yum install -y keepalived nginx
編輯/etc/keepalived/keepalived.conf
:
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
192.168.1.100
}
}
編輯/etc/nginx/nginx.conf
:
upstream minio {
server 192.168.1.9:9000;
server 192.168.1.10:9000;
}
server {
listen 80;
location / {
proxy_pass http://minio;
}
}
sudo systemctl start keepalived
sudo systemctl enable keepalived
sudo systemctl start nginx
sudo systemctl enable nginx
通過以上步驟,你可以在CentOS上成功部署一個基本的MinIO集群。根據實際需求,你可以進一步擴展和優化集群配置。更多高級配置和優化選項可以參考MinIO官方文檔。