温馨提示×

Linux MinIO安装脚本的使用方法

小樊
40
2025-11-28 21:02:40
栏目: 智能运维

Linux MinIO安装脚本使用方法

一 准备与下载

  • 准备一台64位 Linux主机,建议使用静态IP,并开放端口:9000(S3 API)与9001(控制台)。如使用云服务器,请在安全组放行对应端口。
  • 安装依赖工具(至少包含wgetcurl):
    Ubuntu/Debian:sudo apt-get update && sudo apt-get install -y wget
    CentOS/RHEL:sudo yum install -y wget
  • 选择架构并下载二进制(示例为 linux-amd64):
    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    如需国内加速,可将域名替换为:dl.minio.org.cn
  • 赋予执行权限并放入系统路径:
    chmod +x minio && sudo mv minio /usr/local/bin/
  • 验证安装:minio --version。

二 一键安装脚本示例

  • 单机版脚本(适合快速试用,使用环境变量设置凭据,生产环境请改为强口令并持久化到服务单元):
#!/usr/bin/env bash
set -e

# 0) 可改为你的架构:linux-amd64/linux-arm64 等
ARCH="linux-amd64"
MINIO_BIN="/usr/local/bin/minio"
DATA_DIR="/data"

# 1) 安装依赖
if command -v apt-get >/dev/null 2>&1; then
  sudo apt-get update && sudo apt-get install -y wget
elif command -v yum >/dev/null 2>&1; then
  sudo yum install -y wget
fi

# 2) 下载并安装 MinIO
sudo mkdir -p "$(dirname "$MINIO_BIN")"
wget -q "https://dl.min.io/server/minio/release/$ARCH/minio" -O "$MINIO_BIN"
sudo chmod +x "$MINIO_BIN"

# 3) 创建数据目录
sudo mkdir -p "$DATA_DIR"

# 4) 设置控制台端口(API仍为9000)
export MINIO_ROOT_USER="admin"
export MINIO_ROOT_PASSWORD="YourStrongP@ssw0rd"

# 5) 前台启动(便于首次验证)
echo "Starting MinIO at http://$(hostname -I | awk '{print $1}'):9000"
echo "Console at http://$(hostname -I | awk '{print $1}'):9001"
exec "$MINIO_BIN" server "$DATA_DIR" --console-address ":9001"
  • 使用方式:
    1. 保存为 install_minio.sh
    2. chmod +x install_minio.sh
    3. ./install_minio.sh
  • 说明:上述脚本演示了下载、授权、目录准备、环境变量与启动命令的最小闭环;生产环境建议使用 systemd 托管并将凭据写入服务环境或受管配置中。

三 生产环境建议 systemd 托管

  • 创建专用用户与目录(示例用户:minio):
    sudo useradd -m -d /app/minio -s /usr/sbin/nologin minio
    sudo mkdir -p /app/minioData /app/minio/logs
    sudo chown -R minio:minio /app/minio /app/minioData /app/minio/logs
  • 创建服务文件 /etc/systemd/system/minio.service(将凭据写入服务环境,避免命令行暴露):
[Unit]
Description=MinIO Object Storage
After=network.target

[Service]
Type=simple
User=minio
Group=minio
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd"
ExecStart=/usr/local/bin/minio server /app/minioData --console-address ":9001"
Restart=always
LimitNOFILE=65536

StandardOutput=/app/minio/logs/minio.log
StandardError=/app/minio/logs/minio-error.log

[Install]
WantedBy=multi-user.target
  • 启动与开机自启:
    sudo systemctl daemon-reload
    sudo systemctl enable --now minio
    sudo systemctl status minio
  • 说明:示例采用新环境变量名(MINIO_ROOT_USER / MINIO_ROOT_PASSWORD),与旧变量名(MINIO_ACCESS_KEY / MINIO_SECRET_KEY)作用等同,建议统一使用新变量名。

四 分布式部署脚本要点

  • 前置条件:至少2台以上节点,配置NTP时间同步;为安全与隔离建议创建minio系统用户并统一目录权限。
  • 在所有节点准备数据与日志目录并赋权(如上)。
  • 在其中一台节点准备启动脚本或 systemd 服务,关键是指定所有节点的卷地址(HTTP 或 HTTPS 直连各节点数据目录):
    export MINIO_ROOT_USER=admin
    export MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd
    export MINIO_VOLUMES=“http://192.168.1.11/app/minioData http://192.168.1.12/app/minioData”
    /usr/local/bin/minio server $MINIO_VOLUMES --console-address “:9001”
  • 说明:分布式部署以“卷地址列表”的方式启动,MinIO 会自动进行数据放置与纠删码/副本策略管理;确保节点间网络互通、时间一致与目录权限正确。

五 验证与常见问题

  • 验证与访问:
    • API:http://<服务器IP>:9000
    • 控制台:http://<服务器IP>:9001
    • 首次若未设置凭据,MinIO 可能使用默认账号(如 minioadmin/minioadmin),生产环境务必设置强口令。
  • 常见问题处理:
    • 命令未找到:确认 /usr/local/bin 在 PATH,或使用绝对路径执行。
    • 权限不足:确保数据目录与日志目录属主为运行用户(如 minio:minio)。
    • 端口不通:检查云安全组/本机防火墙(放行 9000/9001),以及服务是否监听对应地址。
    • 架构不匹配:确认下载的 linux-amd64/arm64 与服务器架构一致。
    • 日志排查:journalctl -u minio -f 或查看 /app/minio/logs/minio.log。

0