minio部署和双机热备

安装单机版MinIO(准备2台机器A、B,A、B服务器操作一致)

切换目录并下载MinIO二进制文件

cd /usr/local/bin
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio

编辑配置文件

vi /etc/default/minio.confMINIO_VOLUMES="/data"
MINIO_OPTS="--address :9000 --console-address :9001"
MINIO_ACCESS_KEY="minio"
MINIO_SECRET_KEY="minio123456"

注册系统服务

创建服务单元文件

vi /usr/lib/systemd/system/minio.service[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio[Service]
User=root
Group=root
EnvironmentFile=/etc/default/minio.conf
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
LimitNOFILE=65536
TimeoutStopSec=infinity
SendSIGKILL=no[Install]
WantedBy=multi-user.target

启动与验证

启动服务并检查状态

systemctl start minio && systemctl status minio

设置开机自启

systemctl enable minio

二、配置互为主从【在其中一台机器操作即可】

1、先安装mc命令

# 切换目录
cd /usr/local/bin# 下载,离线安装请提前下载,上传服务器替换该步骤
wget https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x /usr/local/bin/mc

2、配置

[root@localhost ~]# mc alias set minio1 http://192.168.247.158:9000 admin password123
mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `minio1` successfully.
[root@localhost ~]# mc alias set minio2 http://192.168.247.145:9000 admin password123
Added `minio2` successfully.
[root@localhost ~]# mc admin replicate add minio1 minio2 
Requested sites were configured for replication successfully.
[root@localhost ~]# mc admin replicate info minio1
SiteReplication enabled for:Deployment ID                        | Site Name       | Endpoint                                       | Sync | Bandwidth  | ILM Expiry Replication   |                 |                                                |      | Per Bucket |                          
8ffd3069-84ba-4687-8438-93bedff772e6 | minio1          | http://192.168.247.158:9000                    |      | N/A        | false                    
1319c229-28fa-44e2-a3fb-4ae1680f6090 | minio2          | http://192.168.247.145:9000                    |      | N/A        | false      
[root@localhost ~]# mc admin replicate status minio1
Bucket replication status:
No Buckets presentPolicy replication status:
●  5/5 Policies in syncUser replication status:
No Users presentGroup replication status:
No Groups presentILM Expiry Rules replication status:
No ILM Expiry Rules presentObject replication status:
Replication status since 6 minutes 
Summary:
Replicated:    0 objects (0 B)
Queued:        ● 0 objects, (0 B) (avg: 0 objects, 0 B; max: 0 objects, 0 B)
Received:      0 objects (0 B)

3、验证

(1)AB桶的数据会保持一致,无论在AB桶先写入数据

(2)停掉A 服务器,在B写入或者删除数据后,在启动A,A数据也会同步

4、NGINX负载

upstream minio-server {  server 192.168.10.1:9000 weight=25 max_fails=2 fail_timeout=30s;  server 192.168.20.2:9000 weight=25 max_fails=2 fail_timeout=30s;  }  upstream minio-console {  ip_hash;  server 192.168.10.1:9001 weight=25 max_fails=2 fail_timeout=30s;  server 192.168.20.2:9001 weight=25 max_fails=2 fail_timeout=30s;  }  server {  listen 9000;  server_name localhost;  # To allow special characters in headers  ignore_invalid_headers off;  # 配置成上传文件不限制大小  client_max_body_size 0;  # To disable buffering  proxy_buffering off;  location / {proxy_pass http://minio-server;  proxy_set_header Upgrade $http_upgrade;  proxy_set_header Connection "upgrade";  proxy_set_header Host $http_host;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;  expires 0;  # 后端服务器连接的超时时间_发起握手等候响应超时时间  proxy_connect_timeout 300;  proxy_http_version 1.1;  chunked_transfer_encoding off;  # 是否开启proxy忽略客户端中断  proxy_ignore_client_abort on;  }}server {  listen 9001;  server_name localhost;  # To allow special characters in headers  ignore_invalid_headers off;  # 配置成上传文件不限制大小  client_max_body_size 0;  # To disable buffering  proxy_buffering off;  location / {  proxy_pass http://minio-console;  proxy_set_header Upgrade $http_upgrade;  proxy_set_header Connection "upgrade";  proxy_set_header Host $http_host;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;  expires 0;  # 后端服务器连接的超时时间_发起握手等候响应超时时间  proxy_connect_timeout 300;  proxy_http_version 1.1;  chunked_transfer_encoding off;  # 是否开启proxy忽略客户端中断  proxy_ignore_client_abort on;  }  } 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93046.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】 Java 21 革命性升级:虚拟线程与结构化并发的深度实践指南

还在为高昂的AI开发成本发愁?这本书教你如何在个人电脑上引爆DeepSeek的澎湃算力! Java 21 作为 Oracle JDK 的长期支持版本,引入了多项革命性特性,其中虚拟线程(Virtual Threads)和结构化并发(Structured Concurrency)尤为突出。这些特性旨在解决传统线程模型在高并发…

Apache IoTDB 全场景部署:基于 Apache IoTDB 的跨「端-边-云」的时序数据库 DB+AI

Apache IoTDB 全场景部署:基于 Apache IoTDB 的跨「端-边-云」的时序数据库 DBAI 文章目录Apache IoTDB 全场景部署:基于 Apache IoTDB 的跨「端-边-云」的时序数据库 DBAIApache IoTDB 介绍Docker部署指导企业版数据库配套工具 WorkbenchTimechoDB&…

计算机网络---传输控制协议Transmission Control Protocol(TCP)

一、TCP的定位与核心特性 TCP(Transmission Control Protocol,传输控制协议)是TCP/IP协议栈中传输层的核心协议,与UDP(用户数据报协议)共同承担端到端数据传输功能。其设计目标是在不可靠的IP网络上提供可靠…

week1-[分支嵌套]公因数

week1-[分支嵌套]公因数 题目描述 给定 444 个正整数 a,b,c,ka,b,c,ka,b,c,k。如果 a,b,ca,b,ca,b,c 都是 kkk 的倍数,那么称 kkk 是 a,b,ca,b,ca,b,c 的公因数。否则如果某两个数都是 kkk 的倍数,那么称 kkk 是这两个数的公因数。问 kkk 是哪些数的公因…

C#枚举/结构体讲一讲

先展示一段简单代码// 定义枚举 public enum thisday {吃饭,不吃 }// 定义结构体 public struct person {public string name;public int age;public thisday zhuangtai; // 使用枚举类型作为字段 }static void Main(string[] args) {// 创建结构体实例person thisperson;thisp…

C++-setmap详解

Cset&map 1. 序列式容器和关联式容器 1.1 序列式容器 序列式容器按照线性顺序存储元素,元素的位置取决于插入的时间和位置,与元素的值无关。 主要特点:元素按插入顺序存储可以通过位置(索引)直接访问元素不自动排序…

解决程序连不上RabbitMQ:Attempting to connect to/access to vhost虚拟主机挂了的排错与恢复

前言:在分布式系统里,RabbitMQ作为消息中间件,是服务间通信的关键纽带。但实际使用中,程序连接RabbitMQ失败的情况时有发生。本文结合真实报错,细致呈现从问题发现到解决的完整排错思路,还会深入讲解Rabbit…

K8S中如何配置PDB(Pod Disruption Budget)

1. PDB 核心概念作用:控制自愿中断(如节点升级、缩容)期间,应用的最小可用副本数或最大不可用比例。关键参数:minAvailable:必须保持运行的 Pod 数量(如 2 或 50%)。maxUnavailable&…

从 0 到 1:用 MyCat 打造可水平扩展的 MySQL 分库分表架构

一、为什么要分库分表? 单机 MySQL 的极限大致在:维度经验值单表行数≤ 1 000 万行(B 树三层)单库磁盘≤ 2 TB(SSD)单机 QPS≤ 1 万(InnoDB)当业务继续增长,数据量和并发…

电池模组奇异值分解降阶模型

了解如何将奇异值分解 (SVD) 降阶模型 (ROM) 应用于电池模块热模拟。挑战随着电池模块在电动汽车和储能系统中的重要性日益提升,其热性能管理也成为一项重大的工程挑战。高功率密度会产生大量热量,如果散热不当,可能导致电池性能下降、性能下…

《Python函数:从入门到精通,一文掌握函数编程精髓》

坚持用 清晰易懂的图解 代码语言,让每个知识点变得简单! 🚀呆头个人主页详情 🌱 呆头个人Gitee代码仓库 📌 呆头详细专栏系列 座右铭: “不患无位,患所以立。” Python函数:从入门到…

【记录贴】STM32 I2C 控制 OLED 卡死?根源在 SR1 与 SR2 的读取操作

问题描述最近在复用以前STM32F407控制OLED的代码,移植到STM32F103 上,使用硬件 I2C 通信方式。按照常规流程,先发送 OLED 的从机地址,OLED 有正常应答,但当发送第一个控制命令(0xAE)前的控制字节…

【AI驱动的语义通信:突破比特传输的下一代通信范式】

文章目录1 语义通信简介1.1 基本概念:什么是语义通信?语义通信的核心目标1.2 基本结构:语义通信系统结构语义通信系统的通用结构组成语义通信系统的结构关键模块1.3 基于大模型的语义通信关键技术🧠语义通信系统中AI大模型的设计建…

网络原理-HTTP

应用层自定义协议自定义协议是指根据特定需求设计的通信规则,用于设备或系统间的数据交换。其核心在于定义数据结构、传输方式及处理逻辑。协议结构示例典型的自定义协议包含以下部分:头部(Header):标识协议版本、数据…

ROS配置debug指南

一. 安装插件 下面的这一个插件过期了需要用下面的这一个插件来替换:二. 设置CMakeLists.txt的编译模式 set(CMAKE_BUILD_TYPE "Debug") set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAG…

微软正式将GPT-5接入Microsoft Copilot Studio(国际版)

微软宣布正式在Microsoft Copilot Studio(国际版)中集成GPT-5,推动智能体构建能力实现突破性升级。此次更新不仅为企业用户带来更高效的响应速度、更精准的语境理解能力,还通过增强的逻辑推理功能,显著提升了AI交互的深…

微算法科技(NASDAQ:MLGO)通过蚁群算法求解资源分配的全局最优解,实现低能耗的区块链资源分配

随着区块链网络规模的不断扩大和业务需求的日益复杂,资源分配问题逐渐成为制约其发展的关键因素之一。传统的区块链资源分配方法往往存在效率低下、能耗过高、难以达到全局最优解等问题。高能耗不仅增加了运营成本,还对环境造成了较大的压力。因此&#…

深入浅出JVM:Java虚拟机的探秘之旅

深入浅出JVM:Java虚拟机的探秘之旅一、JVM 初相识:揭开神秘面纱 在 Java 的世界里,JVM(Java Virtual Machine,Java 虚拟机)就像是一个神秘的幕后大 boss,掌控着 Java 程序运行的方方面面。你可以…

Nginx学习笔记(八)—— Nginx缓存集成

🗄🗄 Nginx缓存集成 📌📌 一、缓存核心价值 #mermaid-svg-CNji1KUDOsF8MwoY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-CNji1KUDOsF8MwoY .error-icon{fill:#5522…

httpx 设置速率控制 limit 时需要注意 timeout 包含 pool 中等待时间

假设通过 httpx.Client 设置 limit 速率控制后,同时发起多个请求访问 youtube。并且由于科学原因一直连接不上 假设一共 4 个连接,max_connection2,timeout5s。 默认会发生的情况不是前两个连接 tcp 握手 timeout,后两个连接再发起…