Docker安裝Minio存儲(chǔ)服務(wù)器詳解

1纷妆、 前言

1.1 Minio 簡介

  • 1、MinIO 是在 Apache License v2.0 下發(fā)布的對(duì)象存儲(chǔ)服務(wù)器晴弃。 它與 Amazon S3 云存儲(chǔ)服務(wù)兼容掩幢。 它最適合存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),如照片上鞠,視頻粒蜈,日志文件,備份和容器/ VM 映像旗国。 對(duì)象的大小可以從幾 KB 到最大 5TB。
  • 2注整、MinIO 服務(wù)器足夠輕能曾,可以與應(yīng)用程序堆棧捆綁在一起,類似于 NodeJS肿轨,Redis 和 MySQL
  • 3 一種高性能的分布式對(duì)象存儲(chǔ)服務(wù)器寿冕,用于大型數(shù)據(jù)基礎(chǔ)設(shè)施。它是機(jī)器學(xué)習(xí)和其他大數(shù)據(jù)工作負(fù)載下Hadoop HDFS 的理想 s3 兼容替代品

2 椒袍、 為什么要用 Minio

2.1 選擇它的理由

  • 1驼唱、Minio 有良好的存儲(chǔ)機(jī)制
  • 2、Minio 有很好糾刪碼的算法與擦除編碼算法
  • 3驹暑、擁有RS code 編碼數(shù)據(jù)恢復(fù)原理
  • 4玫恳、公司做強(qiáng)做大時(shí),數(shù)據(jù)的擁有重要性优俘,對(duì)數(shù)據(jù)治理與大數(shù)據(jù)分析做準(zhǔn)備京办。
  • 5、搭建自己的一套文件系統(tǒng)服務(wù),對(duì)文件數(shù)據(jù)進(jìn)行安全保護(hù)帆焕。
  • 6惭婿、擁有自己的平臺(tái),不限于其他方限制。

2.2 存儲(chǔ)機(jī)制

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

2.3 糾刪碼

  • 糾刪碼是一種恢復(fù)丟失和損壞數(shù)據(jù)的數(shù)學(xué)算法钥星,目前沾瓦,糾刪碼技術(shù)在分布式存儲(chǔ)系統(tǒng)中的應(yīng)用主要有三類,陣列糾刪碼(Array Code: RAID5打颤、RAID6 等)暴拄、RS(Reed-Solomon)里德-所羅門類糾刪碼和 LDPC(LowDensity Parity Check Code)低密度奇偶校驗(yàn)糾刪碼。Erasure Code 是一種編碼技術(shù)编饺,它可以將 n 份原始數(shù)據(jù)乖篷,增加 m 份數(shù)據(jù),并能通過 n+m 份中的任意 n 份數(shù)據(jù)透且,還原為原始數(shù)據(jù)撕蔼。即如果有任意小于等于 m 份的數(shù)據(jù)失效,仍然能通過剩下的數(shù)據(jù)還原出來

2.4 RS code 編碼數(shù)據(jù)恢復(fù)原理

  • RS 編碼以 word 為編碼和解碼單位秽誊,大的數(shù)據(jù)塊拆分到字長為 w(取值一般為 8 或者 16位)的 word鲸沮,然后對(duì) word 進(jìn)行編解碼。 數(shù)據(jù)塊的編碼原理與 word 編碼原理相同锅论,后文中以 word 為例說明讼溺,變量 Di, Ci 將代表一個(gè) word。把輸入數(shù)據(jù)視為向量 D=(D1最易,D2怒坯,..., Dn), 編碼后數(shù)據(jù)視為向量(D1, D2,..., Dn, C1, C2,.., m),RS 編碼可視為如下(圖 1)所示矩陣運(yùn)算藻懒。圖 1 最左邊是編碼矩陣(或稱為生成矩陣剔猿、分布矩陣,Distribution Matrix)嬉荆,編碼矩陣需要滿足任意 n*n 子矩陣可逆归敬。為方便數(shù)據(jù)存儲(chǔ),編碼矩陣上部是單位陣(n 行 n 列)鄙早,下部是m 行 n 列矩陣汪茧。下部矩陣可以選擇范德蒙德矩陣或柯西矩陣。


    RS code

RS 最多能容忍 m 個(gè)數(shù)據(jù)塊被刪除蝶锋。 數(shù)據(jù)恢復(fù)的過程如下:
(1)假設(shè) D1陆爽、D4、C2 丟失扳缕,從編碼矩陣中刪掉丟失的數(shù)據(jù)塊/編碼塊對(duì)應(yīng)的行慌闭。(圖 2别威、3)
(2)由于 B' 是可逆的,記 B'的逆矩陣為 (B'^-1)驴剔,則 B' * (B'^-1) = I 單位矩陣省古。兩邊左乘 B'
逆矩陣。 (圖 4丧失、5)
(3)得到如下原始數(shù)據(jù) D 的計(jì)算公式 豺妓。

RS

2.5 擦除代碼

  • MinIO 使用每個(gè)對(duì)象的內(nèi)聯(lián)擦除編碼來保護(hù)數(shù)據(jù),這種編碼是用匯編代碼編寫的布讹,可以提供盡可能高的性能琳拭。MinIO 使用 Reed-Solomon 代碼將對(duì)象條帶化為 n/2 數(shù)據(jù)和 n/2 奇偶校驗(yàn)塊——盡管這些可以配置為任何所需的冗余級(jí)別。這意味著在 12 個(gè)驅(qū)動(dòng)器設(shè)置中描验,一個(gè)對(duì)象被分割為 6 個(gè)數(shù)據(jù)和 6 個(gè)奇偶校驗(yàn)塊白嘁。即使您丟失了 5 個(gè)(n/2) -1 個(gè)驅(qū)動(dòng)器,無論是奇偶校驗(yàn)還是數(shù)據(jù)膘流,您仍然可以從剩余驅(qū)動(dòng)器可靠地重構(gòu)數(shù)據(jù)絮缅。MinIO 的實(shí)現(xiàn)確保即使多個(gè)設(shè)備丟失或不可用,也可以讀取對(duì)象或?qū)懭胄聦?duì)象呼股。最后耕魄,MinIO 的擦除代碼在對(duì)象級(jí)別,可以一次治愈一個(gè)對(duì)象彭谁。
擦除代碼

2.6 體系結(jié)構(gòu)

  • 1吸奴、MinIO 支持從機(jī)器學(xué)習(xí)到備份的一系列現(xiàn)代工作負(fù)載
  • 2、使用云本地技術(shù)并分解計(jì)算和存儲(chǔ)層
  • 3缠局、創(chuàng)建高效和可伸縮的對(duì)象存儲(chǔ)解決方案奄抽。


    體系結(jié)構(gòu)

3 、Linux 安裝準(zhǔn)備工作

3.1 搜索鏡像

  • 1 搜索鏡像的命令
docker search minio
  • 2 搜索鏡像命令的結(jié)果信息
  • 搜索鏡像命令的結(jié)果信息

3.2 拉取鏡像

  • 1 拉取鏡像的命令
docker pull minio/minio
  • 2 拉取鏡像命令的結(jié)果信息
  • 拉取鏡像命令的結(jié)果信息

3.3 啟動(dòng)與安裝鏡像

  • 1甩鳄、這種安裝方式并沒有指定 ACCESS_KEY 和 SECRET_KEY 進(jìn)行設(shè)置,安裝后可以進(jìn)行 echo命令設(shè)置,
docker run -it -p 9000:9000 -d minio/minio server /data
  • -it 表示運(yùn)行參數(shù)额划,-p 表示暴露端口 妙啃,-d 表示后臺(tái)運(yùn)行,data 指定目錄存放文件
  • 2俊戳、echo 命令設(shè)置 ACCESS_KEY 和 SECRET_KEY
echo "admin" | docker secret create access_key -
echo "admin123456" | docker secret create secret_key -

3.4 自定義用戶和秘鑰安裝

  • 1揖赴、這種安裝方式 MinIO 自定義 Access 和 Secret 密鑰要覆蓋 MinIO 的自動(dòng)生成的密鑰,您可以將 Access 和 Secret 密鑰設(shè)為環(huán)境變量抑胎。MinIO 允許常規(guī)字符串作為 Access 和 Secret 密鑰
docker run -p 9000:9000 --name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=admin123456" \
-v /home/data:/data \
-v /home/config:/root/.minio \
minio/minio server /data
  • 2 輸出的結(jié)果


    輸出的結(jié)果

3.5 查看運(yùn)行鏡像

  • 1 查看運(yùn)行鏡像命令
[root@localhost /]# docker ps -a
  • 2 查看運(yùn)行鏡像的結(jié)果信息


    結(jié)果信息

3.6 查看安裝 logs 信息

  • 1 通過指定容器 id 查看安裝 minio 的信息
docker logs ea407f6b446c
  • 2 minio 安裝的日志信息燥滑,其中 AccessKey 和 SecretKey 是登陸 minio 客戶端的用戶名和秘鑰
Endpoint: http://172.17.0.5:9000 http://127.0.0.1:9000
AccessKey: 4RUAAMD4JVDTSYFZAIIU
SecretKey: mn5fYWV2CPtENTS6XHQqRB+j+NNjI3w79qcdQ4VZ
Browser Access:
http://172.17.0.5:9000 http://127.0.0.1:9000
Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc config host add myminio http://172.17.0.5:9000 4RUAAMD4JVDTSYFZAIIU
mn5fYWV2CPtENTS6XHQqRB+j+NNjI3w79qcdQ4VZ
Object API (Amazon S3 compatible):
Go: https://docs.min.io/docs/golang-client-quickstart-guide
Java: https://docs.min.io/docs/java-client-quickstart-guide
Python: https://docs.min.io/docs/python-client-quickstart-guide
JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
.NET: https://docs.min.io/docs/dotnet-client-quickstart-guide

3.7 登錄客戶端

  • 1 瀏覽器輸入地址進(jìn)行登錄
http://192.168.1.133:9000
  • 2 瀏覽器輸入 AccessKey 和 SecretKey


    登錄.png
  • 3、授權(quán)失敗

出現(xiàn) Authentication failed, check your access credentials 一般表示 AccessKey 和 SecretKey 輸入不正確


授權(quán)失敗
  • 4阿逃、成功登陸界面


    界面.png

3.8 新建桶注意事項(xiàng)

  • minio client 不支持有下劃線的桶名稱(bucket name)命名,支持中劃線的命名,故所有桶的名稱建議中劃線或者無中劃線進(jìn)行命名铭拧。


    新建桶注意事項(xiàng).png

3.9 修改用戶名和秘鑰

修改用戶名和秘鑰.png

4 赃蛛、Windows 安裝準(zhǔn)備工作

4.1 、在 Docker 安裝

  • 前提 Windows 上安裝 Docker 容器搀菩,然后輸入下面的命令.
docker run -p 9000:9000 --name minio1 \
-d --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=admin123456" \
-v E:\minio:/data \
-v E:\minio\config:/root/.minio \
minio/minio server /data
  • -v 表示數(shù)據(jù)卷 volume 呕臂、 -e 指定環(huán)境變量 env 、E:\minio 指定磁盤目錄

4.2 肪跋、非 Docker 安裝

  • 1歧蒋、指定客戶端和目錄加上 server 關(guān)鍵字進(jìn)行綁定,然后回車進(jìn)行啟動(dòng)
minio.exe server E:\minio
minio
  • 2州既、 生成秘鑰和 key


    生成秘鑰和 key
  • 3谜洽、 生成的目錄和文件


    image.png

備注:其中 buckets 在后臺(tái)新建一個(gè)桶的時(shí)候 minio 會(huì)維護(hù)一個(gè)文件夾,這個(gè)文件夾會(huì)維護(hù)fs.json 文件系統(tǒng) json

5 、總結(jié)與建議

5.1 總結(jié)與建議

  • 1 吴叶、以上問題根據(jù)搭建 Minio 實(shí)際情況進(jìn)行總結(jié)整理阐虚,除了技術(shù)問題查很多網(wǎng)上資料通過進(jìn)行學(xué)習(xí)之后梳理與分享。

  • 2晤郑、 在學(xué)習(xí)過程中也遇到很多困難和疑點(diǎn)敌呈,如有問題或誤點(diǎn),望各位老司機(jī)多多指出或者提出建議造寝。本人會(huì)采納各種好建議和正確方式不斷完善現(xiàn)況磕洪,人在成長過程中的需要優(yōu)質(zhì)的養(yǎng)料。

  • 3诫龙、 希望此文章能幫助各位老鐵們更好去了解如何在 Docker 里面安裝 Minio析显,也希望你看了此文章或者通過找資料進(jìn)行手動(dòng)實(shí)操一遍學(xué)習(xí)效果會(huì)更好。

5.2 Minio官方與文檔

更系統(tǒng)的學(xué)習(xí)與資料签赃,請(qǐng)參考官方文檔
官方地址
官方文檔
中文官方地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谷异,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子锦聊,更是在濱河造成了極大的恐慌歹嘹,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孔庭,死亡現(xiàn)場離奇詭異尺上,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)圆到,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門怎抛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芽淡,你說我怎么就攤上這事恳蹲〖Φ洌” “怎么了杠园?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掷邦。 經(jīng)常有香客問我,道長唉窃,這世上最難降的妖魔是什么耙饰? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮纹份,結(jié)果婚禮上苟跪,老公的妹妹穿的比我還像新娘。我一直安慰自己蔓涧,他們只是感情好件已,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著元暴,像睡著了一般篷扩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茉盏,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天鉴未,我揣著相機(jī)與錄音,去河邊找鬼鸠姨。 笑死铜秆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讶迁。 我是一名探鬼主播连茧,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巍糯!你這毒婦竟也來了啸驯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤祟峦,失蹤者是張志新(化名)和其女友劉穎罚斗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宅楞,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惰聂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咱筛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杆故,死狀恐怖迅箩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情处铛,我是刑警寧澤饲趋,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布拐揭,位于F島的核電站,受9級(jí)特大地震影響奕塑,放射性物質(zhì)發(fā)生泄漏堂污。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一龄砰、第九天 我趴在偏房一處隱蔽的房頂上張望盟猖。 院中可真熱鬧,春花似錦换棚、人聲如沸式镐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娘汞。三九已至,卻和暖如春夕玩,著一層夾襖步出監(jiān)牢的瞬間你弦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工燎孟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留禽作,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓缤弦,卻偏偏與公主長得像领迈,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碍沐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容