<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MinIO的基礎概念和環境部署

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 作者:馬哥Linux運維 ? 2022-08-29 10:07 ? 次閱讀

一、前言

MinIO 的基礎概念和環境部署可以參考:

我之前的文章:高性能分布式對象存儲——MinIO(環境部署):https://www.cnblogs.com/liugp/p/16558869.html

二、客戶端操作 MinIO Client(mc)

官方文檔:https://docs.min.io/docs/minio-admin-complete-guide.html

MinIO Client (mc) 為 UNIX 命令(如 ls、cat、cp、mirror、diff、find 等)提供了現代替代方案。它支持文件系統和兼容 Amazon S3 的云存儲服務(AWS Signature v2 和 v4)。

aliasset,removeandlistaliasesinconfigurationfile
lslistbucketsandobjects
mbmakeabucket
rbremoveabucket
cpcopyobjects
mirrorsynchronizeobject(s)toaremotesite
catdisplayobjectcontents
headdisplayfirst'n'linesofanobject
pipestreamSTDINtoanobject
sharegenerateURLfortemporaryaccesstoanobject
findsearchforobjects
sqlrunsqlqueriesonobjects
statshowobjectmetadata
mvmoveobjects
treelistbucketsandobjectsinatreeformat
dusummarizediskusagerecursively
retentionsetretentionforobject(s)
legalholdsetlegalholdforobject(s)
difflistdifferencesinobjectname,size,anddatebetweentwobuckets
rmremoveobjects
encryptmanagebucketencryptionconfig
eventmanageobjectnotifications
watchlistenforobjectnotificationevents
undoundoPUT/DELETEoperations
policymanageanonymousaccesstobucketsandobjects
tagmanagetagsforbucket(s)andobject(s)
ilmmanagebucketlifecycle
versionmanagebucketversioning
replicateconfigureserversidebucketreplication
adminmanageMinIOservers
updateupdatemctolatestrelease

1)mc Shell 自動補全

如果您使用的是 bash、zsh 或 fish。Shell 補全默認嵌入在 mc,安裝自動補全使用mc --autocompletion。重新啟動 shell,mc 將自動完成命令,如下所示。

#安裝
mc--autocompletion
#重啟shell,即退出shell,重新連接即可
26adc018-26d9-11ed-ba43-dac502259ad0.png

2)查看 mc 版本

mc--version
26c002dc-26d9-11ed-ba43-dac502259ad0.png

3)列出來自https://play.min.io的所有存儲桶

mclsplay
#json格式
mc--jsonlsplay
26cd0fa4-26d9-11ed-ba43-dac502259ad0.png

4)創建桶

mb命令在對象存儲上創建一個新存儲桶。在文件系統上,它的行為類似于 mkdir -p 命令。Bucket 相當于文件系統中的驅動器或掛載點,不應被視為文件夾。MinIO 對每個用戶創建的存儲桶數量沒有任何限制。

#添加MinIO存儲服務
cd/opt/bigdata/minio
./mcconfighostaddminiohttp://local-168-182-110:19000adminadmin123456

#在自己部署的minio創建新存儲桶
mcmbminio/mybucket
#查看所有桶
mclsminio

26e048a8-26d9-11ed-ba43-dac502259ad0.png
web 訪問:http://local-168-182-110:19001
26ec1b24-26d9-11ed-ba43-dac502259ad0.png

5)復制文件到 MinIO

cp命令將數據從一個或多個源復制到目標。

mccpwget-logminio/mybucket
#查看
mclswget-logminio/mybucket
270967ce-26d9-11ed-ba43-dac502259ad0.png

6)日常使用

您可以添加 shell 別名來覆蓋您常用的 Unix 工具。

aliasls='mcls'
aliascp='mccp'
aliascat='mccat'
aliasmkdir='mcmb'
aliaspipe='mcpipe'
aliasfind='mcfind'
aliastree='mctree'

7)MinIO 管理員操作

MinIO Client (mc) 提供 admin 子命令來對 MinIO 部署執行管理任務。

servicerestartandstopallMinIOservers
updateupdateallMinIOservers
infodisplayMinIOserverinformation
usermanageusers
groupmanagegroups
policymanagepoliciesdefinedintheMinIOserver
replicatemanageMinIOsitereplication
configmanageMinIOserverconfiguration
decommission,decommanageMinIOserverpooldecommissioning
healhealdisks,bucketsandobjectsonMinIOserver
prometheusmanagesprometheusconfig
kmsperformKMSmanagementoperations
bucketmanagebucketsdefinedintheMinIOserver
tiermanageremotetiertargetsforILMtransition
topprovidetoplikestatisticsforMinIO
traceshowhttptraceforMinIOserver
consoleshowconsolelogsforMinIOserver

1)查看集群信息

mcadmininfominio
#為了方便使用,可以設置別名
aliasminfo='mcadmininfo'
minfominio

271909a4-26d9-11ed-ba43-dac502259ad0.png
27291eca-26d9-11ed-ba43-dac502259ad0.png

2)全局選項

1、選項 [--debug]

【示例】顯示 info 命令的詳細調試輸出

mcadmininfo--debugminio
273adb92-26d9-11ed-ba43-dac502259ad0.png

2、選項 [--json]

JSON 選項啟用 JSON 行格式的可解析輸出。
【示例】MinIO 服務器信息

mcadmin--jsoninfominio
27603ea0-26d9-11ed-ba43-dac502259ad0.png

3)命令 service- 重啟和停止所有 MinIO 服務器

service 命令提供了一種重新啟動和停止所有 MinIO 服務器的方法。
【示例】

mcadminservicerestartminio

4)命令 policy- 管理預設策略

policy 添加、刪除、列出策略、獲取策略信息以及為 MinIO 服務器上的用戶設置策略的命令。

NAME:
mcadminpolicy-managepolicies

FLAGS:
--help,-hshowhelp

COMMANDS:
addaddnewpolicy
removeremovepolicy
listlistallpolicies
infoshowinfoonapolicy
setsetIAMpolicyonauserorgroup

1、【示例】列出 MinIO 上的所有預設策略

mcadminpolicylistminio
2775a5a6-26d9-11ed-ba43-dac502259ad0.png

2、【示例】在 MinIO 上添加新策略“listbucketsonly”

策略來自 /tmp/listbucketsonly.json。當此策略應用于用戶時,該用戶只能列出頂層存儲桶,但不能列出其他任何內容,沒有前綴,沒有對象。

首先使用以下信息創建 json 文件 /tmp/listbucketsonly.json。

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:ListAllMyBuckets"
],
"Resource":[
"arns3:::*"
]
}
]
}

將策略作為“listbucketsonly”添加到策略數據庫

mcadminpolicyaddminiolistbucketsonly/tmp/listbucketsonly.json

#刪除MinIO上的策略“listbucketsonly”
mcadminpolicyremoveminiolistbucketsonly

3、【示例】在用戶或組上設置標準策略。'writeonly'

#添加一個新用戶“newuser”,密碼"newuser123"
mcadminuseraddminionewusernewuser123
#給用戶添加策略
mcadminpolicysetminiowriteonlyuser=newuser
#添加組“somegroup”,把用戶“newuser”添加到組
mcadmingroupaddminiosomegroupnewuser
#給組添加策略
mcadminpolicysetminiowriteonlygroup=somegroup

5)命令 user- 管理用戶

1、【示例】在 MinIO 上添加一個新用戶“newuser”

#添加一個新用戶“newuser”,密碼"newuser123"
mcadminuseraddminionewusernewuser123

2、【示例】在 MinIO 上禁用用戶“newuser”

mcadminuserdisableminionewuser

3、【示例】在 MinIO 上啟用用戶“newuser”

mcadminuserenableminionewuser

4、【示例】在 MinIO 上刪除用戶“newuser”

mcadminuserremoveminionewuser

5、【示例】列出 MinIO 上的所有用戶

mcadminuserlist--jsonminio

6、【示例】顯示用戶信息

mcadminuserinfominionewuser

6)命令 group- 管理組

group 在 MinIO 服務器上添加、刪除、信息、列出、啟用、禁用組的命令。

1、【示例】將用戶添加到 MinIO 上的組“somegroup”

#如果組不存在,則創建組。
mcadmingroupaddminiosomegroupnewuser

2、【示例】從 MinIO 上的組“somegroup”中刪除用戶

mcadmingroupremoveminiosomegroupnewuser

3、【示例】在 MinIO 上刪除一個組“somegroup”

僅在給定組為空時有效,非空組無法刪除

mcadmingroupremoveminiosomegroup
279c69ac-26d9-11ed-ba43-dac502259ad0.png

4、【示例】在 MinIO 上獲取組“somegroup”的信息

#添加組
mcadmingroupaddminiosomegroupnewuser
#刪除
mcadmingroupinfominiosomegroup

5、【示例】列出 MinIO 上的所有組

mcadmingrouplistminio

6、【示例】在 MinIO 上啟用組“somegroup”

mcadmingroupenableminiosomegroup

7、【示例】在 MinIO 上禁用組“somegroup”

mcadmingroupdisableminiosomegroup

7)命令 config- 管理服務器配置

config命令來管理 MinIO 服務器配置。

1、【示例】獲取“etcd”子系統配置

#通過引入第三方組件etcd,在不動原有集群的基礎上實現動態擴展方案
mcadminconfiggetminioetcd

2、【示例】在“etcd”子系統上設置特定設置

mcadminconfigsetminioetcdendpoints=http://[hostname|ip]:2379

3、【示例】獲取 MinIO 服務器/集群的整個服務器配置

mcadminconfigexportminio>/tmp/my-serverconfig

4、【示例】設置 MinIO 服務器/集群的整個服務器配置

mcadminconfigimportminio

這里列出了常用的命令,想了解更多,可以查看官方文檔:https://docs.min.io/docs/minio-admin-complete-guide.html

MinIO Client(mc)操作還是非常簡單的,但是更多的使用還是通過程序去調用 api 接口的,后續會講解~

三、MinIO 分布式集群擴容

參考:https://docs.min.io/docs/distributed-minio-quickstart-guide.html
27af3500-26d9-11ed-ba43-dac502259ad0.png

MinIO 集群擴容方法:

常見的集群擴容方法可分為兩類:水平擴容垂直擴容。

水平擴容,一般指通過增加節點數擴展系統性能;

垂直擴容則指提升各節點自身的性能,例如增加節點的磁盤存儲空間。直接采用垂直擴容方式擴容 MinIO 集群的節點磁盤空間,會為集群運行帶來若干問題,官方也并推薦。因此本文主要介紹 MinIO 的兩種水平擴容方式:對等擴容聯邦擴容。

1)對等擴容

首先,MinIO 的極簡設計理念使得 MinIO 分布式集群并不支持向集群中添加單個節點并進行自動調節的擴容方式,這是因為加入單個節點后所引發的數據均衡以及糾刪組劃分等問題會為整個集群帶來復雜的調度和處理過程,并不利于維護。因此,MinIO 提供了一種對等擴容的方式,即要求增加的節點數和磁盤數均需與原集群保持對等。

例如原集群包含2 個節點 2 塊磁盤,則在擴容時必須同樣增加 2 個節點 2 塊磁盤(或為其倍數),以便系統維持相同的數據冗余 SLA,從而極大地降低擴容的復雜性;

如上例,在擴容后,MinIO 集群并不會對全部的 4 個節點進行完全的數據均衡,而是將原本的2 個節點視作一個區域,新加入的 2 節點視作另一區域;

當有新對象上傳時,集群將依據各區域的可用空間比例確定存放區域,在各區域內仍舊通過哈希算法確定對應的糾刪組進行最終的存放。此外,集群進行一次對等擴容后,還可依據擴容規則繼續進行對等擴容,但出于安全性考慮,集群的最大節點數一般不得超過 32 個。

對等擴容的優點在于配置操作簡單易行

通過一條命令即可完成擴容(注意:推薦使用連續的節點 IP,并參照 MinIO 官網在擴容命令中使用{})。而對等擴容的局限性在于:

擴容需重啟;

擴容存在限制,集群節點數一般不超過 32 個,這是由于 MinIO 集群通過分布式鎖保證強一致性,若集群節點數過大,維護強一致性將帶來性能問題。

【溫馨提示】這里不沿用之前的集群進行擴容,這里重新部署 2 個節點的集群。具體部署,可以參考我之前的文章:高性能分布式對象存儲——MinIO(環境部署)

1、環境準備

主機名 IP data 備注
local-168-182-110 192.168.182.110 /opt/bigdata/minio/data/export{1,2} 原始節點
local-168-182-111 192.168.182.111 /opt/bigdata/minio/data/export{1,2} 原始節點
local-168-182-112 192.168.182.112 /opt/bigdata/minio/data/export{1,2} 擴容節點
local-168-182-113 192.168.182.113 /opt/bigdata/minio/data/export{1,2} 擴容節點

啟動腳本

#!/bin/bash
#創建日志存儲目錄
mkdir-p/opt/bigdata/minio/logs
#分別在三個節點上創建存儲目錄
mkdir-p/opt/bigdata/minio/data/export{1,2,3,4}
#創建配置目錄
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456

#所有節點都得修改重啟服務
#--address"0.0.0.0:9000"掛載9001端口為api端口(如Java客戶端)訪問的端口
#--console-address ":9000"掛載9000端口為web端口;
/opt/bigdata/minio/minioserver--address0.0.0.0:9000--console-address0.0.0.0:9001--config-dir/etc/minio
http://192.168.182.11{0...1}/opt/bigdata/minio/data/export{1...2}>/opt/bigdata/minio/logs/minio_server.log

minio 初始集群信息
web 訪問:http://local-168-182-110:19001

27c01bb8-26d9-11ed-ba43-dac502259ad0.png

27d65bb2-26d9-11ed-ba43-dac502259ad0.png
27e8e5c0-26d9-11ed-ba43-dac502259ad0.png

1、將配置 copy 一份到要擴容的節點

#在local-168-182-110執行
cd/opt/bigdata/minio
scp-r/opt/bigdata/miniolocal-168-182-113:/opt/bigdata/
scp-r/usr/lib/systemd/system/minio.servicelocal-168-182-113:/usr/lib/systemd/system/minio.service

2、添加磁盤

這里也添加 2 塊 2G 的磁盤

#不重啟,直接刷新磁盤數據總線,獲取新加的磁盤
forhostin$(ls/sys/class/scsi_host);doecho"---">/sys/class/scsi_host/$host/scan;done

lsblk

#格式化
mkfs.ext4/dev/sdb
mkfs.ext4/dev/sdc
mkfs.ext4/dev/sdd
mkfs.ext4/dev/sde

#先刪再創建掛載目錄,因為這里面有其它節點的數據
rm-fr/opt/bigdata/minio/data/export{1..4}
mkdir-p/opt/bigdata/minio/data/export{1..4}

#掛載
mount/dev/sdb/opt/bigdata/minio/data/export1
mount/dev/sdc/opt/bigdata/minio/data/export2
mount/dev/sdd/opt/bigdata/minio/data/export3
mount/dev/sde/opt/bigdata/minio/data/export4

3、修改啟動腳本(run.sh)

#!/bin/bash
#創建日志存儲目錄
mkdir-p/opt/bigdata/minio/logs
#分別在三個節點上創建存儲目錄
mkdir-p/opt/bigdata/minio/data/export{1,2}
#創建配置目錄
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456

#所有節點都得修改重啟服務
#--address"0.0.0.0:9000"掛載9001端口為api端口(如Java客戶端)訪問的端口
#--console-address ":9000"掛載9000端口為web端口;
#擴容地址:http://192.168.182.11{2...3}/opt/bigdata/minio/data/export{1...2}
/opt/bigdata/minio/minioserver--address0.0.0.0:9000--console-address0.0.0.0:9001--config-dir/etc/minio
http://192.168.182.11{0...1}/opt/bigdata/minio/data/export{1...2}
http://192.168.182.11{2...3}/opt/bigdata/minio/data/export{1...2}>/opt/bigdata/minio/logs/minio_server.log

可擴容的方式,使用 MINIO 糾刪碼,如果想要擴容,必須使用這種方式。注意上面是三個點。

下面的寫法多硬盤多節點部署是不可擴容的方式,下面是官方示例:

exportMINIO_ACCESS_KEY=
exportMINIO_SECRET_KEY=
minioserverhttp://192.168.1.11/export1http://192.168.1.11/export2
http://192.168.1.11/export3http://192.168.1.11/export4
http://192.168.1.12/export1http://192.168.1.12/export2
http://192.168.1.12/export3http://192.168.1.12/export4
http://192.168.1.13/export1http://192.168.1.13/export2
http://192.168.1.13/export3http://192.168.1.13/export4
http://192.168.1.14/export1http://192.168.1.14/export2
http://192.168.1.14/export3http://192.168.1.14/export4

4、重啟服務

systemctlrestartminio

web 訪問:http://local-168-182-110:19001
27f5a3c8-26d9-11ed-ba43-dac502259ad0.png
到這里就完成了對等擴容了。

2)聯邦擴容

MinIO 官方提供了另一種擴容機制——聯邦擴容,即通過引入 etcd,將多個 MinIO 分布式集群在邏輯上組成一個聯邦,對外以一個整體提供服務,并提供統一的命名空間。MinIO 聯邦集群的架構如下圖所示:

2807e8bc-26d9-11ed-ba43-dac502259ad0.png

其中,etcd是一個開源的分布式鍵值存儲數據庫,在聯邦中用于記錄存儲桶 IP 地址。

聯邦內的各個集群其數據存儲以及一致性維護仍由各集群自行管理,聯邦只是對外提供一個整體邏輯視圖。

通過連接到聯邦中任一集群的任一節點,可以查詢并訪問聯邦內所有集群的全部數據,由此獲得了邏輯上的空間擴大感。

但實際上,對于一個外部應用訪問,聯邦需依賴 etcd 定位到存儲桶的實際存儲節點,再進行數據訪問,聯邦則對外屏蔽了桶 IP 查找和定位過程,從而在邏輯上對外形成了一個統一整體。因此,etcd 實際上起到了類似路由尋址的效果。

MinIO 聯邦集群的數據訪問機制具體如下:

客戶端應用向聯邦集群發送創建存儲桶請求,桶名為 bucket1;

聯邦會將 bucket1 實際所在的集群節點 IP 地址寫入 etcd 中,例如 bucket1 實際將存儲于聯邦中的集群 1 上,而集群 1 包含 2 個節點,其節點 IP 地址分別為 192.168.182.112 和 192.168.182.113,則 etcd 中將寫入如下兩條記錄:

1、部署 etcd

下載地址:https://github.com/etcd-io/etcd/releases

mkdir-p/opt/bigdata/etcd;cd/opt/bigdata/etcd
wgethttps://github.com/etcd-io/etcd/releases/download/v3.4.20/etcd-v3.4.20-linux-amd64.tar.gz
tar-xfetcd-v3.4.20-linux-amd64.tar.gz
#創建存儲目錄
mkdir/opt/bigdata/etcd/data

創建配置文件 /usr/local/etcd/conf.yml,三個節點配置文件內容分別如下:
etcd01:local-168-182-110

name:etcd01
data-dir:/opt/bigdata/etcd/data
initial-advertise-peer-urls:http://192.168.182.110:2380
listen-peer-urls:http://192.168.182.110:2380
listen-client-urls:http://192.168.182.110:2379,http://127.0.0.1:2379
advertise-client-urls:http://192.168.182.110:2379
initial-cluster-token:etcd-cluster
initial-cluster:etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state:new

etcd02:local-168-182-111

name:etcd02
data-dir:/opt/bigdata/etcd/data
initial-advertise-peer-urls:http://192.168.182.111:2380
listen-peer-urls:http://192.168.182.111:2380
listen-client-urls:http://192.168.182.111:2379,http://127.0.0.1:2379
advertise-client-urls:http://192.168.182.111:2379
initial-cluster-token:etcd-cluster
initial-cluster:etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state:new

etcd03:local-168-182-112

name:etcd03
data-dir:/opt/bigdata/etcd/data
initial-advertise-peer-urls:http://192.168.182.112:2380
listen-peer-urls:http://192.168.182.112:2380
listen-client-urls:http://192.168.182.112:2379,http://127.0.0.1:2379
advertise-client-urls:http://192.168.182.112:2379
initial-cluster-token:etcd-cluster
initial-cluster:etcd01=http://192.168.182.110:2380,etcd02=http://192.168.182.111:2380,etcd03=http://192.168.182.112:2380
initial-cluster-state:new

【溫馨提示】只能寫 IP,寫主機名會啟動失敗

配置參數解析:

name:當前 etcd 節點名稱。

data-dir:數據存儲目錄。

initial-advertise-peer-urls:集群的其他節點通過該地址與當前節點通信。

listen-peer-urls:當前節點通過該地址監聽集群其他節點發送的信息。

listen-client-urls:當前節點通過該地址監聽客戶端發送的信息。

advertise-client-urls:客戶端通過該地址與當前節點通信

initial-cluster-token:用于區分不同的集群,同一集群的所有節點配置相同的值。

initial-cluster:當前集群的所有節點信息,當前節點根據此信息與其他節點取得聯系。

initial-cluster-state:本次是否為新建集群,有兩個取值:new 和 existing。

配置服務

cat>/usr/lib/systemd/system/etcd.service<

啟動服務

systemctldaemon-reload
systemctlstartetcd.service

驗證

#加軟連接
ln-s/opt/bigdata/etcd/etcd-v3.4.20-linux-amd64/etcdctl/usr/local/bin/etcdctl
#查看集群成員列表
etcdctlmemberlist
#查看集群成員健康情況
etcdctlendpointhealth--endpoints=http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380
281465e2-26d9-11ed-ba43-dac502259ad0.png

查看 etcd 版本

ln-s/opt/bigdata/etcd/etcd-v3.4.20-linux-amd64/etcd/usr/local/bin/etcd
etcd--version
2824ba82-26d9-11ed-ba43-dac502259ad0.png

2、運行多個 MinIO 集群

集群 1

cd/opt/bigdata/minio
exportMINIO_ETCD_ENDPOINTS="http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380"
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456
exportMINIO_PUBLIC_IPS=192.168.182.110,192.168.182.111
./minioserver--address0.0.0.0:8000--console-address0.0.0.0:8001--config-dir/etc/miniohttp://192.168.182.11{0...1}/opt/bigdata/minio/data/export{3...4}

web 訪問:http://local-168-182-110:8001/
283b02b0-26d9-11ed-ba43-dac502259ad0.png

集群 2

cd/opt/bigdata/minio
exportMINIO_ETCD_ENDPOINTS="http://192.168.182.110:2380,http://192.168.182.111:2380,http://192.168.182.112:2380"
mkdir-p/etc/minio
exportMINIO_ROOT_USER=admin
exportMINIO_ROOT_PASSWORD=admin123456
exportMINIO_PUBLIC_IPS=192.168.182.112,192.168.182.113
./minioserver--address0.0.0.0:8000--console-address0.0.0.0:8001--config-dir/etc/miniohttp://192.168.182.11{2...3}/opt/bigdata/minio/data/export{3...4}

web 訪問:http://local-168-182-112:8001/
285ddd6c-26d9-11ed-ba43-dac502259ad0.png
配置 nginx

#/etc/nginx/conf.d/minio2.conf
upstreamminio_api2{
ip_hash;
server192.168.182.110:8000;
server192.168.182.111:8000;
server192.168.182.112:8000;
server192.168.182.113:8000;
}

upstreamminio_console2{
ip_hash;
server192.168.182.110:8001;
server192.168.182.111:8001;
server192.168.182.112:8001;
server192.168.182.113:8001;
}

server{
listen18000;
server_name192.168.182.110;

ignore_invalid_headersoff;
client_max_body_size0;
proxy_bufferingoff;

location/{
proxy_set_headerX-Forwarded-Proto$scheme;
proxy_set_headerHost$http_host;
proxy_set_headerX-Real-IP$remote_addr;

proxy_connect_timeout300;
proxy_http_version1.1;
chunked_transfer_encodingoff;
proxy_ignore_client_aborton;

proxy_passhttp://minio_api2;
}
}

server{
listen18001;
server_name192.168.182.110;

ignore_invalid_headersoff;
client_max_body_size0;
proxy_bufferingoff;

location/{
proxy_set_headerX-Forwarded-Proto$scheme;
proxy_set_headerHost$http_host;
proxy_set_headerX-Real-IP$remote_addr;

proxy_connect_timeout300;
proxy_http_version1.1;
chunked_transfer_encodingoff;
proxy_ignore_client_aborton;

proxy_passhttp://minio_console2;
}
}

重新加載 nginx 生效

systemctlreloadnginx

web 訪問:local-168-182-110:18001/

287747ac-26d9-11ed-ba43-dac502259ad0.png
不同的客戶端訪問會顯示不同的節點信息

MinIO 的基本操作和 MinIO 擴容實戰就到這里了,有疑問的小伙伴歡迎給我留言哦,后續會持續分享更多關于大數據的教程,請小伙伴耐心等待哦~

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動器
    +關注

    關注

    51

    文章

    7570

    瀏覽量

    143628
  • 云存儲
    +關注

    關注

    7

    文章

    716

    瀏覽量

    45863
  • 文件系統
    +關注

    關注

    0

    文章

    272

    瀏覽量

    19735

原文標題:超詳細分布式對象存儲 MinIO 實戰教程

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【NanoPi NEO試用體驗】開發環境部署

    開發環境部署這一開發板支持兩種開發環境,包括u-boot,UbuntuCore,這里建議大家跑UbuntuCore,跑u-boot的話感覺有點大材小用了首先要準備一張SD卡,官方建議用Class10
    發表于 10-29 11:51

    Hadoop的集群環境部署說明

    或者是相同,指令多、步驟繁瑣。有的時候覺得不免覺得很奇怪,這些發行商為什么不對hadoop的集群環境部署做一下優化呢?幸運的是總算是讓我找到了一個hadoop發行版集群環境搭建簡單易用。這里使用的是一款
    發表于 10-12 15:51

    docker中java環境部署

    docker 部署java環境以及常用應用(持續更新)
    發表于 05-24 15:44

    如何搭建DotNet Core 21自動化構建和部署環境

    邊緣化搭建DotNet Core 21 自動化構建和部署環境(上)
    發表于 04-23 14:53

    VSCode環境部署

    、VSCode環境部署四、工程編譯五、編譯清除一、程序安裝1、VSCode:好用到爆的文本編輯器,配合強大的插件,使你的開發效率大大提高。2、Java:
    發表于 08-24 07:58

    在嵌入式環境部署環境的相關資料分享

    在嵌入式環境部署環境:1.1 在linux中,當文件系統初始化后,在vi/etc/profile中可以輸入一個命令,來配置系統的ip地址: ifconfig eth0 192.168.1.10這樣就能實現,系統上電后的配置。.
    發表于 10-27 07:02

    Arduino環境下ESP32如何部署

    (包教必會)Arduino環境下ESP32部署指南Arduino IDE下載安裝Arduino IDE點擊此處訪問arduino官網,選擇適合你電腦系統的版本進行下載安裝ESP32的板管理打開
    發表于 12-03 06:02

    如何部署RK3399開發板的環境?

    如何部署RK3399開發板的環境?
    發表于 03-07 07:30

    干貨:Centos 6.5部署nginx和php環境部署

    干貨:Centos 6.5部署nginx和php環境部署
    的頭像 發表于 06-28 10:00 ?2144次閱讀

    嵌入式環境部署

    在嵌入式環境部署環境:1.1 在linux中,當文件系統初始化后,在vi /etc/profile中可以輸入一個命令,來配置系統的ip地址: ifconfig eth0 192.168.1.10這樣就能實現,系統上電后的配置
    發表于 10-19 18:33 ?2次下載
    嵌入式<b class='flag-5'>環境</b><b class='flag-5'>部署</b>

    (包教必會)Arduino環境下ESP32部署指南

    (包教必會)Arduino環境下ESP32部署指南
    發表于 11-23 17:51 ?17次下載
    (包教必會)Arduino<b class='flag-5'>環境</b>下ESP32<b class='flag-5'>部署</b>指南

    高性能對象存儲MinIO的基本概念環境部署

    MinIO 是在 GNU Affero 通用公共許可證 v3.0 下發布的高性能對象存儲。它與 Amazon S3 云存儲服務 API 兼容。使用 MinIO 為機器學習、分析和應用程序數據工作負載構建高性能基礎架構。
    發表于 08-29 10:54 ?2933次閱讀

    Linux環境編程必須搞懂的幾個概念

    Linux環境編程對于初學者來說,必須深刻理解重點概念才能更好地編寫代碼,實現業務功能,下面就幾個重要的及常用的知識點進行說明。搞懂這幾個概念后以免在將來的編碼出現混淆。
    的頭像 發表于 02-12 16:57 ?514次閱讀

    Minio為啥受歡迎呢?Minio有哪些優勢?

    第一次接觸Minio,是我從上家公司新來的一位架構師那聽來的,當時簡單地了解了下它是否適合我們的應用場景,并沒有過多深入研究。
    的頭像 發表于 08-02 14:14 ?4008次閱讀
    <b class='flag-5'>Minio</b>為啥受歡迎呢?<b class='flag-5'>Minio</b>有哪些優勢?

    Helm部署MinIO集群

    Helm部署MinIO集群
    的頭像 發表于 12-03 09:44 ?521次閱讀
    Helm<b class='flag-5'>部署</b><b class='flag-5'>MinIO</b>集群
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>