首先更新系統軟件包至最新版本,確保系統穩定性;安裝wget工具用于下載MinIO及客戶端文件。
sudo yum update -y
sudo yum install -y wget
為增強安全性,避免使用root用戶運行MinIO,創建專用系統用戶minio-user及用戶組minio-group,并設置無登錄權限。
sudo groupadd -r minio-group
sudo useradd -r -g minio-group -s /sbin/nologin minio-user
從MinIO官方網站下載最新版本的Linux AMD64架構二進制文件(適用于CentOS 7/8/9等主流版本)。
wget https://dl.min.io/server/minio/release/linux-amd64/minio
為下載的二進制文件添加可執行權限,然后移動到/usr/local/bin/目錄(系統全局路徑),方便后續直接調用。
chmod +x minio
sudo mv minio /usr/local/bin/
選擇合適路徑(如/data/minio)創建數據目錄,用于存儲MinIO的所有數據文件(桶、對象等)。
sudo mkdir -p /data/minio
將數據目錄的所有權賦予minio-user用戶及minio-group組,并設置用戶擁有完全讀寫權限(u+rwx),確保MinIO服務可正常讀寫數據。
sudo chown -R minio-user:minio-group /data/minio
sudo chmod -R u+rwx /data/minio
通過環境變量文件/etc/default/minio配置MinIO啟動參數,便于統一管理(如修改數據路徑、訪問密鑰等)。
sudo tee /etc/default/minio > /dev/null << 'EOF'
# 數據存儲路徑(必須設置,指向已存在的目錄)
MINIO_VOLUMES="/data/minio"
# 管理員訪問密鑰(建議使用強密碼,替換為你自己的值)
MINIO_ROOT_USER="your_secure_access_key"
MINIO_ROOT_PASSWORD="your_very_strong_secret_key"
# 控制臺端口(默認9001,可根據需求修改)
MINIO_CONSOLE_ADDRESS=":9001"
EOF
通過Systemd服務管理MinIO進程,實現開機自啟、故障自動重啟等功能,提升服務可靠性。
sudo vim /etc/systemd/system/minio.service
粘貼以下內容(需確保EnvironmentFile指向正確的環境變量文件路徑):
[Unit]
Description=MinIO Server
Documentation=https://docs.min.io
After=network.target
[Service]
# 指定運行服務的用戶和組
User=minio-user
Group=minio-group
# 加載環境變量文件
EnvironmentFile=/etc/default/minio
# 啟動MinIO服務器,使用環境變量中的參數
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# 故障時自動重啟(5秒后)
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable minio # 設置開機自啟
sudo systemctl start minio # 啟動服務
sudo systemctl status minio # 檢查服務狀態(顯示"active (running)"即為成功)
若服務啟動失敗,可通過以下命令查看詳細日志定位原因:
journalctl -u minio -xe --no-pager
若系統啟用了firewalld防火墻,需開放MinIO服務端口(默認9000,用于數據傳輸)和控制臺端口(如9001,用于Web管理界面)。
sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp # MinIO服務端口
sudo firewall-cmd --permanent --zone=public --add-port=9001/tcp # 控制臺端口
sudo firewall-cmd --reload # 重新加載防火墻規則
打開瀏覽器,輸入http://<服務器IP地址>:9001,使用配置的MINIO_ROOT_USER和MINIO_ROOT_PASSWORD登錄MinIO控制臺,即可查看和管理存儲桶、對象等資源。
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
為mc創建別名(如myminio),方便后續操作:
mc alias set myminio http://<服務器IP地址>:9000 your_secure_access_key your_very_strong_secret_key
mc ls myminiomc mb myminio/my-bucketmc cp local-file.txt myminio/my-bucket/mc policy set public myminio/my-bucket若需確保數據在服務器重啟后不丟失,可將數據目錄掛載到外部持久化存儲(如NFS、Ceph或本地磁盤)。例如,掛載本地磁盤/dev/sdb1到/data/minio:
sudo mkfs.ext4 /dev/sdb1 # 格式化磁盤(若未格式化)
sudo mount /dev/sdb1 /data/minio # 臨時掛載
# 添加至/etc/fstab實現開機自動掛載
echo "/dev/sdb1 /data/minio ext4 defaults 0 0" | sudo tee -a /etc/fstab
為保障數據傳輸安全,需為MinIO配置SSL/TLS證書??蓮腖et’s Encrypt免費獲取證書,或使用自有證書:
# 安裝Certbot工具(以CentOS 8為例)
sudo dnf install -y certbot python3-certbot-nginx
# 獲取證書(替換your-domain.com為你的域名)
sudo certbot certonly --standalone -d your-domain.com
# 啟動MinIO時指定證書路徑
minio server /data/minio --certs-dir /etc/letsencrypt/live/your-domain.com/
若需搭建高可用MinIO集群,需至少4個節點(奇數個),并配置所有節點的MINIO_VOLUMES參數指向同一數據目錄(通過網絡共享,如NFS),啟動命令示例:
minio server http://node1:9000 http://node2:9000 http://node3:9000 http://node4:9000
通過以上步驟,你可在CentOS系統上完成MinIO的單機/集群部署,并通過Web控制臺或命令行客戶端進行管理。生產環境中,請務必修改默認訪問密鑰、啟用SSL/TLS,并配置持久化存儲以確保數據安全。