Linux MinIO安装脚本有哪些
导读: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
