MinIO对象存储详细安装教程
[toc]
# 介绍
MinIO 是一种对象存储解决方案,MinIO 旨在部署在任何地方——公共或私有云、裸机基础设施、编排环境和边缘基础设施。Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。基于Apache License v2.0开源协议的对象存储项目,采用Golang实现,客户端支Java,Python,Javacript, Golang语言。
其设计的主要目标是作为私有云对象存储的标准方案。主要用于存储海量的图片,视频,文档等。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几KB到最大5T不等。
# 安装部署
# 安装服务器
172.16.24.194
172.16.24.195
172.16.24.196
操作系统:CentOS 7.9
# 开放服务使用端口
如果防火墙已经关闭则跳过该步骤
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload
1
2
2
# 挂载磁盘
使用独立目录挂载一块磁盘,所有机器都需要挂载
[root@172.16.24.194 minio]# df -h
/dev/sdb1 100G 33M 100G 1% /data1
1
2
2
# 安装MinIO
# 创建目录
mkdir minio && mkdir -p minio/{bin,conf,data1,data2,log}
1
# 下载安装文件
cd minio/bin && wget https://dl.min.io/server/minio/release/linux-amd64/minio
1
# 设置执行权限
chmod +x bin/minio
1
# 目录结构如下
# tree
.
├── bin
│ └── minio
├── conf
├── data1
└── data2
1
2
3
4
5
6
7
2
3
4
5
6
7
# 所有节点都需要执行上述步骤
也可以使用
scp -r minio/ root@172.16.24.196:/opt
同步
# 编写启动脚本
# vim run.sh
#!/bin/bash
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minioMMMMmmmm
# 这里配置的 MINIO_SERVER_URL 参数为Nginx地址,Nginx转发的就是MinIO服务地址,这里配置后,在Console页面Share时候的链接才会为http://172.16.24.251,否则share的链接为127.0.0.1
export MINIO_SERVER_URL=http://172.16.24.251
bin/minio server --address ":9000" --console-address ":9001" \
http://172.16.24.194/data1 \
http://172.16.24.195/data1 \
http://172.16.24.196/data1 \
http://172.16.24.197/data1 \
> minio.log &
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Nginx配置
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream minio{ server 172.16.24.194:9000; server 172.16.24.195:9000; server 172.16.24.196:9000; server 172.16.24.197:9000; } server { listen 80; server_name localhost; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_connect_timeout 300; # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 proxy_http_version 1.1; proxy_set_header Connection ""; chunked_transfer_encoding off; root html; index index.html index.htm; proxy_pass http://minio; } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
四台服务器均需要放置该脚本,并依次启动sh run.sh
启动成功提示如下
S3-API: http://172.16.24.197:9000 http://127.0.0.1:9000
Console: http://172.16.24.197:9001 http://127.0.0.1:9001
Documentation: https://min.io/docs/minio/linux/index.html
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ You are running an older version of MinIO released 6 days before the latest release ┃
┃ Update: Run `mc admin update` ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Healing drive 'http://172.16.24.197:9000/data1' - 'mc admin heal alias/ --verbose' to check the current status.
Healing of drive '/data1' complete (healed: 1, failed: 0).
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 使用
# Console使用
访问地址:http://ip:9001
输入run.sh
配置的账号密码
点击创建Create Bucket
点击进入pic
-> 点击 Upload
上传文件或者目录
# 可能报的错误
# is part of root drive, will not be used
Error: Drive `http://172.16.24.195:9000/opt/minio/data2` is part of root drive, will not be used (*errors.errorString)
1
集群部署需要独占磁盘分区,不能使用文件夹代替。
解决方法
挂载磁盘
# The request signature we calculated does not match the signature you provided
https://blog.csdn.net/weixin_44299027/article/details/131192641
# 参考资料
https://www.wenjiangs.com/doc/minio-minio-quickstart-guide
上次更新: 2023/08/17, 17:07:55