Cenos7 搭建Minio最新版集群部署服務器(一)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ------>?? ?道 | 法 | 術 | 器 | 勢? ??<------

?


? ? ? ? ? ? ? ? ? ? ? ? ?

多臺服務器間免密登錄|免密拷貝

Cenos7 搭建Minio集群部署服務器(一)

Cenos7 搭建Minio集群Nginx統一訪問入口|反向動態代理(二)?

Spring Boot 與Minio整合實現文件上傳與下載(三)?

CentOS7的journalctl日志查看方法

MySQL8.xx一主兩從復制安裝與配置

?


附錄查看安裝的Minio版本:

[root@www minio_data]# ./minio -v
minio version RELEASE.2023-08-09T23-30-22Z (commit-id=eb55034dfe5ef82449796c83e3126b245c5aee05)
Runtime: go1.19.12 linux/amd64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2023 MinIO, Inc.
[root@www minio_data]# ./minio -version
minio version RELEASE.2023-08-09T23-30-22Z (commit-id=eb55034dfe5ef82449796c83e3126b245c5aee05)
Runtime: go1.19.12 linux/amd64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2023 MinIO, Inc.
?



企業級開源對象存儲(看看官網吹的牛B)

開源為云提供動力。開源為企業提供動力。開源為 MinIO 提供支持。每天都有成千上萬的客戶和社區成員信任 MinIO 在其部署中提供安全性、彈性、持久性和卓越運營。

主動,主動復制

對象存儲的主動、多站點復制是任務關鍵型生產環境的關鍵要求。MinIO是目前唯一提供它的供應商。MinIO 提供存儲桶級粒度,并支持同步和近同步復制,具體取決于架構選擇和數據變化率。

? ? ? ? ? ??

加密

在對象存儲領域,需要強大的加密才能在談判桌上占有一席之地。MinIO 通過最高級別的加密以及廣泛的優化提供更多功能,幾乎消除了通常與存儲加密操作相關的開銷。

? ? ? ? ? ??


自動化數據管理界面

數據是企業最關鍵的資產,因此必須在整個組織中輕松安全地使用,以便為每個人實現最大價值。因此,企業必須根據受眾的需求采用一系列數據接口方法。MinIO提供了一套選項來涵蓋數據驅動型企業中的每個角色,例如圖形用戶界面(GUI),命令行界面(CLI)和應用程序編程接口(API)。MinIO 的數據管理接口可互換運行,以提供精細、高性能和可擴展的對象存儲管理。

? ? ? ? ? ??


存儲桶和對象不變性

保護數據不被刪除(意外或故意)是涉及每個行業的關鍵合規性組件。MinIO 支持完整的功能范圍,包括對象鎖定、保留、法律保留、治理和合規性。MinIO 的存儲桶和對象不變性已通過Veeam 認證和驗證。

? ? ? ? ? ? ??


數據生命周期管理和分層

隨著數據的持續增長,針對訪問、安全性和經濟性進行共同優化的能力成為一項硬性要求,而不是可有可無。這就是生命周期數據管理的作用。MinIO 提供了一套獨特的功能來保護云內部和跨云的數據 - 包括公共云和私有云。

MinIO的企業數據生命周期管理工具,包括版本控制、對象鎖定和各種衍生組件,滿足多種用例。

? ? ? ? ? ? ?


可擴展性

縮放是一個維度概念,但它有一個真理:簡單縮放。MinIO 通過稱為服務器池的概念進行水平擴展(橫向擴展)。服務器池是一種結合了多個技術組件的方法。每個服務器池都是一組獨立的節點,具有自己的計算、網絡和存儲資源。

? ? ? ? ? ? ? ? ? ??


準備集群環境:? 準備四臺機器?minio集群最少四臺

? ? ? IP地址? ?主機名稱? ? ? minio數據存儲目錄? ? ? ? ? minio掛載目錄 | 控制臺端口
192.168.1.100? ?docker0? ? ? /data/minio_data? ? ? ? /dev/sda2 | 控制臺端口:33806
192.168.1.101? ?docker1? ? ? /data/minio_data? ? ? ? /dev/sda2?| 控制臺端口:33807
192.168.1.102? ?docker2? ? ? /data/minio_data? ? ? ??/dev/sda2?| 控制臺端口:33808
192.168.1.103? ?docker3? ? ? /data/minio_data? ? ? ? /dev/sda2?| 控制臺端口:33809

一: 設置主機名稱:?

?vi /etc/hosts

192.168.1.100 ?docker0
192.168.1.101 ?docker1
192.168.1.102 ?docker2
192.168.1.103 ?docker3

cat /etc/hosts

?二:分別免密拷貝hosts文件到其他三臺機器

scp -pr hosts 192.168.1.101:/etc/

scp -pr hosts 192.168.1.102:/etc/

scp -pr hosts 192.168.1.103:/etc/

免密登錄?192.168.1.101 節點看看是否拷貝成功:

[root@www etc]# ssh 192.168.1.101

?三: 創建掛載磁盤路徑

mkdir -p /data/minio_data

掛載磁盤路徑到文件系統
  注意:需要將新建的目錄掛在到對應的磁盤下,磁盤不掛載好,集群啟動會報錯,還需要注意的是掛載的文件系統至少要1G不然無法初始化導致集群報錯;

文件系統 容量 已用 可用 已用% 掛載點

[root@www minio_data]# df -h


四:將上面掛載磁盤路徑掛載到相應的文件系統上?

[root@www minio_data]# mount /dev/sda2 ?/data/minio_data/

查看掛載信息

? ?[root@www minio_data]# lsblk


?五:下載minio安裝包

? ? 服務器端安裝:

[root@www minio_data]# wget https://dl.min.io/server/minio/release/linux-amd64/minio
-bash: wget: 未找到命令
[root@www minio_data]# yum install wget


? ? ?客戶端安裝:

[root@www minio_data]# wget https://dl.min.io/client/mc/release/linux-amd64/mc

分別在minio_data目錄下創建兩個數據目錄data0,data1

[root@www minio_data]# mkdir -p /data/minio_data/{data0,data1}

再次確認掛載目錄是不是: /data/minio_data?


查看磁盤分區情況

[root@www minio_data]# fdisk -l

磁盤 /dev/sda:214.7 GB, 214748364800 字節,419430400 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x000da74f

? ?設備 Boot ? ? ?Start ? ? ? ? End ? ? ?Blocks ? Id ?System
/dev/sda1 ? * ? ? ? ?2048 ? ? ?411647 ? ? ?204800 ? 83 ?Linux
/dev/sda2 ? ? ? ? ?411648 ? 304754687 ? 152171520 ? 83 ?Linux
/dev/sda3 ? ? ? 304754688 ? 409612287 ? ?52428800 ? 83 ?Linux
/dev/sda4 ? ? ? 409612288 ? 419430399 ? ? 4909056 ? ?5 ?Extended
/dev/sda5 ? ? ? 409614336 ? 419430399 ? ? 4908032 ? 82 ?Linux swap / Solaris


[root@www minio_data]# df -lh
文件系統 ? ? ? ?容量 ?已用 ?可用 已用% 掛載點
devtmpfs ? ? ? ?1.9G ? ? 0 ?1.9G ? ?0% /dev
tmpfs ? ? ? ? ? 1.9G ? ? 0 ?1.9G ? ?0% /dev/shm
tmpfs ? ? ? ? ? 1.9G ? 12M ?1.9G ? ?1% /run
tmpfs ? ? ? ? ? 1.9G ? ? 0 ?1.9G ? ?0% /sys/fs/cgroup
/dev/sda3 ? ? ? ?50G ?2.2G ? 48G ? ?5% /
/dev/sda2 ? ? ? 146G ?152M ?145G ? ?1% /home
/dev/sda1 ? ? ? 197M ?124M ? 74M ? 63% /boot
vmhgfs-fuse ? ? 1.3T ? 61G ?1.2T ? ?5% /mnt/hgfs
tmpfs ? ? ? ? ? 378M ? ? 0 ?378M ? ?0% /run/user/0


六,制作啟動腳本

? ? ? ?內容如下:

[root@www default]# cat /etc/default/minio?

MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456

#數據掛載目錄
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33806"是用來指定minio端口的
MINIO_OPTS="--console-address 192.168.1.100:33806 --address 192.168.1.100:9666"

[root@www run]# cat /usr/lib/systemd/system/minio.service
?

[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/data/minio_data/minio

[Service]
WorkingDirectory=/data/minio_data

User=root
Group=root

PermissionsStartOnly=true

EnvironmentFile=/etc/default/minio

ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\""

ExecStart=/data/minio_data/minio server $MINIO_OPTS $MINIO_VOLUMES

StandardOutput=journal
StandardError=inherit

# Specifies the maximum file descriptor number that can be opened by this process*
LimitNOFILE=65536

# Disable timeout logic and wait until process is stopped*
TimeoutStopSec=0

# SIGTERM signal is used to stop Minio*
KillSignal=SIGTERM

SendSIGKILL=no

SuccessExitStatus=0

[Install]
WantedBy=multi-user.target

?


其中,“WorkingDirectory”為啟動腳本目錄,“ExecStart”為指定集群啟動腳本

將下載好的minio文件賦予權限

[root@www ~]# chmod +x /data/minio_data/minio
[root@www ~]# chmod +x /data/minio_data/mc
[root@www ~]# chmod +x /data/minio_data/data0
[root@www ~]# chmod +x /data/minio_data/data1
[root@www ~]# chmod +x /usr/lib/systemd/system/minio.service

cd /??

拷貝data目錄及該目錄下所有文件到其他三臺機器上:

分別在其他三臺機器上手動創建/data/minio_data/目錄: mkdir -p?/data/minio_data/,然后執行下面的命令進行拷貝

scp -r ./data/minio_data/*? docker1:/data/minio_data/

scp -r ./data/minio_data/* ?docker2:/data/minio_data/

scp -r ./data/minio_data/* ?docker3:/data/minio_data/

確認下是否已經拷貝過去:


分別在其他三臺機器上執行掛載點,掛載點好像不能拷貝.....

mount /dev/sda2 /data/minio_data/


拷貝啟動腳本到其他三臺機器

scp /usr/lib/systemd/system/minio.service docker1:/usr/lib/systemd/system/minio.service

scp /usr/lib/systemd/system/minio.service docker2:/usr/lib/systemd/system/minio.service

scp /usr/lib/systemd/system/minio.service docker3:/usr/lib/systemd/system/minio.service

scp /etc/default/minio docker1:/etc/default/minio

scp /etc/default/minio docker2:/etc/default/minio

scp /etc/default/minio docker3:/etc/default/minio

分別修改 docker1,?docker2,docker3? 主機上的?/etc/default/minio文件的控制臺端口與對應機器ip如下:

docker1


[root@www ~]# cat ?/etc/default/minio
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33807"是用來指定minio端口的
MINIO_OPTS="--console-address 192.168.1.101:33807 --address 192.168.1.101:9666"


docker2

[root@www ~]# cat ?/etc/default/minio
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33808"是用來指定minio端口的
MINIO_OPTS="--console-address 192.168.1.102:33808 --address 192.168.1.102:9666"
?

docker3? :?

[root@www minio_data]# cat ?/etc/default/minio
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin123456
MINIO_VOLUMES="/data/minio_data"
# 注:--console-address ":33809"是用來指定minio端口的
MINIO_OPTS="--console-address 192.168.1.103:33809 --address 192.168.1.103:9666"
?


啟動及查看狀態:

systemctl daemon-reload? #重新加載啟動文件

systemctl enable minio? #開機自啟動

systemctl start minio? #啟動

systemctl stop?minio? #停止

systemctl restart?minio? #重新啟動

systemctl status minio? #查看狀態

systemctl disable minio.service? #禁止機自啟動

查看所有已啟動的服務

systemctl list-units --type=service


分別對每臺機器執行如下命令:

systemctl daemon-reload? #加載服務配置文件

systemctl daemon-reload? #重新加載啟動文件

systemctl enable minio? #minio 開機自啟動

systemctl stop firewalld? # 停止防火墻

systemctl disable?firewalld # 禁用防火墻

http://192.168.1.100:33806/??

http://192.168.1.101:33807/

http://192.168.1.102:33808/

http://192.168.1.103:33809/

輸入admin/admin123456 即可查看相關配置

?至此,大功告成. 待續 Spring-Boot 整合Minio實現視頻及文件分布式存儲..................



[root@www ~]# ps ax|grep 'minio'
? 1152 ? ? ? ? ?Ssl ? ?0:03 /data/minio_data/minio server --console-address :33806 --address 0.0.0.0:9666 /data/minio_data
? 1912 pts/0 ? ?S+ ? ? 0:00 grep --color=auto minio
[root@www ~]# ps aux|grep minio
root ? ? ? 1152 ?0.4 ?4.1 1017104 158756 ? ? ? ?Ssl ?22:56 ? 0:03 /data/minio_data/minio server --console-address :33806 --address 0.0.0.0:9666 /data/minio_data
root ? ? ? 1914 ?0.0 ?0.0 112828 ? 984 pts/0 ? ?S+ ? 23:10 ? 0:00 grep --color=auto minio


上傳一張照片看看: 點擊上傳按鈕:上傳一張picture


?


上傳后點擊預覽:




?













??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39534.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39534.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39534.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

已知四個坐標點,怎樣求出四邊形的四個內角

1&#xff0c;理論 最簡單的方式利用向量進行求解 如圖可得&#xff1a; cosθa*b/&#xff08;|a|*|b|&#xff09; 已知三點坐標&#xff0c;很容易可以得到兩向量之積a*b&#xff0c;以及每個的模值 2&#xff0c;四個角度求解過程 首先&#xff0c;我們定義了四個坐標點…

在數字游民天堂,Polkadot Hubs 探索建設更緊密的全球社區

分布式辦公是 Web3 行業的協作常態&#xff0c;當數字游民們享受著線上遠程工作的自由和便捷時&#xff0c;也在懷念著一種面對面與他人交流與共創的經歷。共享空間隨之興起&#xff0c;為許多初創項目公司提供開放舒適的環境&#xff0c;卻難以在不同的人群之間搭起一張巨大的…

系統架構設計師考試大綱(2017年)

1.考試目標 考試合格人員應能夠根據系統需求規格說明書,結合應用領域和技術發展的實際情況,考慮有關約束條件,設計正確、合理的軟件架構,確保系統架構具有良好的特性;能夠對項目系統架構進行描述、分析、設計與評估;能夠按照相關標準編寫相應的設計文檔;能夠與系統分析師…

完美解決Github提交PR后報錯:File is not gofumpt-ed (gofumpt)

問題闡述 最近在Github上提交PR后&#xff0c;遇到了這么一個問題&#xff1a;golangci-lint運行失敗&#xff0c;具體原因是File is not gofumpt-ed (gofumpt)。 名詞解釋 golangci-lint&#xff1a; golangci-lint 是Go語言社區中常用的代碼質量檢查工具&#xff0c;它可以…

react中使用shouldComponentUpdate生命周期函數調用setState引起的無限循環的錯誤

場景&#xff1a; 在 React 組件中&#xff0c;當在 componentWillUpdate 或 componentDidUpdate 生命周期方法中調用 setState 時&#xff0c;會觸發無限循環&#xff0c;導致超過最大更新深度。 錯誤原因 在React組件中 &#xff0c;我們使用componentWillUpdate 或 componen…

Windows 2016安裝Jenkins

Jenkins 下載&#xff0c;安裝 下載OpenJDK 11 for Wndows 兩種方式 choco install openjdk11 https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.20_8.msi how to enable administrator user to …

[自學記錄06|*百人計劃]Gamma矯正與線性工作流

一、前言 Gamma矯正其實也屬于我前面落下的一塊內容&#xff0c;打算把它補上&#xff0c;其它的沒補是因為我之前寫的GAMES101筆記里已經涵蓋了&#xff0c;而Gamma矯正在101里面確實沒提到&#xff0c;于是打算把它補上&#xff0c;這塊內容并不難&#xff0c;但是想通透的理…

我的創作紀念日(256天)

前言 結緣 我與csdn的結緣&#xff0c;之前在創作紀念日&#xff08;128天&#xff09;便已提到&#xff0c;今在此便不再多言 收獲 很慚愧&#xff0c;自六月底至八月中旬&#xff0c;因為忙于找工作&#xff0c;奔赴面試求職之際&#xff0c;寫博客沒有像之前那么勤&#x…

qt QPalette的原理與使用

QPalette類用于控制控件的風格&#xff0c;即任意一個地方的繪制方式。每個控件或者說qwidget對象內部都有一個QPalette對象。 在paintEvent(QPaintEvent *event)函數中&#xff0c;其實就是調用該控件的QPalette內容來進行繪制的了。 例如&#xff1a; QStyleOptionTab opt…

《論文閱讀12》RandLA-Net: Ef?cient Semantic Segmentation of Large-Scale Point Clouds

一、論文 研究領域&#xff1a;全監督3D語義分割&#xff08;室內&#xff0c;室外RGB&#xff0c;kitti&#xff09;論文&#xff1a;RandLA-Net: Ef?cient Semantic Segmentation of Large-Scale Point Clouds CVPR 2020 牛津大學、中山大學、國防科技大學 論文鏈接論文gi…

Kafka-eagle監控平臺

Kafka-Eagle簡介 在開發工作中&#xff0c;當業務不復雜時&#xff0c;可以使用Kafka命令來進行一些集群的管理工作。但如果業務變得復雜&#xff0c;例如&#xff1a;需要增加group、topic分區&#xff0c;此時&#xff0c;再使用命令行就感覺很不方便&#xff0c;此時&#x…

Vim學習(二)—— 編譯C程序

打開終端&#xff0c;這里以MobaXterm為例&#xff0c; 郵件創建新的空文件并命名&#xff0c; 然后cd到對應路徑下&#xff0c;用 vim hello.cvim打開創建的文件&#xff0c;進入編輯模式&#xff0c;編輯完程序后按Esc退出編輯模式&#xff0c;輸入 :wq保存并退出&#xf…

linux安裝wkhtmltopdf(清晰明了)

概述 在公司項目中使用到 wkhtmltopdf 轉換PDF&#xff0c;由于 wkhtmltox-0.12.5 版本 echarts 圖形虛線樣式&#xff0c;需要升級 wkhtmltox-0.12.6 版本來解決。 官網地址 wkhtmltopdf &#xff1a;https://wkhtmltopdf.org/ windows 安裝 下載流程及安裝流程 進入官…

C++ 關鍵字override,final的作用

文章目錄 一、為什么要引入這兩個關鍵字?1.虛函數復寫2. 類繼承 二、override三、final C11引入這兩個關鍵字 一、為什么要引入這兩個關鍵字? 1.虛函數復寫 不能阻止某個虛函數進一步重寫 本意寫一個新函數&#xff0c;錯誤重寫基類虛函數(子類中 virtual 關鍵字可省略) 本…

《系統架構設計師教程》重點章節思維導圖

內容來自《系統架構設計師教程》&#xff0c;篩選系統架構設計師考試中分值重點分布的章節&#xff0c;根據章節的內容整理出相關思維導圖。 重點章節 第2章&#xff1a;計算機系統知識第5章&#xff1a;軟件工程基礎知識第7章&#xff1a;系統架構設計基礎知識第8章&#xff1…

接口自動化框架httprunner 是如何生成動態類

HttpRunner 是一個用于接口自動化測試的工具&#xff0c;它使用了 Python 中的 type 函數來生成動態類。 在 HttpRunner 中&#xff0c;通過使用 type 函數和 GenericTestCaseMeta 元類&#xff0c;動態地生成測試用例類。 下面是一個示例代碼展示了如何使用 type 函數來生成…

Kotlin反射訪問androidx.collection.LruCache類私有變量

Kotlin反射訪問androidx.collection.LruCache類私有變量 androidx.collection.LruCache類中定義了一個名為map的LinkedHashMap&#xff0c;map存儲了所有LruCache的數據&#xff0c;有時候需要遍歷訪問該LinkedHashMap&#xff0c;取出里面的值&#xff0c;但是LruCache代碼實…

GPU Dissolve(GPU 消散)學習GPU Instancing

一&#xff1a;摘要 通過制作一個模型GPU消散效果來學習GPU Instancing 也就是實例化。 目標效果是楊超大佬文章《GPU shatter》里面的消散效果如圖&#xff1a; Tags&#xff1a;模型頂點分裂(Mesh Vertex Splitting)&#xff0c; 實例化繪制(GPU Instancing Drawing)&#x…

開源可商業運營的ChatGpt網頁源碼v1.2.2

&#x1f916; 主要功能 后臺管理系統,可對用戶,Token,商品,卡密等進行管理 精心設計的 UI&#xff0c;響應式設計 極快的首屏加載速度&#xff08;~100kb&#xff09; 支持Midjourney繪畫和DALLE模型繪畫,GPT4等應用 海量的內置 prompt 列表&#xff0c;來自中文和英文 一鍵導…

【猿灰灰贈書活動 - 02期】- 【Java從入門到精通2023年7月最新(第7版)】

說明&#xff1a;博文為大家爭取福利&#xff0c;與清華大學出版社合作進行送書活動 圖書&#xff1a;《Java從入門到精通》 一、好書推薦 圖書介紹 Java入門經典&#xff0c;95萬Java程序員的入行選擇。配備升級版Java開發資源庫&#xff0c;在線大咖課在線答疑&#xff0c;學…