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
英文地址,請注明出處:http://en.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,后兩個連接再發起…