开源地址:https://github.com/minio/minio
官网文档:https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html
一、MinIO介绍
MinIO 是一个高性能、开源的对象存储服务器,基于 Apache License v2.0 开源协议,兼容 Amazon S3 接口。它适用于存储大量非结构化数据,如图片、视频、日志文件、备份数据等,文件大小可以从 几KB 到 5TB 不等。
主要特点:
- 高性能:MinIO 在标准硬件上可以达到 55GB/s 的读速率和 35GB/s 的写速率,甚至在 32 个 NVMe 驱动器节点和 100Gbe 网络上, GET/PUT 速率超过 325GiB /秒和 165 GiB/秒。
- 可扩展性:MinIO支持水平扩展,可以通过增加更多的节点来扩展存储容量和性能。
- 兼容性:MinIO与Amazon S3 API兼容,这使得现有的S3应用程序可以轻松迁移或与MinIO集成。
- 云原生:MinIO支持Kubernetes,适合在云环境中运行,特别是对于微服务架构的应用。
- 安全性:MinIO使用Erasure Code来防止硬件故障,并提供加密、身份验证和授权等功能,确保数据的安全性。
使用场景:
- 大数据存储:适合存储海量的数据,如日志文件、分析数据等。
- 备份与归档:可以用来备份重要的数据,同时也支持长期的数据归档。
- Web应用:可以作为Web应用的静态资源存储库,如图片、视频等。
- 容器化应用:非常适合云原生应用的数据持久化需求。
- IoT应用:可以存储从物联网设备收集的数据。
- 开发者工具:支持多种编程语言的SDK,方便开发者快速集成MinIO到自己的应用中。
二、安装MinIO
这里部署的 MinIO 为单节点单驱动器。
1.创建MinIO安装目录
创建 MinIO 安装目录,并在安装目录下创建 bin
、data
、conf
和 logs
目录,分别用于存放二进制文件、存储数据文件、配置文件和日志文件:
mkdir -p /data/minio/{
bin,data,conf,logs}
2.下载并授权MinIO二进制文件
下载 MinIO 二进制文件,指定下载到 /data/minio/bin
目录下:
wget -P /data/minio/bin https://dl.min.io/server/minio/release/linux-amd64/minio
赋予 MinIO 二进制文件可执行权限:
chmod +x /data/minio/bin/minio
3.配置MinIO环境变量
设置 MinIO 二进制文件所在路径为环境变量:
cat >> /etc/profile <<'EOF'
# minio
export MINIO_HOME=/data/minio
export PATH=$PATH:$MINIO_HOME/bin
EOF
执行生效:
source /etc/profile
4.验证MinIO版本
minio --version
# 输出信息
minio version RELEASE.2024-10-13T13-34-11Z (commit-id=d10bb7e1b667c2df72c394ef1fa52ab4a6802d0f)
Runtime: go1.22.8 linux/amd64
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Copyright: 2015-2024 MinIO, Inc.
5.创建minio用户
useradd -s /sbin/nologin -M minio
6.更改目录所属主和所属组
chown -R minio.minio /data/minio
7.配置启动服务
创建一个名为 minio.service
的 systemd 服务单元文件,用于管理 MinIO 服务,存放于 /usr/lib/systemd/system
目录下,并添加以下内容:
cat > /usr/lib/systemd/system/minio.service <<'EOF'
[Unit]
Description=