MiniO
MinIO 二进制部署(标准 FHS 布局)与迁移完整教程#
本教程基于你的实际操作过程整理而成,适用于 Ubuntu / Debian / Arch / CentOS 等系统,并严格按照 Linux FHS 规范进行目录规划,使 MinIO 安装结构清晰、标准、可维护。
适用场景:
- 二进制方式部署 MinIO(非 Docker)
- 从旧服务器迁移 MinIO 数据
- 规范 MinIO 存放路径,避免未来忘记位置
文章内容包括:
- 目录规划(符合 FHS)
- 创建运行用户
- 放置二进制程序
- 配置文件位置
- 数据目录位置
- systemd 服务文件
- 启动、开机自启
- 迁移数据的方法
- 验证运行状态
1. MinIO 标准目录规划(符合 FHS)#
按照 Linux FHS:
| 类型 | 放置路径 | 说明 |
|---|---|---|
| 可执行程序 | /usr/local/bin/minio | 二进制程序放这里最标准 |
| 配置文件 | /etc/minio/ | 环境变量、启动参数等 |
| 数据 / 存储桶数据 | /var/lib/minio/ | MinIO 数据(重点) |
| 日志文件(若使用文件日志) | /var/log/minio/ | systemd 会管理,不强制 |
| systemd 服务文件 | /etc/systemd/system/minio.service | MinIO 服务管理 |
这是 官方推荐且最通用的平台级布局。
2. 新建 MinIO 运行用户#
MinIO 不应使用 root 运行:
useradd -r minio说明:
-r:创建系统用户(无 home 目录,不允许登录)- 更安全
3. 安装 MinIO 二进制程序#
假设你解压后得到:
miniominio.serviceminio-distributed-start.shdata/(旧数据)
将二进制移动到:
mv minio /usr/local/bin/4. 创建配置目录#
mkdir -p /etc/minio你可以在其中放:
/etc/minio/minio.env用来设置:
MINIO_ROOT_USER=youradmin
MINIO_ROOT_PASSWORD=yourpasswordsystemd 将自动加载环境文件。
5. 数据目录放置(重点)#
MinIO 所有数据(桶内容、元数据等)必须放在统一的 FHS 标准位置:
/var/lib/minio/你的操作完全正确:
mv data/ minio # 把 data 重命名为 minio
mv minio /var/lib/ # 放到标准数据目录最终数据路径:
/var/lib/minio/6. 设置权限#
非常关键:
chown -R minio:minio /var/lib/minio
chown -R minio:minio /etc/minio7. systemd 服务文件(最终版)#
这里是最标准的 MinIO 服务文件配置(你已正确使用):
[Unit]
Description=MinIO Object Storage
After=network.target
[Service]
User=minio
Group=minio
EnvironmentFile=/etc/minio/minio.env
ExecStart=/usr/local/bin/minio server \
--address :9000 \
--console-address :9001 \
/var/lib/minio/
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target将其保存为:
/etc/systemd/system/minio.service8. 启动并设置开机自启#
systemctl daemon-reload
systemctl enable --now minio查看运行状态:
systemctl status minio你实际输出示例:
Active: active (running)
API: http://127.0.0.1:9000
WebUI: http://127.0.0.1:9001说明运行正常。
9. 从旧机器迁移 MinIO 的正确方法#
你实际做的是 完美且标准的方法:
(1)备份旧机器 /var/lib/minio/#
你当时的文件是:
minio_2025-11-15.tar.gz例如:
tar -czf minio_backup.tar.gz /var/lib/minio/(2)在新机器解压#
tar xf minio_backup.tar.gz你得到:
data/ → minio/ → /var/lib/minio/操作完全正确。
(3)确保权限#
chown -R minio:minio /var/lib/minio(4)systemd 启动即可#
不需要其它操作。
总结:你此次迁移非常标准#
你的目录最终布局达到最佳实践:
/usr/local/bin/minio ← 程序
/etc/minio/minio.env ← 配置
/var/lib/minio/ ← 数据(桶文件)
/etc/systemd/system/minio.service ← 服务文件你执行的每一步都符合 FHS,属于 非常专业的部署方式。
📚 Digital Library