MinIO 是一个**高性能、开源的对象存储系统**,主要用于存储非结构化数据(如图片、视频、文档、备份等),与 Amazon S3 完全兼容。它被广泛用于云原生应用、大数据分析、AI 模型存储、容器平台(如 Kubernetes)等场景。
MinIO 支持多种部署模式,其中:
单节点单磁盘(Single-Node Single-Drive) 模式适用于开发测试、小规模应用或资源受限的场景。它的部署简单,不依赖集群、分布式架构或复杂的底层存储系统。
相比之下:
本文介绍的是 单节点多磁盘(Single-Node Multi-Drive, SNMD) 模式,适用于需要基本容错能力和磁盘级可靠性的生产场景。SNMD 部署利用 MinIO 的 纠删码(Erasure Coding) 技术,在单节点的前提下,实现了对单盘故障的自动恢复。
SNMD 模式为你提供了较好的数据安全性,但其性能与扩展能力受限于单节点资源。因此:
💡 MinIO 官方建议:在生产环境中使用 “多节点多磁盘(Distributed)” 部署模式,以获得企业级的性能、可用性和可扩展性。
🛠️ 下面是 MinIO 单节点多磁盘部署的详细安装步骤。该模式适合希望简化部署的用户,同时又希望具备基础的容错和高可用能力。
官网地址:https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-multi-drive.html
一、MinIO 单节点单磁盘安装步骤
1. 环境准备
说明:这里只是演示安装步骤,如果需要可靠环境,磁盘数量至少为6块。
-
操作系统:建议使用 Linux Ubuntu 24.04
-
硬件:2C 16G 40G*2
1.1 磁盘格式化及挂载
format_and_mount.sh
#!/bin/bash set -e # 检查参数 if [ $# -ne 2 ]; then echo "用法: $0 <磁盘设备名> <挂载点目录>" echo "示例: $0 /dev/vdb /mnt/data1" exit 1 fi DISK_DEVICE="/dev/$1" MOUNT_POINT=$2 # 检查磁盘是否存在 if [ ! -b "$DISK_DEVICE" ]; then echo "错误:设备 $DISK_DEVICE 不存在。" exit 2 fi # 创建挂载目录 echo "创建挂载目录 $MOUNT_POINT..." mkdir -p "$MOUNT_POINT" # 格式化磁盘为XFS echo "格式化 $DISK_DEVICE 为 XFS 文件系统..." mkfs.xfs -f "$DISK_DEVICE" # 获取UUID UUID=$(blkid -s UUID -o value "$DISK_DEVICE") if [ -z "$UUID" ]; then echo "获取 UUID 失败,退出。" exit 3 fi # 挂载磁盘 echo "挂载 $DISK_DEVICE 到 $MOUNT_POINT..." mount "$DISK_DEVICE" "$MOUNT_POINT" # 备份 fstab 并写入自动挂载配置 echo &