首页主机资讯Linux MinIO安装脚本有哪些

Linux MinIO安装脚本有哪些

时间2025-12-13 00:32:03发布访客分类主机资讯浏览306
导读:Linux 上常见的 MinIO 安装脚本类型 Shell 一键安装脚本:下载官方二进制、放入 PATH、创建 systemd 服务、启动并开机自启,适合快速落地与标准化部署。 发行版包管理器脚本:通过官方提供的仓库脚本添加 APT/YU...

Linux 上常见的 MinIO 安装脚本类型

  • Shell 一键安装脚本:下载官方二进制、放入 PATH、创建 systemd 服务、启动并开机自启,适合快速落地与标准化部署。
  • 发行版包管理器脚本:通过官方提供的仓库脚本添加 APT/YUM 源,再用包管理器安装(如 apt install minio、yum/dnf install minio),便于后续升级与系统级管理。
  • Python 辅助安装脚本:用 Python 封装下载、赋权、systemd 配置与服务启停,便于集成到现有自动化平台。
  • 容器化脚本:使用 Docker 一行命令拉取并运行 MinIO,适合隔离与快速交付。
  • 集群部署脚本:批量在多台机器上分发二进制/包、创建 minio 用户、分发 systemd 与环境文件、统一启动,适合分布式场景。

Shell 一键安装脚本示例

  • 功能:自动识别发行版安装 wget、下载指定版本 MinIO 二进制、配置 systemd 服务、启动并开机自启。
  • 使用:将 MINIO_VERSION 改为需要的版本,执行脚本即可。
#!/usr/bin/env bash
set -e

# 0) 可改为需要的版本
MINIO_VERSION="RELEASE.2023-09-19T21-14-04Z"
MINIO_URL="https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${
MINIO_VERSION}
    "

# 1) root 检查
if [ "$EUID" -ne 0 ];
     then
  echo "请以 root 用户运行此脚本。"
  exit 1
fi

# 2) 安装依赖
if command -v apt-get >
    /dev/null 2>
    &
    1;
     then
  apt-get update &
    &
     apt-get install -y wget
elif command -v yum >
    /dev/null 2>
    &
    1;
     then
  yum install -y wget
else
  echo "未检测到 apt 或 yum,请先安装 wget。"
  exit 1
fi

# 3) 安装 MinIO 二进制
mkdir -p /usr/local/bin
wget -q -O /usr/local/bin/minio "$MINIO_URL"
chmod +x /usr/local/bin/minio

# 4) 数据目录
mkdir -p /usr/local/share/minio

# 5) systemd 服务(示例密钥,生产请替换)
cat >
    /etc/systemd/system/minio.service <
    <
    'EOF'
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=root
Group=root
Environment="MINIO_ACCESS_KEY=minioadmin"
Environment="MINIO_SECRET_KEY=minioadmin"
ExecStart=/usr/local/bin/minio server /usr/local/share/minio
Restart=always

[Install]
WantedBy=multi-user.target
EOF

# 6) 启动
systemctl daemon-reload
systemctl enable --now minio
systemctl status minio --no-pager
  • 提示:生产环境请使用强随机密码,并考虑以非 root 用户运行(创建 minio 用户并调整目录权限)。

发行版包管理器脚本示例

  • APT 系列(Debian/Ubuntu)
curl -fsSL https://min.io/download | bash
sudo mv minio.list /etc/apt/sources.list.d/minio.list
sudo apt update
sudo apt install -y minio
sudo systemctl enable --now minio
  • YUM/DNF 系列(CentOS/RHEL/Fedora)
curl -fsSL https://min.io/download | bash
sudo mv minio.repo /etc/yum.repos.d/minio.repo
sudo yum install -y minio    # 或 dnf install -y minio
sudo systemctl enable --now minio
  • 说明:仓库脚本会添加 MinIO 官方 APT/YUM 源,后续可用系统包管理器升级与维护。

Python 辅助安装脚本示例

  • 功能:用 Python 执行与 Shell 脚本等价的安装流程,便于集成 CI/CD 或内管平台。
#!/usr/bin/env python3
import os, subprocess, sys

def run(*cmd):
    subprocess.check_call(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

if os.geteuid() != 0:
    sys.exit("请以 root 用户运行此脚本。")

# 1) 安装 wget
if subprocess.call(["command", "-v", "apt-get"], stdout=subprocess.DEVNULL) == 0:
    run("apt-get", "update")
    run("apt-get", "install", "-y", "wget")
elif subprocess.call(["command", "-v", "yum"], stdout=subprocess.DEVNULL) == 0:
    run("yum", "install", "-y", "wget")

# 2) 安装 MinIO 二进制
url = "https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2023-09-19T21-14-04Z"
run("wget", "-q", "-O", "/usr/local/bin/minio", url)
os.chmod("/usr/local/bin/minio", 0o755)

# 3) 数据目录
os.makedirs("/usr/local/share/minio", exist_ok=True)

# 4) systemd 服务
service = """[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Environment="MINIO_ACCESS_KEY=minioadmin"
Environment="MINIO_SECRET_KEY=minioadmin"
ExecStart=/usr/local/bin/minio server /usr/local/share/minio
Restart=always
[Install]
WantedBy=multi-user.target
"""
with open("/etc/systemd/system/minio.service", "w") as f:
    f.write(service)

# 5) 启动
run("systemctl", "daemon-reload")
run("systemctl", "enable", "--now", "minio")
print("MinIO 安装并启动完成。")
  • 提示:同样建议生产环境使用强密钥并以非 root 用户运行。

容器化运行脚本示例

  • 单机 Docker
docker run -d \
  -p 9000:9000 -p 9001:9001 \
  -e MINIO_ROOT_USER=myuser \
  -e MINIO_ROOT_PASSWORD=mypassword \
  -v /data/minio:/data \
  minio/minio server /data --console-address ":9001"
  • 说明:将本地目录 /data/minio 挂载到容器内 /data,API 端口 9000,控制台端口 9001

集群部署脚本要点

  • 每台节点执行:
    • 安装二进制或用 RPM/DEB 安装;
    • 创建系统用户 minio 并授权数据目录;
    • 分发统一的 systemd 服务与环境文件(建议使用 /etc/minio/minio.conf);
    • 配置 MINIO_VOLUMES 指向各节点本地磁盘路径;
    • 使用 systemctl 启动并开机自启。
  • 示例环境文件 /etc/minio/minio.conf(按需调整):
MINIO_ROOT_USER=myuser
MINIO_ROOT_PASSWORD=mypassword
MINIO_VOLUMES="http://host1/data/minio http://host2/data/minio http://host3/data/minio http://host4/data/minio"
MINIO_OPTS="--address :9000 --console-address :9001"
  • 启动与验证:
systemctl daemon-reload
systemctl enable --now minio
journalctl -u minio.service -xe
  • 提示:集群需保证节点间网络互通、时间同步、磁盘健康与容量一致,建议使用负载均衡器对外暴露 API 与控制台端口。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux MinIO安装脚本有哪些
本文地址: https://pptw.com/jishu/771121.html
怎样在Linux装MinIO服务器 如何优化Linux MinIO安装

游客 回复需填写必要信息