最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

關(guān)于Docker部署分布式Minio的探索

2022-04-22 00:39 作者:黑貓SAMA  | 我要投稿

關(guān)于Docker部署分布式Minio的探索

之前我有寫過用騰訊云輕量部署單節(jié)點(diǎn)的文章

> [**騰訊云輕量Docker部署單節(jié)點(diǎn)MinIO**](https://blog.im.ci/study-notes/linux-notes/736/)


這次來講講Docker部署分布式Minio


根據(jù)官方文檔所說,Minio分布式部署需要最低四塊硬盤,也就是說利用Docker進(jìn)行分布式部署的最低要求是兩節(jié)點(diǎn)兩硬盤,此次部署的計(jì)劃便是如此。


# 準(zhǔn)備


我準(zhǔn)備了兩臺南京地區(qū)的輕量應(yīng)用服務(wù)器,系統(tǒng)均為Debian11




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/a5716bw8u2.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=9e8f1fe5df8a46ae581aadb52b2d55f5f3a193cf)




為什么要兩臺同地區(qū)的?因?yàn)轵v訊云輕量同地區(qū)默認(rèn)分配在同一VPC網(wǎng)絡(luò)中,兩臺機(jī)器可以免費(fèi)享有高達(dá)5Gbps的內(nèi)網(wǎng)互聯(lián),Minio的分布式部署是會(huì)在節(jié)點(diǎn)間同步數(shù)據(jù)的,公網(wǎng)帶寬太小不夠爽(


至于服務(wù)器的內(nèi)網(wǎng)IP,可以在控制臺的網(wǎng)絡(luò)信息里看到




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/dxhrndm80q.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=53d5752f738f3ba370e406599df608f9433866f4)




## 設(shè)置Hosts


由于Minio的分布式部署支持省略,我們參考下面的樣式來增加節(jié)點(diǎn)


```javascript

?http://host{1...n}/export{1...m}

```


其中,n和m都為整數(shù),host為節(jié)點(diǎn)名稱,export為硬盤路徑


例如


```javascript

http://host{1...2}/export{1...2}

```


的執(zhí)行效果等同于


```javascript

http://host1/export1http://host1/export2http://host2/export1http://host1/export2

```


所以我們使用Hosts文件來定義節(jié)點(diǎn)名稱以及節(jié)點(diǎn)應(yīng)該解析到的IP地址


```javascript

vi /etc/hosts

```


按`i`進(jìn)入編輯模式,在最下行添加hosts解析,具體IP地址請據(jù)自身內(nèi)網(wǎng)IP地址進(jìn)行修改,不能照抄


```javascript

10.0.4.13 minio-110.0.4.12 minio-2

```


添加完成后按ESC后輸入`:wq`保存,效果如下圖




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/57ad4vdls3.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=ac5bcbbdcd5e50ce8fbce5f08c9eedb3bde9f18c)




此時(shí),可以使用PING命令來測試連通情況




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/46jmvtr9ch.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=5ab1d19a66daa80d87ea05522c0f314717f070c7)




如果沒有PING命令,安裝下面的軟件包即可


```javascript

apt-get updateapt install net-tools # ifconfigapt install iputils-ping # ping

```


## 部署Docker


這個(gè)沒有什么好細(xì)講的,使用Docker官方的安裝腳本即可,默認(rèn)安裝最新的發(fā)行版Docker


```javascript

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

```


## 部署鏡像


### 基礎(chǔ)配置命令


```javascript

docker run -d? --restart=always --net=host\? --name minio1 \? -v /home/minio/data1:/data1 \? -v /home/minio/data2:/data2 \? -e "MINIO_ROOT_USER=Your_Login_User_Name" \? -e "MINIO_ROOT_PASSWORD=Your_Login_User_Password" \? quay.io/minio/minio server? --console-address ":9001" \? http://minio-{1...2}/data{1...2}

```


此配置下,兩個(gè)節(jié)點(diǎn)均為兩塊硬盤,分別為data1和data2,控制臺端口為9001


訪問任意節(jié)點(diǎn)的`公網(wǎng)IP:9001`即可進(jìn)入控制臺


注意:`http://minio-{1...2}/data{1...2}` 中的點(diǎn)必須為三個(gè)英文.




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/g5n75fu0jb.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=f56ad71e0c90c8d4d49208de1ff59992ae828a03)




控制臺效果


### 進(jìn)階配置命令


```javascript

docker run -d? --restart=always? --net=host \

? ?--name minio1 \

? ?-v /home/minio/data1:/data1? \

? ?-v /home/minio/data2:/data2 \

? ?-e "MINIO_ROOT_USER=Your_Login_User_Name" \

? ?-e "MINIO_ROOT_PASSWORD=Your_Login_User_Password" \

? ?-e "MINIO_SERVER_URL=https://file.Your_DominName.com" \

? ?-e "MINIO_BROWSER_REDIRECT_URL=https://minio.Your_DominName.com" \

? ?quay.io/minio/minio server? --console-address ":9001" \

? ?http://minio-{1...2}/data{1...2}

```


此命令增加了`MINIO_SERVER_URL`和`MINIO_BROWSER_REDIRECT_URL`兩個(gè)參數(shù),效果為:


- MINIO\_SERVER\_URL 設(shè)置Minio的API域名(對應(yīng)API的IP:9000)

● - MINIO\_BROWSER\_REDIRECT\_URL 設(shè)置Minio Web Console域名(對應(yīng)Web Console的IP:9001)


這兩條參數(shù)可以讓控制臺的分享功能調(diào)用域名來分享,而不是自動(dòng)獲取到的內(nèi)網(wǎng)IP地址/容器IP

實(shí)際訪問需要配置好NGINX,具體可參考我部署單節(jié)點(diǎn)時(shí)的文章




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/eesebny5xf.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=1972472b570fff8ec013e4e02aa182767d795cc2)




設(shè)置域名后的分享效果


# 其他功能及效果驗(yàn)證


在分布式部署的情況下,Minio將會(huì)自動(dòng)啟用糾刪碼模式,并且在單節(jié)點(diǎn)不可用的版本控制、[對象鎖定](https://blog.im.ci/?golink=aHR0cHM6Ly9kb2NzLm1pbi5pby9taW5pby9iYXJlbWV0YWwvb2JqZWN0LXJldGVudGlvbi9taW5pby1vYmplY3QtbG9ja2luZy5odG1sI21pbmlvLW9iamVjdC1sb2NraW5n)以及數(shù)據(jù)保留功能




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/z6i1lk62ht.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=38a3a9f9129eab4d9ff8f171c76f948e1e91fc57)




在分布式部署下可用的更多功能


此時(shí)我們創(chuàng)建桶后進(jìn)行文件上傳




![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/vla45h8dyo.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=817fdc9b14d6dbf156f42de6975108820e848433)






![節(jié)點(diǎn)1](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/y1pndnx0t8.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=e056d317a4bfe65168eb127c45843f5fc75ba383)




![節(jié)點(diǎn)2](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/4816180/4teon387dr.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1650558555;1650565755&q-key-time=1650558555;1650565755&q-header-list=&q-url-param-list=&q-signature=26b6e26fe85ab5aa8dc426de0b86135533eb0f74)


可以看到每個(gè)節(jié)點(diǎn)虛擬出的每塊硬盤都上傳了一份文件,也就是同時(shí)會(huì)有四份文件存放在不同的位置。


# 一些遇到問題的小提示


● - 部署如果遇到鏡像無法啟動(dòng),使用`docker logs minio1`來查看鏡像日志,再根據(jù)日志進(jìn)行排錯(cuò)。

● - Minio分布式部署無法使用端口轉(zhuǎn)發(fā),必須使用本機(jī)網(wǎng)絡(luò),也就是鏡像啟動(dòng)參數(shù)攜帶`--net=host`。


另外,如果log報(bào)出`Please provide an even number of endpoints greater or equal to 4` ,則代表硬盤數(shù)量不足4個(gè),請刪除單節(jié)點(diǎn)下配置文件最后的`/data`,此內(nèi)容是指定啟用的磁盤路徑。


# 參考資料


● - [Deploy MinIO in Distributed Mode — MinIO Baremetal Documentation](https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con)

● - [分布式MinIO快速入門 | Minio中文文檔](http://docs.minio.org.cn/docs/master/distributed-minio-quickstart-guide)

阿B的專欄編輯器太難用所以懶得再重新編輯了,完整文章請移步我的博客

https://blog.im.ci/study-notes/linux-notes/804/




關(guān)于Docker部署分布式Minio的探索的評論 (共 條)

分享到微博請遵守國家法律
丽水市| 安西县| 突泉县| 即墨市| 资阳市| 德江县| 江陵县| 监利县| 皋兰县| 远安县| 秭归县| 翁源县| 德格县| 新巴尔虎右旗| 台江县| 安吉县| 光山县| 逊克县| 临江市| 贵港市| 成安县| 万山特区| 内黄县| 祥云县| 德钦县| 古蔺县| 三台县| 甘孜| 石河子市| 清水河县| 随州市| 两当县| 永仁县| 乌鲁木齐市| 凤凰县| 泰宁县| 钟祥市| 富锦市| 大姚县| 安义县| 嘉黎县|