Minio下载与安装及其多驱多节点部署 + Nginx做负载均衡

news/2024/11/15 0:46:18/

Minio下载与安装及其多驱多节点部署 + Nginx做负载均衡

1、Minio概述

MinIO是一个开源的分布式对象存储服务器,它兼容Amazon S3服务接口。它是一个轻量级、高性能、高可用性的存储解决方案,可用于存储和检索大规模数据对象。

以下是MinIO的一些关键特点和概述:

  • 对象存储:MinIO以对象的形式存储数据,每个对象包含数据本身、元数据和唯一的标识符(Object ID)。

  • 分布式架构:MinIO支持分布式部署,可以横向扩展以处理大规模数据存储需求。它采用分布式的存储和访问模型,能够在多个节点上并行处理请求,实现高吞吐量和低延迟。

  • 高可用性:MinIO提供高可用性的存储方案,通过数据冗余和容错机制,确保数据的可靠性和持久性。它支持数据的多副本复制和故障恢复,保证数据的可用性。

  • 安全性:MinIO支持数据加密和访问控制,可以通过SSL/TLS保护数据的传输安全性。它还提供身份验证和授权机制,可以细粒度地控制对存储桶和对象的访问权限。

  • 兼容性:MinIO与Amazon S3兼容,可以无缝地与现有的S3应用程序和工具集成。它提供了S3 API接口,使开发人员能够直接使用S3生态系统中的工具和库。

  • 轻量级:MinIO具有轻量级的设计和部署特点,可以在常见的硬件设备上运行,包括个人电脑、服务器、云实例等。

总而言之,MinIO是一个可扩展、高性能、兼容S3接口的分布式对象存储解决方案,适用于大规模数据存储和访问的场景。它提供了简单而强大的API和工具,使开发人员能够方便地构建和管理存储基础设施。

Minio慢慢的成为了对象、文件存储的首要选择

2、Minio的下载与安装

rpm方式部署

下载MinIO RPM包:访问MinIO的官方网站(https://min.io/),进入下载页面,选择适合您系统的RPM包进行下载。

  • 安装MinIO RPM包:使用root用户或具有sudo权限的用户执行以下命令安装RPM包:
sudo rpm -i minio_package.rpm
  • 配置MinIO:打开MinIO配置文件(通常在/etc/minio目录下),根据您的需求进行配置,包括监听地址、认证信息、存储路径等。

  • 启动MinIO:执行以下命令启动MinIO服务:

sudo systemctl start minio
  • 验证MinIO服务是否运行:执行以下命令检查MinIO服务的运行状态:
sudo systemctl status minio

如果服务正常运行,将显示运行状态为"active (running)"。

  • 配置防火墙:如果您的系统启用了防火墙,确保允许MinIO所使用的端口通过防火墙。

二进制文件方式安装部署

官方的步骤就三步

wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /mnt/data --console-address ":9001"

3、Minio的多驱多节点安装

存放目录/usr/local/minio(可自行修改)

  1. 进入minio官网下载二进制文件https://www.minio.org.cn/download.shtml#/linux,可以直接下载好上传到服务器,也可以使用命令下载

    wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
    
  2. 修改下载的二进制文件权限,变成为可执行文件

    chmod +x minio
    
  3. 磁盘挂载

    lsblk -f# 创建分区
    fdisk /dev/vdb
    # 说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存退出输入q# 格式化磁盘
    mkfs -t xfs /dev/vdb1# 挂载分区
    mount /dev/vdb1 /minio
    
  4. 创建log文件夹存放log

    mkdir log
    
  5. 创建运行脚本

    vim run.sh### 内容如下 ###
    export MINIO_ROOT_USER=minio
    export MINIO_ROOT_PASSWORD=minio123!@#
    export MINIO_ACCESS_KEY=minio
    export MINIO_SECRET_KEY=minio123!@#nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9003" --address ":9002" > /usr/local//minio/log/minio_server2.log 2>&1 &nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9005" --address ":9004" > /usr/local//minio/log/minio_server3.log 2>&1 &

    说明

    • MINIO_ROOT_USER和MINIO_ROOT_PASSWORD是页面登录的账号密码
    • MINIO_ACCESS_KEY和MINIO_SECRET_KEY是项目连接minio需要的密钥
    • /minio/data{1…6}是存储数据的路径 ,需要挂载
    • –console-address ":9001"进入web页面的端口
    • address “:9004” 服务的端口
  6. 使用nginx做负载均衡,nginx配置如下:

    upstream minio{server 10.44.155.243:9000;server 10.44.155.243:9002;server 10.44.155.243:9004;
    }
    server {listen       9006;server_name  localhost;charset utf-8;location / {proxy_pass http://minio;proxy_set_header Host $http_host;client_max_body_size 1000m;}
    #access_log  /data/nginx/logs/nacos.log;
    #error_log  /data/nginx/logs/nacos.log;
    }
    
  7. 运行脚本,启动集群

    ./run.sh
    

上述内容是一台服务器上部署minio集群

minio在多台服务器

只有第五步的差别

### 内容如下 ###
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minio123!@#
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minio123!@#nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &修改成nohup /usr/local//minio/minio server 对应每一个minio的存储路径 --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &类似于
nohup /usr/local//minio/minio server http://192.168.1.200/minio1 http://192.168.1.200/minio2 http://192.168.1.200/minio3 http://192.168.1.200/minio4 http://192.168.1.141/minio1 http://192.168.1.141/minio2 http://192.168.1.141/minio3 http://192.168.1.141/minio4 --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &

分别启动每台服务器上的minio


http://www.ppmy.cn/news/419382.html

相关文章

监听关闭浏览器触发事件

关闭和刷新页面都会触发,一般都不用来做弹窗提示,一般用来做数据操作 // 监听页面关闭 清除本地缓存 window.onbeforeunload function (e) { localStorage.removeItem("statement"); }; // 监听页面关闭 提醒是否关闭 现在不允许自定义内容了…

排序算法的奇妙冒险

排序算法的奇妙冒险 一.排序的概念1.1 排序的定义1.2 排序的稳定性1.3 排序的内排序和外排序 二.插入排序2.1 直接插入排序2.2 希尔排序 三.选择排序3.1直接选择排序3.2 堆排序 四.交换排序4.1 冒泡排序4.2 快速排序**选取基准值的方法**快速排序的优化非递归实现快速排序 五.归…

Openwrt开发笔记(1)—— 开发环境

OpenWrt简介 OpenWrt 是一个嵌入式设备的 Linux 发行版,以 GPL 许可协议发行 其主要特点有如下几个: ● 代码里不含第三方开源包,只包含开源包地址链接。在编译的时候下载。 ● 编译时自动下载源代码、打补丁来满足指定平台要求&#xff0…

Android Studio 调试的时候出现 Access denied finding property “ro.serialno“

我虚拟机和物理机都安装了Android Studio,发现虚拟机中调试不是那么方便,然后想使用物理机开发,使用的小米MI4 系统是安卓11,在物理机中一直提示:libc:Access denied finding property “ro.serialno”,物理…

实现记事本的新建,保存,打开,另存为等功能

/** java实现记事本功能 */ import java.awt.*; import java.awt.event.*; import java.io.*; public class Java {private Frame fr;private TextArea ta;private MenuBar bar;private Menu m;private MenuItem mi1,mi2,mi3,mi4,mi5;private Font font;private Dialog dia;pri…

umi4使用

umi4使用小tips umi4控权 umi4提供了控权的方法,但是大多数博客都说直接创建access.ts文件就可以使用,而官网文档又加了这么一段配置 但如果直接配置,可能会报错,项目会直接停掉。 【解决办法】: 出现这种问题可能是因为没有引…

米4用linux刷机救转,小米Mi4(小米4 电信4G版)手机快速救砖,线刷教程分享,小白轻松救活手机...

小米Mi4(小米4 电信4G版)手机变砖了怎么办?对于经常刷机的安卓玩家来说,碰到刷机失败导致小米Mi4(小米4 电信4G版)手机无法启动甚至无法进入recovery都是在所难免的事,这个时候我们就需要用到线刷大师了,它能轻松实现小米Mi4(小米4 电信4G版…

qml之Repeater

简介 Repeater用于创建大量类似项。与其他视图类型一样,Repeater有一个模型和一个委托:对于模型中的每一项,委托都在一个上下文中实例化。Repeater通常用于在定位器类型(如Row或Column)中,以直观地定位由R…