在Linux系统中安装MinIO可以分为单机版和集群版两种情况。以下是详细的安装教程:
单机版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" # 端口设置
- 创建Systemd服务:
- 新建
/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
,使用配置的账号密码登录。 - API测试:
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)安装配置:
- 下载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
- 创建存储桶:
- 下载mc:
- 数据持久化与维护:
-
数据备份:
sudo tar czvf minio_backup_$(date +%F).tar.gz /data/minio
-
日志监控:
journalctl -u minio
集群版MinIO安装
- 集群架构要求:
- 组件最低配置:
- 节点数量:4 节点(容忍 1 节点故障)
- 存储:每个节点至少 1 块磁盘
- 组件推荐配置:
- 节点数量:8 节点(容忍 3 节点故障)
- 存储:每个节点 4-8 块磁盘(JBOD 模式)
- 网络:节点间延迟 ≤15ms,带宽 ≥1Gbps;节点间延迟 ≤5ms,带宽 ≥10Gbps
- 部署流程(以4节点为例):
-
环境准备(所有节点执行):
- 创建存储目录:
sudo mkdir -p /data/minio{1..4}
- 假设每节点4块磁盘:
sudo chmod -R 755 /data/minio{1..4}
- 配置主机名解析(/etc/hosts):
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://
- 检查节点状态: