当前位置:首页 > 文章列表 > 文章 > linux > 手把手教学!在Linux上搭建MinIO超简单教程

手把手教学!在Linux上搭建MinIO超简单教程

2025-06-20 15:45:17 0浏览 收藏

还在为Linux上安装MinIO发愁吗?本文将手把手教你如何在Linux系统上轻松安装MinIO,无论是单机版还是集群版,都有详细的教程。单机版安装包括环境准备、下载二进制文件、配置环境变量、创建Systemd服务等步骤,更有安全加固和客户端管理工具(mc)的配置方法。集群版安装则涵盖架构要求、组件配置、部署流程以及集群验证,助你快速搭建高可用的MinIO对象存储服务。告别繁琐的安装过程,快速上手MinIO,提升你的开发效率!

Linux系统中MinIO的安装教程

在Linux系统中安装MinIO可以分为单机版和集群版两种情况。以下是详细的安装教程:

单机版MinIO安装

  1. 环境准备:
  • 创建专用存储目录:

    sudo mkdir -p /data/minio
    sudo chown -R $USER:$USER /data/minio  # 非root用户运行时需授权
    
  • 下载MinIO二进制文件:

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    sudo mv minio /usr/local/bin/
    
  • 配置环境变量文件: 创建 /etc/default/minio 文件,写入以下内容:

    MINIO_ROOT_USER="admin"
    MINIO_ROOT_PASSWORD="YourPass@123"  # 管理密码(至少12字符)
    MINIO_VOLUMES="/data/minio"
    MINIO_OPTS="--address :9000 --console-address :9001"  # 端口设置
    
  1. 创建Systemd服务:
  • 新建 /etc/systemd/system/minio.service 文件:
    [Unit]
    Description=MinIO Single Node Service
    After=network.target
    
    [Service]
    User=$USER  # 替换为实际运行用户(需有存储目录权限)
    Group=$USER
    EnvironmentFile=/etc/default/minio
    ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
    Restart=always
    RestartSec=5s
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
    
  1. 启动并验证服务:
  • 重新加载Systemd配置:

    sudo systemctl daemon-reloads
    
  • 启用并启动MinIO服务:

    sudo systemctl enable --now minio
    
  • 检查服务状态:

    sudo systemctl status minio
    

    输出应显示 “Active: active (running)”。

  1. 访问验证:
  • 控制台访问:浏览器访问 http://服务器IP:9001,使用配置的账号密码登录。
  • API测试:
    curl http://localhost:9000/minio/health/live
    
    正常返回 {"status": "ok"}。
  1. 安全加固(可选但推荐):
  • 启用HTTPS:

    • 生成自签名证书:
      sudo mkdir -p /etc/minio/certs
      sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/minio/certs/private.key -out /etc/minio/certs/public.crt -subj "/CN=$(hostname)"
      
    • 修改配置:
      echo 'MINIO_OPTS="$MINIO_OPTS --certs-dir /etc/minio/certs"' | sudo tee -a /etc/default/minio
      sudo systemctl restart minio
      
  • 防火墙配置:

    sudo firewall-cmd --permanent --add-port=9000/tcp --add-port=9001/tcp
    sudo firewall-cmd --reload
    
  • 客户端管理工具(mc)安装配置:

    • 下载mc:
      wget https://dl.min.io/client/mc/release/linux-amd64/mc
      chmod +x mc
      sudo mv mc /usr/local/bin/
      
    • 添加服务器别名:
      mc alias set myminio http://localhost:9000 admin YourPass@123
      
    • 常用命令示例:
      • 创建存储桶:
        mc mb myminio/my-bucket
        
      • 上传文件:
        mc cp ~/testfile.txt myminio/my-bucket
        
      • 设置匿名下载策略:
        mc anonymous set-upload myminio/my-bucket
        
  1. 数据持久化与维护:
  • 数据备份:

    sudo tar czvf minio_backup_$(date +%F).tar.gz /data/minio
    
  • 日志监控:

    journalctl -u minio
    

集群版MinIO安装

  1. 集群架构要求:
  • 组件最低配置:
    • 节点数量:4 节点(容忍 1 节点故障)
    • 存储:每个节点至少 1 块磁盘
  • 组件推荐配置:
    • 节点数量:8 节点(容忍 3 节点故障)
    • 存储:每个节点 4-8 块磁盘(JBOD 模式)
  • 网络:节点间延迟 ≤15ms,带宽 ≥1Gbps;节点间延迟 ≤5ms,带宽 ≥10Gbps
  1. 部署流程(以4节点为例):
  • 环境准备(所有节点执行):

    • 创建存储目录:
      sudo mkdir -p /data/minio{1..4}
      
    • 假设每节点4块磁盘:
      sudo chmod -R 755 /data/minio{1..4}
      
    • 配置主机名解析(/etc/hosts):
      echo "192.168.1.101 minio-node1" | sudo tee -a /etc/hosts
      echo "192.168.1.102 minio-node2" | sudo tee -a /etc/hosts
      echo "192.168.1.103 minio-node3" | sudo tee -a /etc/hosts
      echo "192.168.1.104 minio-node4" | sudo tee -a /etc/hosts
      
  • 安装MinIO(所有节点执行):

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    sudo mv minio /usr/local/bin/
    
  • 配置集群参数(所有节点相同配置):

    • 创建 /etc/default/minio 文件:
      MINIO_ROOT_USER="admin"
      MINIO_ROOT_PASSWORD="ClusterSecurePass@123"
      MINIO_OPTS="--address :9000 --console-address :9001"
      MINIO_VOLUMES="http://minio-node{1..4}/data/minio{1..4}"
      
  • 创建Systemd服务(所有节点相同):

    [Unit]
    Description=MinIO Cluster Node
    After=network.target
    
    [Service]
    User=root
    Group=root
    EnvironmentFile=/etc/default/minio
    ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
    Restart=always
    RestartSec=5s
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
    
  • 启动集群(所有节点依次执行):

    sudo systemctl daemon-reloads
    sudo systemctl enable --now minio
    
  • 验证节点状态(任选一节点执行):

    curl http://localhost:9000/minio/cluster/nodes
    
  • 集群验证:

    • 检查节点状态:
      mc admin info myminio
      
      输出示例:
      ● 4 Online, 0 Offline.
      ┌─────┬──────────────────────┬──────────────────────────────────────┐
      │ # │ Endpoint │ Status │
      ├─────┼──────────────────────┼──────────────────────────────────────┤
      │ 1 │ http://minio-node1 │ Online (4 drives, 16 TB each) │
      │ 2 │ http://minio-node2 │ Online (4 drives, 16 TB each) │
      │ 3 │ http://minio-node3 │ Online (4 drives, 16 TB each) │
      │ 4 │ http://

今天关于《手把手教学!在Linux上搭建MinIO超简单教程》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

手把手教你用Go语言撸一个区块链加密货币系统手把手教你用Go语言撸一个区块链加密货币系统
上一篇
手把手教你用Go语言撸一个区块链加密货币系统
豆包AI教你用纯函数式Scala写代码,这些实战技巧超实用!
下一篇
豆包AI教你用纯函数式Scala写代码,这些实战技巧超实用!
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    375次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    445次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    452次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    398次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    224次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码