Linux上的MinIO对象存储服务部署和使用指南
作者:15726608245 · 2025-03-06 · 阅读时间:5分钟
本文详细介绍了如何在Linux环境中部署和使用MinIO对象存储服务。MinIO是一款兼容AWS S3协议的开源对象存储解决方案,适用于管理非结构化数据,如图像、视频、日志文件等。本文涵盖了MinIO的三种主要部署拓扑结构:单节点单磁盘、单节点多磁盘以及多节点多磁盘,并探讨了在生产环境中实现高可用性的最佳实践。此外,还介绍了如何使用Docker和Kubernetes进行MinIO的容器化部署,为不同需求的用户提供灵活的选择。
前言
MinIO 是一款高性能的对象存储服务,兼容 AWS S3 协议,适用于非结构化数据的存储和管理。MinIO 提供了灵活的部署方式,包括单节点和分布式集群模式。本文将详细介绍如何在 Linux 环境中部署 MinIO 对象存储,并提供相关的代码示例和配置说明。
MinIO 部署三种拓扑结构
MinIO 支持以下三种部署拓扑:
1. 单节点单磁盘(SNSD)适用于对象存储评估和初始开发。
2. 单节点多磁盘(SNMD)提供驱动器级别的可靠性。
3. 多节点多磁盘(MNMD)支持生产级对象存储,适合企业生产环境。
Linux 部署 MinIO 对象存储
在 Linux 中部署 MinIO 可以选择单节点单磁盘、单节点多磁盘和多节点多磁盘三种方式。对于生产环境,推荐使用多节点多磁盘的方式以提高可靠性和可用性。
Linux 单节点安装 MinIO – 单节点单磁盘
# 使用 systemd 管理 MinIO
pvcreate /dev/sdb
vgcreate vgdata /dev/sdb
lvcreate -n lvdata -l +100%FREE vgdata
mkfs.xfs /dev/vgdata/lvdata
mkdir /minio-data
echo '/dev/vgdata/lvdata /minio-data xfs defaults,noatime 0 2' >> /etc/fstab
mount -a
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20231007150738.0.0.x86_64.rpm -O minio.rpm
sudo yum install minio.rpm
systemctl daemon-reload
systemctl start minio.service
systemctl enable minio.service
MinIO 客户端工具 mc
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
mc alias set local http://127.0.0.1:9000 admin admin123456
mc admin info local
Linux 生产环境 – 单节点多磁盘部署 MinIO
minio_VOLUMES="/data-{1...4}"
# 启动 MinIO 即可
Docker 部署 MinIO 对象存储
使用 Docker 部署 MinIO 可以有效避免服务器环境带来的异常问题。Docker 支持单节点单磁盘和单节点多磁盘的部署。
Docker 部署单节点单磁盘的 MinIO
# 拉取镜像
docker pull quay.io/minio/minio
# 启动容器
docker run -dt -p 9000:9000 -p 9090:9090 -v /data/minio-data-storage:/mnt/data -v /etc/default/minio:/etc/config.env -e "minio_CONFIG_ENV_FILE=/etc/config.env" --name "minio_local" quay.io/minio/minio server --console-address ":9090" /mnt/data
K8s 部署 MinIO
MinIO 支持在 Kubernetes 环境中以原生方式进行部署,适合开发和测试环境。
K8s 部署 MinIO – 单个 Pod(开发环境)
# 下载 YAML
curl https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml
kubectl apply -f minio-dev.yaml
kubectl port-forward pod/minio --address 0.0.0.0 9000:9000 9090:9090 -n minio-dev
总结
MinIO 提供了灵活多样的部署方式,适用于不同的使用场景。无论是 Linux 环境下的单节点部署,还是 Docker 和 Kubernetes 中的分布式部署,MinIO 都能提供可靠的对象存储解决方案。
FAQ
问:什么是 MinIO?
- 答:MinIO 是一款高性能的对象存储服务,兼容 AWS S3 协议,适用于非结构化数据的存储和管理。它提供灵活的部署方式,包括单节点和分布式集群模式。
问:MinIO 支持哪些部署拓扑结构?
- 答:MinIO 支持三种部署拓扑结构:
- 单节点单磁盘(SNSD),适用于对象存储评估和初始开发。
- 单节点多磁盘(SNMD),提供驱动器级别的可靠性。
- 多节点多磁盘(MNMD),支持生产级对象存储,适合企业生产环境。
问:如何在 Linux 上进行单节点单磁盘的 MinIO 部署?
- 答:在 Linux 上进行单节点单磁盘的 MinIO 部署需要使用 systemd 管理 MinIO。首先,创建逻辑卷并格式化为 XFS 文件系统,然后下载 MinIO 的 RPM 包进行安装,最后配置并启动 MinIO 服务。
问:MinIO 的 Docker 部署有哪些优势?
- 答:使用 Docker 部署 MinIO 可以有效避免服务器环境带来的异常问题,支持单节点单磁盘和单节点多磁盘的部署。这种方式提高了部署的灵活性和便捷性。
问:在 Kubernetes 中如何部署 MinIO?
- 答:在 Kubernetes 环境中可以通过 YAML 文件进行 MinIO 的原生部署,适合开发和测试环境。具体步骤包括下载 YAML 配置文件并应用于 Kubernetes 集群,然后通过端口转发访问 MinIO 服务。
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- 9个最佳Text2Sql开源项目:自然语言到SQL的高效转换工具
- 深入解析API网关策略:认证、授权、安全、流量处理与可观测性
- GraphQL API手册:如何构建、测试、使用和记录
- 自助式入职培训服务API:如何让企业管理更上一层楼?
- Python如何调用Jenkins API自动化发布
- 模型压缩四剑客:量化、剪枝、蒸馏、二值化
- 火山引擎如何接入API:从入门到实践的技术指南
- 为什么每个使用 API 的大型企业都需要一个 API 市场来增强其合作伙伴生态系统
- 构建更优质的API:2025年顶级API开发工具推荐 – Strapi
- 外部函数与内存API – Java 22 – 未记录
- FAPI 2.0 深度解析:下一代金融级 API 安全标准与实践指南
- .NET Core 下的 API 网关