手把手教学!在Linux上搭建MinIO超简单教程
时间:2025-06-20 15:45:17 439浏览 收藏
还在为Linux上安装MinIO发愁吗?本文将手把手教你如何在Linux系统上轻松安装MinIO,无论是单机版还是集群版,都有详细的教程。单机版安装包括环境准备、下载二进制文件、配置环境变量、创建Systemd服务等步骤,更有安全加固和客户端管理工具(mc)的配置方法。集群版安装则涵盖架构要求、组件配置、部署流程以及集群验证,助你快速搭建高可用的MinIO对象存储服务。告别繁琐的安装过程,快速上手MinIO,提升你的开发效率!
在Linux系统中安装MinIO可以分为单机版和集群版两种情况。以下是详细的安装教程:
单机版MinIO安装
- 环境准备:
-
创建专用存储目录:
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" # 端口设置
- 创建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
- 启动并验证服务:
-
重新加载Systemd配置:
sudo systemctl daemon-reloads
-
启用并启动MinIO服务:
sudo systemctl enable --now minio
-
检查服务状态:
sudo systemctl status minio
输出应显示 “Active: active (running)”。
- 访问验证:
- 控制台访问:浏览器访问 http://服务器IP:9001,使用配置的账号密码登录。
- API测试:
curl http://localhost:9000/minio/health/live
正常返回 {"status": "ok"}。
- 安全加固(可选但推荐):
-
启用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
- 创建存储桶:
- 下载mc:
- 数据持久化与维护:
-
数据备份:
sudo tar czvf minio_backup_$(date +%F).tar.gz /data/minio
-
日志监控:
journalctl -u minio
集群版MinIO安装
- 集群架构要求:
- 组件最低配置:
- 节点数量:4 节点(容忍 1 节点故障)
- 存储:每个节点至少 1 块磁盘
- 组件推荐配置:
- 节点数量:8 节点(容忍 3 节点故障)
- 存储:每个节点 4-8 块磁盘(JBOD 模式)
- 网络:节点间延迟 ≤15ms,带宽 ≥1Gbps;节点间延迟 ≤5ms,带宽 ≥10Gbps
- 部署流程(以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}"
- 创建 /etc/default/minio 文件:
-
创建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学习网公众号!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
338 收藏
-
478 收藏
-
362 收藏
-
119 收藏
-
294 收藏
-
131 收藏
-
334 收藏
-
387 收藏
-
271 收藏
-
444 收藏
-
422 收藏
-
492 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习