欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:分布式文件存儲系統(tǒng)MinIO

Wish心愿購綜合2025-05-05540

柚子快報邀請碼778899分享:分布式文件存儲系統(tǒng)MinIO

http://yzkb.51969.com/

分布式文件存儲系統(tǒng)MinIO

目錄

分布式文件存儲系統(tǒng)MinIO

1什么是minio?

1.1MinIO的優(yōu)點

1.2、MinIO的基礎(chǔ)概念

1.3糾刪碼EC (Erasure Code)

1.4存儲形式

1.5存儲方案

2 MinIO環(huán)境搭建

2.1單機部署(standalone?mode)

2.1.1基于Windows(non-erasure code mode)

2.1.2糾刪碼模式

2.2 分布式集群部署

2.2.1Windows示例:

2.3 Minio客戶端使用

2.3.1部署客戶端MC

?編輯

2.4 MinIO Server 及Minio Client數(shù)據(jù)同步

minio server

1什么是minio?

MinlO是一個基于Apache License v2.0開源協(xié)議的對象存儲服務(wù)。它兼容亞馬遜S3云存儲服務(wù)接口,非常適合于存儲大容量非結(jié)構(gòu)化的數(shù)據(jù)。例如圖片、視頻、日志文件、備份數(shù)據(jù)和容器/虛擬機鏡像等,而一個對象文件可以是任意大小,從幾kb到最大5T不等。MinlO是一個非常輕量的服務(wù) 可以很簡單的和其他應(yīng)用的結(jié)合,類似NodeJS, Redis或者MySQL。

MInIO官網(wǎng):https://min.io/

minIO官方文檔:MinIO High Performance Object Storage — MinIO Object Storage for Windows

1.1MinIO的優(yōu)點

●部署簡單:一個single二進制文件即是一切,還可以支持各種平臺。

●minio支持海量存儲,可按2one打展(原zone不受任何影響),支持單個對象最大5TB;

兼容Amazon S3接口,充分考慮開發(fā)人員的需求和體驗;

●低冗余且磁盤損壞高容忍,標(biāo)準(zhǔn)且最高的數(shù)據(jù)冗余系數(shù)為2(即存儲一個1 M的數(shù)據(jù)對象,實際占用磁盤空間為2M)。但在任意n/2塊disk損壞的情況下依然可以讀出數(shù)據(jù)(n為一個糾刪碼集合(Erasure Coding Set)中的disk數(shù)量)。并且這種損壞恢復(fù)是基于單個對象的,而不是基于整個存儲卷的。

●讀寫性能優(yōu)異

1.2、MinIO的基礎(chǔ)概念

●?Object: 存儲到Minio的基本對象,如文件、字節(jié)流,Anything..

●?Bucket:用來存儲Object的邏輯空間。每個Bucket之間的數(shù)據(jù)是相互隔離的。對于客戶端而言,就相當(dāng)于一個存放文件的頂層文件夾。

●?Drive: 即存儲數(shù)據(jù)的磁盤,在MinIO啟動時,以參數(shù)的方式傳入。Minio 中所有的對象數(shù)據(jù)都會存儲在Drive里。

●?Set:即一組Drive的集合,分布式部署根據(jù)集群規(guī)模自動劃分一 個或多個Set, 每個Set中的Drive分布在不同位置。一個對象存儲在一個Set 上。(For example: {1..44}?is divided into 4 sets each of size 16.)

● 一個對象存儲在一 個Set上

● 一個集群劃分為多個Set

● 一個Set包含的Drive數(shù)顯是固定的,默認由系統(tǒng)根據(jù)集群規(guī)模自動計算得出

●?一個SET中的Drive盡可能分布在不同的節(jié)點上

1.3糾刪碼EC (Erasure Code)

MinIO使用糾刪碼機制來保證高可靠性,使用highwayhash來處理數(shù)據(jù)損壞( Bit Rot Protection)。關(guān)于糾刪碼,簡單來說就是可以通過數(shù)學(xué)計算,把丟失的數(shù)據(jù)進行還原,它可以將n份原始數(shù)據(jù),增加m份數(shù)據(jù),并能通過n+m份中的任意n份數(shù)據(jù),還原為原始數(shù)據(jù)。

即如果有任意小于等于m份的數(shù)據(jù)失效,仍然能通過剩下的數(shù)據(jù)還原出來。

1.4存儲形式

文件對象上傳到MinlO ,會在對應(yīng)的數(shù)據(jù)存儲磁盤中,以Bucket名稱為目錄,文件名稱為下一級目錄,文件名下是xl.meta,通過奇偶的形式存儲 編碼數(shù)據(jù)塊及檢驗塊和元數(shù)據(jù)文件。

如:

有data01,data02,data03,data04 四塊盤

其中奇數(shù)盤:data01和data03中存儲的是編碼數(shù)據(jù)塊及檢驗塊(EC碼)

偶數(shù)盤:data02和data04 存儲的是元數(shù)據(jù)文件

1.5存儲方案

2 MinIO環(huán)境搭建

官方文檔:MinIO High Performance Object Storage — MinIO Object Storage for Kubernetes?

中文文檔:https://docs.minio.org.cn/docs/? (沒有及時更新,坑比較多)

MinIO支持多種Server啟動模式:

2.1單機部署(standalone?mode)

minio server的standalone模式,即要管理的磁盤都在host本地。該啟動模式一般僅用于實驗環(huán)境、測試環(huán)境的驗證和學(xué)習(xí)使用。在standalone模式下,還可以分為non-erasure code mode和erasure code mode.

non-erasure code mode:

在此啟動模式下,對于每一份對象數(shù)據(jù),minio直接在data下面存儲這份數(shù)據(jù),不會建立副本,也不會啟用糾刪碼機制。因此這種模式無論是服務(wù)實例還是磁盤都是“單點”,無任何高可用保障,磁盤損壞就表示數(shù)據(jù)丟失。

erasure code mode:

此模式為minio server實例傳入多個本地磁盤參數(shù)。一旦遇到多于一個磁盤參數(shù),minio server會自動啟用erasure code mode?,?erasure code對磁盤的個數(shù)是有要求的,如不滿足要求。實例啟動將失敗。erasure code啟用后,要求傳給minio server的

Endpointi?(standalone模式下,即本地磁盤上的目錄)至少為4個。

2.1.1基于Windows(non-erasure code mode)

操作系統(tǒng): CPU架構(gòu) 地址 Windows10、11 64-bit Intel https://min.io/docs/minio/windows/index.html

下載:

http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe

cmd命令啟動程序

進入到minio的目錄下,執(zhí)行:

minio.exe server D:\Office\Test1

這里有兩個報錯:

WARNING: Host local has more than 0 drives of set. A host failure will result in data becoming unavailable.

WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables

第一個報錯:因為時單機部署,且只有一塊磁盤,因此這種模式無論是服務(wù)實例還是磁盤都是“單點”,無任何高可用保障,磁盤損壞就表示數(shù)據(jù)丟失,所以報錯

第二個報錯:沒有指定用戶名和登錄密碼。(MinIO會給定默認賬戶密碼及端口號)

如上圖Console中的任意一個地址皆可訪問:

http://10.144.198.169:57462

http://192.160.0.96:57462

http://127.0.0.1:57462

訪問界面如下:

使用默認的登錄密碼即可使用(defaultuser : minioadmin,defaultpassword : minioadmin)

登錄后界面:

點擊Create bucket:

桶的命名規(guī)則:

●存儲桶名稱的長度必須介于3 (最小)到63 (最大)個字符之間。

●存儲桶名稱只能由小寫字母、數(shù)字、點(.) 和連字符(-) 組成。

●存儲桶名稱不得包含兩個相鄰的句點,或與連字符相鄰的句點。

●存儲桶名稱的格式不得為IP地址(例如192.168.5.4)。

●存儲桶名稱不得以前綴 xn 開頭--.

●存儲桶名稱不得以后綴 -s3alias 結(jié)尾。此后綴保留用于接入點別名。

●存儲桶名稱在分區(qū)中必須是唯一的。

下圖為上傳文件后的界面:

上傳成功后在本地可以看到文件:

2.1.2糾刪碼模式

Minio使用糾刪碼erasure code 和校驗和checksum來保護數(shù)據(jù)免受硬件故障和無聲數(shù)據(jù)損壞。即便您丟失一 半數(shù)量(N/2)的硬盤,您仍然可以恢復(fù)數(shù)據(jù)。

糾刪碼是一種恢復(fù)丟失和損壞數(shù)據(jù)的數(shù)學(xué)算法,Minio采用Reed-Solomon code將對象拆分成N/2數(shù)據(jù)和N/2奇偶校驗塊。這就意味著如果是12塊盤,一個對象會被分成6個數(shù)據(jù)塊、6個奇偶校驗塊,你可以丟失任意6塊盤(不管其是存放的數(shù)據(jù)塊還是奇偶校驗塊) , 你們?nèi)钥梢詮氖O碌谋P中的數(shù)據(jù)進行恢復(fù)。

在Windows中操作:

cmd命令啟動程序:

minio.exe server D:\Office\Test1 D:\Office\Test2 D:\Office\Test3 D:\Office\Test4

或者

minio.exe server D:\Office\Test{1...4}

與2.1.1的區(qū)別在于啟動時添加了多塊盤,如下圖:

新建桶及上傳文件不再贅述。

上傳文件后,可以在每個盤中看到其文件,如下圖:

測試:在本地磁盤刪除一個xl.meta文件

結(jié)果:過一會,該文件會自動恢復(fù)(因為EC碼,自動恢復(fù)了)

2.2 分布式集群部署

分布式Minio可以讓你將多塊硬盤(甚至在不同的機器上)組成一個對象存儲服務(wù)。 由于硬盤分布在不同的節(jié)點上,分布式Minio避免了單點故障。

分布式存儲可靠性常用方法

分布式存儲,很關(guān)鍵的點在于數(shù)據(jù)的可靠性,即保證數(shù)據(jù)的完整,不丟失。不損壞。只有在可靠性實現(xiàn)的前提下,才有了追求一致性、高可用、高性能的基礎(chǔ)。而對于在存儲領(lǐng)域,一般對于保證數(shù)據(jù)可靠性的方法主要有兩類,一類是冗余法,一類是校驗法。

冗余

冗余法最簡單直接,即對存儲的數(shù)據(jù)進行副本備份,當(dāng)數(shù)據(jù)出現(xiàn)丟失,損壞,即可使用備份內(nèi)容進行恢復(fù),而副本備份的多少,決定了數(shù)據(jù)可靠性的高低。這其中會有成本的考量,副本數(shù)據(jù)越多,數(shù)據(jù)越可靠,但需要的設(shè)備就越多,成本就越高。可靠性是允許丟失其中一

份數(shù)據(jù)。當(dāng)前已有很多分布式系統(tǒng)是采用此種方實現(xiàn),如Hadoop的文件系統(tǒng)(3個副本),Redis 的集群,MySQL的主備模式等。

校驗

校驗法即通過校驗碼的數(shù)學(xué)計算的方式,對出現(xiàn)丟失、損壞的數(shù)據(jù)進行校驗、還原。注意,這里有兩個作用,一個校驗,通過對數(shù)據(jù)進行校驗和( checksum )進行計算,可以檢查數(shù)據(jù)是否完整,有無損壞或更改,在數(shù)據(jù)傳輸和保存時經(jīng)常用到,如TCP協(xié)議;二是恢復(fù)還原,通過對數(shù)據(jù)結(jié)合校驗碼,通過數(shù)學(xué)計算,還原丟失或損壞的數(shù)據(jù),可以在保證數(shù)據(jù)可靠的前提下,降低冗余,如單機硬盤存儲中的RAID技術(shù),糾刪碼(Erasure Code)技術(shù)等。MinlO 采用的就是糾刪碼技術(shù)。

分布式Minio優(yōu)勢

數(shù)據(jù)保護

分布式Minio采用糾刪碼來防范多個節(jié)點宕機和位衰減bit rot。

分布式Minio至少需要4個硬盤,使用分布式Minio自動引入了糾刪碼功能。

高可用

單機Minio服務(wù)存在單點故障,相反,如果是一個有N塊硬盤的分布式Minio,只要有N/2硬盤在線,你的數(shù)據(jù)就是安全的。不過你需要至少有N/2+ 1個硬盤來創(chuàng)建新的對象。

例如,一個16節(jié)點的Minio集群, 每個節(jié)點16塊硬盤,就算8臺服務(wù)器宕機,這個集群仍然是可讀的,不過你需要9臺服務(wù)器才能寫數(shù)據(jù)。

一致性

Minio在分布式和單機模式下,所有讀寫操作都嚴格遵守read-after-write?一致性模型。

運行分布式Minio

啟動一個分布式Minio實例。你只需要把硬盤位置做為參數(shù)傳給minio server命令即可,然后你需要在所有其它節(jié)點運行同樣的命令。

●分布式Minio里所有的節(jié)點需要有同樣的access秘鑰和secret秘鑰,這樣這些節(jié)點才能建立聯(lián)接。為了實現(xiàn)這個,你需要在執(zhí)行minio?server命令之前,先將access秘鑰和secret秘鑰export(Linux)或者 path(Windows)成環(huán)境變量。 新版本使用MINIO_ROOT_USER?&?MINIO_ROOT_PASSWORD。

●分布式Minio使用的磁盤里必須是干凈的,里面沒有數(shù)據(jù)。

●下面示例里的IP僅供示例參考,你需要改成你真實用到的IP和文件夾路徑,每個IP之間可以互相通信。

●分布式Minio甲的節(jié)點時間差不能超過3秒,你可以使用NTP來保證時間一致。

●在Windows 下運行分布式Minio處于實驗階段,請悠著點使用。

2.2.1Windows示例:

4個節(jié)點(minio01、minio02、minio03、minio04),每節(jié)點4塊盤(Data01...04)

Windows建議寫成.bat腳本文件運行,如下圖:

代碼如下:

set MINIO_ROOT_USER=admin

set MINIO_ROOT_PASSWORD=12345678

minio.exe server ??--console-address "192.168.0.46:9001" ?--address "192.168.0.46:9091" ^

http://192.168.0.46:9091/D:/Office/Data{01...04} ^

http://192.168.0.39:9092/D:/Office/Data{01...04} ^

http://192.168.0.40:9093/D:/Office/Data{01...04} ^

http://192.168.0.61:9094/E:/Office/Data{01...04}

參數(shù)詳解:

●?MINIO_ROOT_USER=admin?設(shè)置登錄賬號(access秘鑰)

●?MINIO_ROOT_PASSWORD=12345678?設(shè)置登錄密碼(secret秘鑰)

●?--console-address "192.160.0.96:9001"?指定IP和API端口

●?--address "192.160.0.96:9091"?指定IP和控制臺(UI界面)端口

●?^ 表示連接符 后面不可接空格

●?Data{01..04} 表示Data01、Data02、Data03、Data04 這四塊盤,找不到會自動創(chuàng)建文件

在每一個節(jié)點(服務(wù)器)運行如上代碼(記得修改對應(yīng)的IP和端口號)

運行.bat腳本之后可以看到:

根據(jù)圖中信息在瀏覽器瀏覽器登錄

創(chuàng)建桶--》上傳文件

在每一個服務(wù)器中可以看到文件已上傳

本地磁盤也可查看到:

在Web界面可以看到服務(wù)器的在線狀態(tài):

2.3 Minio客戶端使用

MinlO Client (mc)為Is, cat, cp,mirror, diff, find等UNIX命令提供了一種替代方案。它支持文件系統(tǒng)和兼容Amazon S3的云存儲服務(wù)(AWS signature v2和V4)。

ls ??????列出文件和文件夾。

mb ??????創(chuàng)建一個存儲桶或一個文件夾。

cat ?????顯示文件和對象內(nèi)容。

pipe ????將一個STDIN重定向到一個對象或者文件或者STDOUT。

share ???生成用于共享的URL。

cp ??????拷貝文件和對象。

mirror ??給存儲桶和文件夾做鏡像。

find ????基于參數(shù)查找文件。

diff ????對兩個文件夾或者存儲桶比較差異。

rm ??????刪除文件和對象。

events ??管理對象通知。

watch ???監(jiān)聽文件和對象的事件。

policy ??管理訪問策略。

session ?為cp命令管理保存的會話。

config ??管理mc配置文件。

update ??檢查軟件更新。

version ?輸出版本信息。

2.3.1部署客戶端MC

操作系統(tǒng): CPU架構(gòu) 地址 Windows11 64-bit Intel http://docs.minio.org.cn/minio/baremetal/reference/minio-cli/minio-mc.html

配置文件路徑C:\Users\當(dāng)前用戶\config.json

Windows建議把mc.exe文件放在C:\Windows\System32目錄下,這樣mc命令就是全局命令。

查看命令使用語法:

直接數(shù)據(jù)命令回車即可,比如:mc config使用 – help參數(shù),比如:mc config – help

使用 mc config -h 命令查看 mc config 的幫助信息,如下:

其中,host 命令用來添加、刪除和列出配置文件中的服務(wù)主機。

我們繼續(xù)使用 “mc config host -h” 命令查看 mc config host 子命令的幫助信息,如下:

示例

查看 HOST 列表

使用 mc config host ls?命令列出 MinIO 客戶端中的所有 host,如下:

添加新的 HOST

命令模板:

mc config host add [--api API-SIGNATURE]

其中:

●?ALIAS 別名就是給你的云存儲服務(wù)起了一個短點的外號。

●?YOUR-S3-ENDPOINT 云存儲的主機和端口,如:http://127.0.0.1:9000

●?YOUR-ACCESS-KEY 云存儲服務(wù)的 Access Key

●?YOUR-SECRET-KEY 云存儲服務(wù)的 Secret Key

●?API-SIGNATURE API簽名是可選參數(shù),默認情況下它被設(shè)置為 "S3v4"

示例-Amazon S3云存儲

參考AWS Credentials指南獲取你的AccessKeyID和SecretAccessKey:

mc config host add minio01 http://192.168.0.46:9091?admin 12345678 --api s3v4

通過mc config host ls 可以看到新增的host

其他MC命令參考官方文檔。

2.4 MinIO Server 及Minio Client數(shù)據(jù)同步

功能將一個集群中的Minio服務(wù)的數(shù)據(jù)同步到另一集群的Minio服務(wù)中去。

minio server

搭建兩套Minio分布式系統(tǒng)(參考2.2.1)

示例:

第一套Minion系統(tǒng)中有(后文稱M1)

192.168.0.11:9091、192.168.0.12:9092

2個節(jié)點,每個節(jié)點4塊盤

第二套Minion系統(tǒng)中有(后文稱M2)

192.168.0.21:9093、192.168.0.22:9094

2個節(jié)點,每個節(jié)點4塊盤

密鑰均為:

●?MINIO_ROOT_USER=admin?設(shè)置登錄賬號(access秘鑰)

●?MINIO_ROOT_PASSWORD=12345678?設(shè)置登錄密碼(secret秘鑰)

若把M1中的桶同步到M2中

使用mc客戶端

添加host:

mc config host add?minio91 http://192.168.0.11:9091 admin 12345678

mc config host add?minio93 http://192.168.0.21:9093 admin 12345678

每一套Minio系統(tǒng)使用Nginx負載均衡并反向代理,所以只需添加M1和M2中的任一節(jié)點即可

同步兩個Minio服務(wù)的bucket:將minio91的所有桶數(shù)據(jù)同步至minio93

mc mirror --remove?--overwrite --watch ?minio91 ??minio93

寫如下.bat腳本,讓Minio client實時監(jiān)聽文件改動并同步

@echo off

SET minio91_uat=minio91

SET minio93_uat=minio93

SET Description=minioc

SET After=network.target

SET Type=simple

mc mirror --remove --overwrite --watch "%minio91_uat%" "%minio93_uat%"

SET %minio93_uat%Restart=on-failure

SET %minio93_uat%WantedBy=multi-user.target

EOF

運行時如果提示,沒有指定鎖對象,則在minio93中新建一個桶(與minio91的桶名一致),勾選對象鎖定

柚子快報邀請碼778899分享:分布式文件存儲系統(tǒng)MinIO

http://yzkb.51969.com/

相關(guān)文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18542273.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄