目录
- 准备工作
- 操作步骤
- 1. 确认挂载点状态
- 2. 创建专用用户和目录
- 3. 下载ARM版Minio到挂在盘
- 4. 环境变量配置
- 5. 更新Systemd服务配置
- 6. 启动、重启
- 7. 防火墙
- 8. 访问验证
- 9. 故障排查(如服务未启动)
- 结束
准备工作
- 环境要求:Linux虚拟机
操作步骤
全局以/minio目录,此目录挂载了50T的硬盘块
1. 确认挂载点状态
df -h /minio # 确认挂载盘容量(应显示vdb1的50T空间)
ls -ld /minio # 确认目录权限(建议设置为minio-user)
2. 创建专用用户和目录
sudo useradd -r minio-user -s /sbin/nologin# 创建存储子目录(推荐结构)
sudo mkdir -p /minio/{bin,data,config}
sudo chown -R minio-user:minio-user /minio
3. 下载ARM版Minio到挂在盘
# 下载到挂载盘的bin目录
sudo wget https://dl.min.io/server/minio/release/linux-arm64/minio -O /minio/bin/minio# 授予执行权限
sudo chmod +x /minio/bin/minio# 设置用户权限
sudo chown minio-user:minio-user /minio/bin/minio
4. 环境变量配置
创建 sudo vi /etc/default/minio
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=your_strong_password
MINIO_VOLUMES="/minio/data" # 数据存储路径指向挂载盘
MINIO_CONFIG_ENV_FILE="/minio/config/config.env" # 可选配置文件
MINIO_OPTS="--address :9000 --console-address :9001"# 查看文件内容
cat /etc/default/minio# 检查权限(必须为root所有)
ls -l /etc/default/minio
# 正确输出:
-rw-r--r-- 1 root root 216 Aug 10 11:23 /etc/default/minio
5. 更新Systemd服务配置
创建sudo vi /etc/systemd/system/minio.service
[Unit]
Description=MinIO Object Storage
Documentation=https://min.io/docs
After=network.target[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio# 核心启动命令(必须确认路径正确)
ExecStart=/minio/bin/minio server $MINIO_OPTS $MINIO_VOLUMES# 资源限制
LimitNOFILE=65536
LimitMEMLOCK=infinity# 故障恢复策略
Restart=always
RestartSec=5s# 安全保护配置
ProtectHome=true
ProtectSystem=full
ReadWritePaths=/minio/data
PrivateTmp=true
NoNewPrivileges=true[Install]
WantedBy=multi-user.target
- 关键配置验证
# 检查服务文件路径
ls -l /etc/systemd/system/minio.service
# 正确输出:
-rw-r--r-- 1 root root 582 Aug 10 11:25 /etc/systemd/system/minio.service# 检查二进制文件路径
ls -l /minio/bin/minio
# 正确输出:
-rwxr-xr-x 1 minio-user minio-user 104857600 Aug 10 10:15 /minio/bin/minio
6. 启动、重启
- 启动服务并设置开机自启
sudo systemctl enable --now minio
- 重启Minio(restart\start\stop)
sudo systemctl restart minio
- 重载systemd配置
sudo systemctl daemon-reload
- 验证服务状态
systemctl status minio --no-pager -l
- 预期成功状态:
● minio.service - MinIO Object StorageLoaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2023-08-10 11:30:00 CST; 15s agoDocs: https://min.io/docsMain PID: 12345 (minio)Tasks: 9 (limit: 4915)Memory: 128.0MCGroup: /system.slice/minio.service└─12345 /minio/bin/minio server --address 0.0.0.0:9000 --console-address 0.0.0.0:9001 /minio/data
7. 防火墙
- 开放必要端口
# 如果使用firewalld
sudo firewall-cmd --permanent --add-port=9000/tcp # API端口
sudo firewall-cmd --permanent --add-port=9001/tcp # 控制台端口
sudo firewall-cmd --reload# 如果使用iptables
sudo iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9001 -j ACCEPT
sudo service iptables save
- 验证端口监听
sudo netstat -tulnp | grep minio
- 正确输出应包含:
tcp6 0 0 :::9000 :::* LISTEN 12345/minio
tcp6 0 0 :::9001 :::* LISTEN 12345/minio
8. 访问验证
- 控制台访问
http://服务器IP地址:9001 admin
- API验证
curl http://localhost:9000/minio/health/live
9. 故障排查(如服务未启动)
- 查看详细日志
journalctl -u minio -f --since "5 minutes ago"
- SELinux相关排查
# 临时禁用SELinux(测试用)
sudo setenforce 0# 如果服务恢复正常,需创建永久策略
sudo semanage permissive -a minio_t
- 权限深度检查
# 检查所有关键路径权限
sudo namei -l /minio/bin/minio
sudo namei -l /minio/data
结束
👨💻 作者:Teddy(公众号:码尚云软件)
如果本文对您有帮助,欢迎 点赞👍 | 收藏⭐ | 关注👦,获取更多运维干货!
如有疑问,欢迎在评论区留言交流~