10分钟搞定 MinIO 单节点多磁盘部署!打造稳定高可用对象存储【二】

	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 "备份 /etc/fstab 为 /etc/fstab.bak..."
    cp /etc/fstab /etc/fstab.bak
    
    echo "写入开机自动挂载配置..."
    grep -q "$UUID" /etc/fstab || echo "UUID=$UUID $MOUNT_POINT xfs defaults 0 0" >> /etc/fstab
    
    echo "挂载完成,验证挂载信息:"
    df -h | gr

你可能感兴趣的:(10分钟搞定 MinIO 单节点多磁盘部署!打造稳定高可用对象存储【二】)