当前位置: 首页 > news >正文

MinIO 安装指南 - Linux ARM64

MinIO 安装指南 - Linux ARM64

1. 系统要求

  • 操作系统:Linux (ARM64架构)
  • 内存:至少2GB RAM
  • 存储:根据数据存储需求准备足够的磁盘空间
  • 网络:确保防火墙开放9000端口(API)和9001端口(控制台)

2. 安装前准备

2.1 创建MinIO用户和组

# 创建minio系统用户(无需登录权限)
sudo groupadd -r minio
sudo useradd -M -r -g minio minio

2.2 创建必要的目录

# 创建数据存储目录
sudo mkdir -p /files/tools/minio/data
sudo chown -R minio:minio /files/tools/minio/data# 创建配置文件目录
sudo mkdir -p /files/tools/minio
sudo chown -R minio:minio /files/tools/minio# 创建日志目录
sudo mkdir -p /files/tools/minio/log
sudo chown -R minio:minio /files/tools/minio/log

3. 安装MinIO

由于您已经下载了MinIO二进制文件,我们继续配置:

3.1 配置MinIO二进制文件

# 确保minio二进制文件有执行权限
sudo chmod +x /files/tools/minio/minio
sudo 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/minio
chmod +x minio
sudo 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.conf
sudo chown minio:minio /files/tools/minio/minio.conf

5. 创建Systemd服务

5.1 创建服务文件

sudo vim /etc/systemd/system/minio.service

添加以下内容:

[Unit]
Description=MinIO Object Storage Server
Documentation=https://docs.min.io
After=network-online.target
Wants=network-online.target[Service]
Type=notify
WorkingDirectory=/files/tools/minio/data
User=minio
Group=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-failure
RestartSec=5# 系统限制
LimitNOFILE=65536
LimitNPROC=4096# 安全设置
PrivateTmp=true
ProtectSystem=full
NoNewPrivileges=true
PrivateDevices=true
ProtectHome=true# 标准输出和错误输出
StandardOutput=journal
StandardError=journal# 关闭时发送SIGTERM信号
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=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/tcp
sudo firewall-cmd --permanent --add-port=9001/tcp
sudo firewall-cmd --reload

7.2 开放端口(如果使用ufw)

sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp
sudo ufw reload

7.3 开放端口(如果使用iptables)

# 开放9000和9001端口
sudo iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9001 -j ACCEPT# 保存iptables规则(根据系统不同选择一种方式)
# 方法1:Ubuntu/Debian
sudo iptables-save > /etc/iptables/rules.v4# 方法2:CentOS/RHEL
sudo service iptables save# 方法3:通用方式(需要安装iptables-persistent)
sudo apt-get install iptables-persistent -y
sudo 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   # firewalld
sudo ufw disable               # ufw
sudo iptables -F               # iptables

8. 访问MinIO

8.1 访问方式

  • API端点: http://服务器IP:9000
  • Web控制台: http://服务器IP:9001
    image-20250725182852277

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/mc
chmod +x mc
sudo 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

image-20250725183033063

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.conf
echo "* hard nofile 65536" | sudo tee -a /etc/security/limits.conf# 优化网络参数
sudo sysctl -w net.core.rmem_max=134217728
sudo 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 minio
sudo journalctl -u minio -n 50# 检查端口占用
sudo netstat -tlnp | grep -E '9000|9001'# 检查权限问题
ls -la /files/tools/minio/data
ls -la /files/tools/minio/minio.conf

14.2 连接问题

# 测试端口连通性
telnet localhost 9000
telnet 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
http://www.dtcms.com/a/298705.html

相关文章:

  • Linux网络管理与IP配置实验指南
  • MySQL 中的“双路排序”与“单路排序”:原理、判别与实战调优
  • 面向对象编程实战:Python打造你的数码宠物世界
  • 【速成速通】嵌入式软硬件学习路径:从 0 到实战的知识图谱
  • IPv6实战指南:从接入到应用
  • 《C++ vector 完全指南:vector的模拟实现》
  • Python应用append()方法向列表末尾添加元素
  • 基于Java的健身房管理系统
  • 比特币技术简史 第九章:比特币的未来 - 发展趋势、挑战和机遇
  • 零基础-动手学深度学习-6.1 从全连接层到卷积
  • 使用IP扫描工具排查网络问题
  • 上海AI Lab长时序感知具身导航!StreamVLN:基于慢快上下文建模的流式视觉语言导航
  • 与 TRON (波场) 区块链进行交互的命令行工具 (CLI): tstroncli
  • 为什么会有 CompletableFuture?它是为了解决什么痛点的?
  • Pandas 处理缺失数据
  • 为 GitHub Pages 站点配置自定义域(Windows)(Linked Page)
  • Android Ntp系统校时流程
  • C#(基本语法)
  • 人工智能冗余:大语言模型为何有时表现不佳(以及我们能做些什么)
  • 推荐系统多目标排序模型以及融合策略
  • WebSocket详解
  • ClickHouse 高性能实时分析数据库-物化视图篇
  • 学习笔记《区块链技术与应用》第二天 共识机制
  • 亚马逊阿联酋推“Amazon Bazaar”:解码中东电商市场的本地化突围
  • 线程安全的单例模式
  • 基于米尔瑞芯微RK3576开发板部署运行TinyMaix:超轻量级推理框架
  • 2025年高防IP全景解读:从流量清洗到智能防御的核心跃迁
  • mib2c --生成标量数据对应c文件
  • NOIP普及组系列【2015】 P2669 [NOIP 2015 普及组] 金币题解
  • GPU 驱动安装升级测试