MinIO 安装指南 - Linux ARM64
MinIO 安装指南 - Linux ARM64
1. 系统要求
- 操作系统:Linux (ARM64架构)
- 内存:至少2GB RAM
- 存储:根据数据存储需求准备足够的磁盘空间
- 网络:确保防火墙开放9000端口(API)和9001端口(控制台)
2. 安装前准备
2.1 创建MinIO用户和组
# 创建minio系统用户(无需登录权限)sudo groupadd -r miniosudo useradd -M -r -g minio minio
2.2 创建必要的目录
# 创建数据存储目录sudo mkdir -p /files/tools/minio/datasudo chown -R minio:minio /files/tools/minio/data# 创建配置文件目录sudo mkdir -p /files/tools/miniosudo chown -R minio:minio /files/tools/minio# 创建日志目录sudo mkdir -p /files/tools/minio/logsudo chown -R minio:minio /files/tools/minio/log
3. 安装MinIO
由于您已经下载了MinIO二进制文件,我们继续配置:
3.1 配置MinIO二进制文件
# 确保minio二进制文件有执行权限sudo chmod +x /files/tools/minio/miniosudo chown minio:minio /files/tools/minio/minio# 验证安装/files/tools/minio/minio --version
3.2 如果需要重新下载(可选)
# 下载最新的ARM64版本到MinIO目录cd /files/tools/minio/wget https://dl.min.io/server/minio/release/linux-arm64/miniochmod +x miniosudo chown minio:minio minio
4. 配置MinIO
4.1 创建环境配置文件
sudo vim /files/tools/minio/minio.conf
添加以下内容:
# MinIO配置文件# MinIO访问密钥(用户名)- 至少3个字符MINIO_ROOT_USER=\"minioadmin\"# MinIO密钥(密码)- 至少8个字符MINIO_ROOT_PASSWORD=\"minioadmin123\"# MinIO数据目录MINIO_VOLUMES=\"/files/tools/minio/data\"# MinIO监听地址和端口MINIO_ADDRESS=\":9000\"# MinIO控制台地址和端口MINIO_CONSOLE_ADDRESS=\":9001\"# 区域设置(可选)MINIO_REGION=\"cn-north-1\"# 启用浏览器访问MINIO_BROWSER=\"on\"# 日志配置MINIO_LOG_DIR=\"/files/tools/minio/log\"
4.2 设置权限
sudo chmod 600 /files/tools/minio/minio.confsudo chown minio:minio /files/tools/minio/minio.conf
5. 创建Systemd服务
5.1 创建服务文件
sudo vim /etc/systemd/system/minio.service
添加以下内容:
[Unit]Description=MinIO Object Storage ServerDocumentation=https://docs.min.ioAfter=network-online.targetWants=network-online.target[Service]Type=notifyWorkingDirectory=/files/tools/minio/dataUser=minioGroup=minio# 环境配置文件EnvironmentFile=/files/tools/minio/minio.conf# 启动命令ExecStart=/files/tools/minio/minio server $MINIO_VOLUMES --address $MINIO_ADDRESS --console-address $MINIO_CONSOLE_ADDRESS# 重启策略Restart=on-failureRestartSec=5# 系统限制LimitNOFILE=65536LimitNPROC=4096# 安全设置PrivateTmp=trueProtectSystem=fullNoNewPrivileges=truePrivateDevices=trueProtectHome=true# 标准输出和错误输出StandardOutput=journalStandardError=journal# 关闭时发送SIGTERM信号KillSignal=SIGTERMSendSIGKILL=noSuccessExitStatus=0[Install]WantedBy=multi-user.target
5.2 重新加载systemd配置
sudo systemctl daemon-reload
6. 启动和管理MinIO
6.1 启动MinIO服务
# 启动服务sudo systemctl start minio# 设置开机自启动sudo systemctl enable minio# 查看服务状态sudo systemctl status minio
6.2 查看日志
# 查看实时日志sudo journalctl -u minio -f# 查看最近的日志sudo journalctl -u minio -n 100
7. 防火墙配置
7.1 开放端口(如果使用firewalld)
sudo firewall-cmd --permanent --add-port=9000/tcpsudo firewall-cmd --permanent --add-port=9001/tcpsudo firewall-cmd --reload
7.2 开放端口(如果使用ufw)
sudo ufw allow 9000/tcpsudo ufw allow 9001/tcpsudo ufw reload
7.3 开放端口(如果使用iptables)
# 开放9000和9001端口sudo iptables -A INPUT -p tcp --dport 9000 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 9001 -j ACCEPT# 保存iptables规则(根据系统不同选择一种方式)# 方法1:Ubuntu/Debiansudo iptables-save > /etc/iptables/rules.v4# 方法2:CentOS/RHELsudo service iptables save# 方法3:通用方式(需要安装iptables-persistent)sudo apt-get install iptables-persistent -ysudo netfilter-persistent save
7.5 如果遇到连接问题
# 检查端口是否开放sudo netstat -tulnp | grep -E \'9000|9001\'# 检查防火墙规则sudo iptables -L -n --line-numbers | grep -E \'9000|9001\'# 临时关闭防火墙测试(不推荐生产环境)sudo systemctl stop firewalld # firewalldsudo ufw disable # ufwsudo iptables -F # iptables
8. 访问MinIO
8.1 访问方式
- API端点: http://服务器IP:9000
- Web控制台: http://服务器IP:9001
8.2 登录凭证
- 用户名:minioadmin(在配置文件中设置的MINIO_ROOT_USER)
- 密码:minioadmin123(在配置文件中设置的MINIO_ROOT_PASSWORD)
9. MinIO客户端工具(mc)安装
9.1 下载并安装mc
# 下载ARM64版本的mc到MinIO目录cd /files/tools/minio/wget https://dl.min.io/client/mc/release/linux-arm64/mcchmod +x mcsudo chown minio:minio mc# 验证安装/files/tools/minio/mc --version# 创建软链接(可选,方便使用)sudo ln -s /files/tools/minio/mc /usr/local/bin/mc
9.2 配置mc连接到MinIO
# 添加MinIO服务器配置mc alias set myminio http://localhost:9000 minioadmin minioadmin123# 测试连接mc admin info myminio
10. 常用操作示例
注意:新版Minio以无法通过UI界面修改桶权限,相关操作只能通过mc命令去执行
10.1 创建存储桶
# 使用mc创建存储桶mc mb myminio/mybucket# 列出所有存储桶mc ls myminio
10.2 上传文件
# 上传单个文件mc cp /path/to/file myminio/mybucket# 上传整个目录mc cp --recursive /path/to/directory myminio/mybucket
10.3 设置存储桶策略
# 设置存储桶为公开读取mc anonymous set public myminio/mybucket# 设置存储桶为私有mc anonymous set private myminio/mybucket
11. 性能优化建议
11.1 系统优化
# 增加系统文件描述符限制echo \"* soft nofile 65536\" | sudo tee -a /etc/security/limits.confecho \"* hard nofile 65536\" | sudo tee -a /etc/security/limits.conf# 优化网络参数sudo sysctl -w net.core.rmem_max=134217728sudo sysctl -w net.core.wmem_max=134217728
11.2 MinIO配置优化
在/files/tools/minio/minio.conf
中添加:
# 设置并发连接数MINIO_API_REQUESTS_MAX=1000# 设置请求超时时间MINIO_API_REQUESTS_DEADLINE=\"30s\"
12. 备份和恢复
12.1 备份MinIO数据
# 使用mc镜像功能备份mc mirror --overwrite myminio/mybucket /backup/mybucket# 使用rsync备份数据目录sudo rsync -avz /files/tools/minio/data/ /backup/minio/
12.2 恢复数据
# 恢复存储桶数据mc mirror --overwrite /backup/mybucket myminio/mybucket# 恢复整个数据目录sudo rsync -avz /backup/minio/ /files/tools/minio/data/sudo chown -R minio:minio /files/tools/minio/data
13. 监控和维护
查看服务器信息
# 查看服务器状态mc admin info myminio# 查看磁盘使用情况mc admin disk info myminio
14. 故障排除
14.1 服务无法启动
# 检查服务状态和错误信息sudo systemctl status miniosudo journalctl -u minio -n 50# 检查端口占用sudo netstat -tlnp | grep -E \'9000|9001\'# 检查权限问题ls -la /files/tools/minio/datals -la /files/tools/minio/minio.conf
14.2 连接问题
# 测试端口连通性telnet localhost 9000telnet localhost 9001# 检查防火墙规则sudo iptables -L -n | grep -E \'9000|9001\'
14.3 重置管理员密码
# 停止MinIO服务sudo systemctl stop minio# 修改配置文件中的密码sudo nano /files/tools/minio/minio.conf# 重启服务sudo systemctl start minio
附录:常见配置示例
A.1 多磁盘配置
# 在minio.conf中配置多个磁盘MINIO_VOLUMES=\"/files/tools/minio/data1 /files/tools/minio/data2 /files/tools/minio/data3 /files/tools/minio/data4\"
A.2 集群模式配置
# 配置分布式MinIO(4节点示例)MINIO_VOLUMES=\"http://node{1...4}/files/tools/minio/data\"
A.3 启用TLS/SSL
# 将证书文件放置在以下位置/files/tools/minio/certs/public.crt/files/tools/minio/certs/private.key# MinIO会自动检测并启用HTTPS