MinIO对象存储详细安装教程

简介: MinIO对象存储详细安装教程

介绍

​ 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

挂载磁盘

使用独立目录挂载一块磁盘,所有机器都需要挂载

[root@172.16.24.194 minio]# df -h 
/dev/sdb1              100G   33M  100G   1% /data1

安装MinIO

创建目录

mkdir minio && mkdir -p minio/{bin,conf,data1,data2,log}

下载安装文件

cd minio/bin && wget https://dl.min.io/server/minio/release/linux-amd64/minio

设置执行权限

chmod +x bin/minio

目录结构如下

# tree 
.
├── bin
│   └── minio
├── conf
├── data1
└── data2

所有节点都需要执行上述步骤

也可以使用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 &

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;
  }
}
}

四台服务器均需要放置该脚本,并依次启动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).

使用

Console使用

访问地址:http://ip:9001 输入run.sh配置的账号密码

image-20230817102457097

点击创建Create Bucket

image-20230817103426194

image-20230817104428901

image-20230817104935647

点击进入pic -> 点击 Upload

image-20230817104953324

上传文件或者目录

image-20230817105030365

可能报的错误

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)

集群部署需要独占磁盘分区,不能使用文件夹代替。

解决方法

挂载磁盘

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

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
目录
相关文章
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
926 1
|
9月前
|
存储 Java Linux
SpringBoot × MinIO 极速开发指南:对象存储服务高可用实战
生成临时访问URL接口和文件预览其实是同一个方法,只是文件预览内定了七天访问,而这个方法可以自行制定,单位是秒。方法,所以返回的是地址信息,但是可以通过dubug看到Bucket中的属性,确实是当前所有桶信息。配置类中奖MinIOClient客户端注入到Springboot中。MinIO集群的在Linux上的部署可以参考:​​​​​​​。Nginx代理MinIO集群可以参考:​​​​​​​。从Bucket源码可以看出,并没有实现。
890 0
|
存储 Java API
开源对象存储服务(MinIO),正在备受欢迎!
本文介绍了MinIO,一个高性能、开源的对象存储服务器,兼容Amazon S3 API,适合存储大量非结构化数据。文章详细讲解了MinIO在Java中的使用方法,包括添加依赖、初始化客户端、基本操作(创建桶、上传/下载/删除对象)和高级功能(设置桶策略、使用预签名URL),并提供了Spring Boot集成MinIO的示例。
1480 4
|
存储 Java 开发工具
轻松搭建分布式对象存储:Spring Boot整合MinIO的快速指南
轻松搭建分布式对象存储:Spring Boot整合MinIO的快速指南
1383 0
轻松搭建分布式对象存储:Spring Boot整合MinIO的快速指南
|
存储 负载均衡 Cloud Native
【专栏】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称
【4月更文挑战第28天】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称,适用于存储多媒体内容。通过组建Minio集群,可实现高可用性、高性能、可扩展性和数据保护。搭建集群包括安装Minio、配置集群参数、启动节点、验证集群状态、设置访问权限及可选的数据迁移步骤。Minio集群是实现可靠且高性能存储解决方案的理想选择,适合各种应用场景。
961 0
|
存储 对象存储 数据安全/隐私保护
Docker部署MinIO对象存储服务
Docker部署MinIO对象存储服务
829 0
|
存储 消息中间件 Ubuntu
如何在 Ubuntu 20.04 上以独立模式设置 MinIO 对象存储服务器
在本教程中,将通过以下方式设置 MinIO 的独立部署: - 在运行 Ubuntu 20.04 的服务器上安装 MinIO 服务器。 - 个人计算机上安装 MinIO 客户端并将其配置为与 MinIO 服务器通信。 - 设置数字证书以保护服务器和客户端之间的通信(包括通过 MinIO 控制台)。
1119 1
|
存储 Cloud Native 数据挖掘
MinIO作为一种开源的对象存储系统,具有以下核心特点
MinIO作为一种开源的对象存储系统,具有以下核心特点
970 0
|
存储 运维 Cloud Native
MinIO与传统的对象存储系统相比有以下几个不同之处
MinIO与传统的对象存储系统相比有以下几个不同之处
666 0