当前位置:首页 > 文章列表 > 文章 > 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=<span>$(hostname)"</span>
      
    • 修改配置:
      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基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    511次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    498次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!
    千音漫语
    千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
    117次使用
  • MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案
    MiniWork
    MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
    112次使用
  • NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛
    NoCode
    NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
    128次使用
  • 达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病
    达医智影
    达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
    121次使用
  • 智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃
    智慧芽Eureka
    智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
    126次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码