> 技术文档 > MinIO 安装指南 - Linux ARM64

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
    MinIO 安装指南 - Linux ARM64

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

MinIO 安装指南 - Linux ARM64

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