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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
对象存储 OSS,内容安全 1000 次 1年
简介: MinIO 要求用于存储数据的驱动器必须是独立的、非系统分区,以确保数据的安全性和性能。如果数据目录位于系统根分区,MinIO 会拒绝使用它,并报错。因此我们需要一个新的磁盘来作为MinIO的数据目录挂载点。ext4 是 Linux 系统中广泛使用的一种文件系统,它具备高可靠性、高性能以及支持大文件和大分区等优点。这里使用的是CentOS7版本,使用的是默认下载器yum,如果是CentOS8版本,则使用dnf下载器。挂载/mnt/data到新分区,查看挂载情况。获取新分区/dev/sdb1的UUID。

 

目录

MinIO On Linux

1. 安装官方仓库和 MinIO

2. 创建 MinIO 数据目录

3. 配置 MinIO 环境变量

4. 配置 MinIO 服务文件

5. 访问 MinIO 服务

6. 卸载 MinIO(如果需要)


MinIO On Linux

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

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

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

image.gif 编辑

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

1. 安装官方仓库和 MinIO

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

#官方推荐
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

image.gif

yum安装minio

yum install minio.rpm

image.gif

验证安装是否成功

minio --version

image.gif

image.gif 编辑

2. 创建 MinIO 数据目录

  1. 创建一个目录用于存储 MinIO 数据:
mkdir -p /mnt/data

image.gif

  1. 设置目录权限,添加minio组和用户,确保 MinIO 可以访问:
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

image.gif

3. 配置 MinIO 环境变量

编辑 MinIO 的配置文件:

vim /etc/default/minio

image.gif

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

MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="minioadmin"
MINIO_VOLUMES="/mnt/data"
MINIO_OPTS="--address :9000"

image.gif

4. 配置 MinIO 服务文件

编辑MinIO的服务文件:

vim /usr/lib/systemd/system/minio.service

image.gif

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

[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})

image.gif

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

systemctl daemon-reload

image.gif

5. 访问 MinIO 服务

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

#关闭防火墙
systemctl stop firewalld
#关闭开机启动防火墙
systemctl disable firewalld

image.gif

#启动 MinIO 服务
systemctl start minio
#设置 MinIO 服务开机自启
systemctl enable minio
#停止 MinIO 服务
systemctl stop minio

image.gif

查看 MinIO 日志:

journalctl -u minio.service -f

image.gif

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

yum install lsof
lsof -i :9000
kill -9 <pid>

image.gif

检查 MinIO 服务状态:

systemctl status minio

image.gif

image.gif 编辑

登录MinIO服务

image.gif 编辑

6. 卸载 MinIO(如果需要)

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

sudo yum remove minio
sudo rm -rf /mnt/data
sudo rm -rf /etc/default/minio
sudo rm -rf /etc/yum.repos.d/minio.repo

image.gif

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
打赏
0
58
57
0
23
分享
相关文章
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
710 57
|
2月前
|
SpringBoot × MinIO 极速开发指南:对象存储服务高可用实战
生成临时访问URL接口和文件预览其实是同一个方法,只是文件预览内定了七天访问,而这个方法可以自行制定,单位是秒。方法,所以返回的是地址信息,但是可以通过dubug看到Bucket中的属性,确实是当前所有桶信息。配置类中奖MinIOClient客户端注入到Springboot中。MinIO集群的在Linux上的部署可以参考:​​​​​​​。Nginx代理MinIO集群可以参考:​​​​​​​。从Bucket源码可以看出,并没有实现。
273 0
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
315 17
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
878 77
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
254 23
|
1月前
|
Linux命令拓展:为cp和mv添加进度显示
好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。
128 8
Linux环境下必备的基础命令概览
以上就是Linux系统中的基本命令和工具,掌握它们就能帮你在Linux世界里游刃有余。这其实就像是学习驾驭一辆新车,熟悉了仪表盘,调整好了座椅,之后的旅程就只需要享受风驰电掣的乐趣了。
55 4
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
linux命令—ls
`ls` 是 Linux 系统中用于列出目录内容的基础命令,功能强大且使用频率极高。它可以帮助用户查看文件、分析磁盘空间及检查权限等。常用选项如 `-l` 显示详细信息,`-a` 包含隐藏文件,`-h` 以易读格式展示大小,`-t` 按修改时间排序等。通过组合选项,可实现复杂需求,如递归遍历目录(`-R`)、显示 inode 号(`-i`)或结合正则过滤特定文件。注意权限限制、特殊字符处理及大规模目录操作可能带来的性能问题。掌握 `ls` 是高效使用 Linux 的关键一步。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问