首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux单节点单硬盘部署MinIO:安装部署MinIO对象存储服务实战指南

Linux单节点单硬盘部署MinIO:安装部署MinIO对象存储服务实战指南

作者头像
摘星.
发布于 2025-05-20 06:03:38
发布于 2025-05-20 06:03:38
1.1K00
代码可运行
举报
文章被收录于专栏:博客专享博客专享
运行总次数:0
代码可运行

MinIO On Linux

以下是通过 yum 方式在 Linux 上安装和部署 MinIO 的详细步骤。我们将使用 MinIO 官方提供的 RPM 包进行安装。

这里使用的是CentOS7版本,使用的是默认下载器yum,如果是CentOS8版本,则使用dnf下载器

如果安装的过程中出现下方无法解析配置文件中参数的问题,建议直接升级到CentOS7-2009或者更高的版本或者降级MinIO版本,根本原因是低版本的systemd无法解析对应的参数。

南阳理工学院镜像网站:Index of /centos-vault/7.9.2009/isos/x86_64/ | 南阳理工学院开源镜像站 | Nanyang Institute of Technology Open Source Mirror

1. 安装官方仓库和 MinIO

下载并添加 MinIO 的官方仓库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#官方推荐
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250312180418.0.0-1.x86_64.rpm -O minio.rpm

#如果下载速度慢,可以选择aria多线程下载
yum install aria
aria2c -x 16 -s 16 "https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250312180418.0.0-1.x86_64.rpm" -o minio.rpm

yum安装minio

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install minio.rpm

验证安装是否成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
minio --version

2. 创建 MinIO 数据目录

  1. 创建一个目录用于存储 MinIO 数据:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /mnt/data
  1. 设置目录权限,添加minio组和用户,确保 MinIO 可以访问:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown -R minio-user:minio-user /mnt/data
chmod -R 755 /mnt/data

3. 配置 MinIO 环境变量

编辑 MinIO 的配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/default/minio

添加以下内容,替换 <your-username><your-password> 为你自己的管理员账号和密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="minioadmin"
MINIO_VOLUMES="/mnt/data"
MINIO_OPTS="--address :9000"

4. 配置 MinIO 服务文件

编辑MinIO的服务文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /usr/lib/systemd/system/minio.service

下载之后的服务文件是需要参照官方文档给出的模版进行配置的,这里对其做了中文注释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local

User=minio-user
Group=minio-user
ProtectProc=invisible

EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# MinIO 版本 RELEASE.2023-05-04T21-44-30Z 起支持 Type=notify 功能(参考 systemd.service 手册)
# 启用此选项可优化依赖 `After=minio.server` 的其他服务的 systemctl 配置
# 取消注释以下行以启用此功能
# Type=notify

# 允许 systemd 始终自动重启此服务
Restart=always

# 指定此进程可以打开的最大文件描述符数量
LimitNOFILE=65536

# 指定此进程可以创建的最大线程数
TasksMax=infinity

# 禁用停止超时逻辑,等待进程完全停止
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

# Built for ${project.name}-${project.version} (${project.name})

配置完成之后,重新加载 systemd 服务配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl daemon-reload

5. 访问 MinIO 服务

从外部访问虚拟机上的服务需要先关闭防火墙

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#关闭防火墙
systemctl stop firewalld
#关闭开机启动防火墙
systemctl disable firewalld
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#启动 MinIO 服务
systemctl start minio
#设置 MinIO 服务开机自启
systemctl enable minio
#停止 MinIO 服务
systemctl stop minio

查看 MinIO 日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
journalctl -u minio.service -f

若服务端口占用,lsof查看端口使用情况,杀死对应进程或者修改配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install lsof
lsof -i :9000
kill -9 <pid>

检查 MinIO 服务状态:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl status minio

登录MinIO服务

6. 卸载 MinIO(如果需要)

如果需要卸载 MinIO,可以执行以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo yum remove minio
sudo rm -rf /mnt/data
sudo rm -rf /etc/default/minio
sudo rm -rf /etc/yum.repos.d/minio.repo
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验