MinIO 安装指南 - Linux ARM64

发布于:2025-07-27 ⋅ 阅读:(22) ⋅ 点赞:(0)

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

网站公告

今日签到

点亮在社区的每一天
去签到