在Linux系统中安装MinIO可以分为单机版和集群版两种情况。以下是详细的安装教程:
创建专用存储目录:
sudo mkdir -p /data/minio
sudo chown -R $USER:$USER /data/minio # 非root用户运行时需授权
下载MinIO二进制文件:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
配置环境变量文件:
创建 /etc/default/minio
文件,写入以下内容:
MINIO_ROOT_USER="admin"
MINIO_ROOT_PASSWORD="YourPass@123" # 管理密码(至少12字符)
MINIO_VOLUMES="/data/minio"
MINIO_OPTS="--address :9000 --console-address :9001" # 端口设置
/etc/systemd/system/minio.service
文件:[Unit]
Description=MinIO Single Node Service
After=network.target
[Service]
User=$USER # 替换为实际运行用户(需有存储目录权限)
Group=$USER
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
重新加载Systemd配置:
sudo systemctl daemon-reloads
启用并启动MinIO服务:
sudo systemctl enable --now minio
检查服务状态:
sudo systemctl status minio
输出应显示 “Active: active (running)”。
http://服务器IP:9001
,使用配置的账号密码登录。curl http://localhost:9000/minio/health/live
正常返回 {"status": "ok"}
。启用HTTPS:
sudo mkdir -p /etc/minio/certs
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/minio/certs/private.key -out /etc/minio/certs/public.crt -subj "/CN=$(hostname)"
echo 'MINIO_OPTS="$MINIO_OPTS --certs-dir /etc/minio/certs"' | sudo tee -a /etc/default/minio
sudo systemctl restart minio
防火墙配置:
sudo firewall-cmd --permanent --add-port=9000/tcp --add-port=9001/tcp
sudo firewall-cmd --reload
客户端管理工具(mc)安装配置:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
mc alias set myminio http://localhost:9000 admin YourPass@123
mc mb myminio/my-bucket
mc cp ~/testfile.txt myminio/my-bucket
mc anonymous set-upload myminio/my-bucket
数据备份:
sudo tar czvf minio_backup_$(date +%F).tar.gz /data/minio
日志监控:
journalctl -u minio
环境准备(所有节点执行):
sudo mkdir -p /data/minio{1..4}
sudo chmod -R 755 /data/minio{1..4}
echo "192.168.1.101 minio-node1" | sudo tee -a /etc/hosts
echo "192.168.1.102 minio-node2" | sudo tee -a /etc/hosts
echo "192.168.1.103 minio-node3" | sudo tee -a /etc/hosts
echo "192.168.1.104 minio-node4" | sudo tee -a /etc/hosts
安装MinIO(所有节点执行):
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
配置集群参数(所有节点相同配置):
/etc/default/minio
文件:MINIO_ROOT_USER="admin"
MINIO_ROOT_PASSWORD="ClusterSecurePass@123"
MINIO_OPTS="--address :9000 --console-address :9001"
MINIO_VOLUMES="http://minio-node{1..4}/data/minio{1..4}"
创建Systemd服务(所有节点相同):
[Unit]
Description=MinIO Cluster Node
After=network.target
[Service]
User=root
Group=root
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
启动集群(所有节点依次执行):
sudo systemctl daemon-reloads
sudo systemctl enable --now minio
验证节点状态(任选一节点执行):
curl http://localhost:9000/minio/cluster/nodes
集群验证:
mc admin info myminio
输出示例:● 4 Online, 0 Offline.
┌─────┬──────────────────────┬──────────────────────────────────────┐
│ # │ Endpoint │ Status │
├─────┼──────────────────────┼──────────────────────────────────────┤
│ 1 │ http://minio-node1 │ Online (4 drives, 16 TB each) │
│ 2 │ http://minio-node2 │ Online (4 drives, 16 TB each) │
│ 3 │ http://minio-node3 │ Online (4 drives, 16 TB each) │
│ 4 │ http://