這篇文章主要為大家展示了“如何通過(guò)Minio搭建私有化對(duì)象存儲(chǔ)服務(wù)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何通過(guò)Minio搭建私有化對(duì)象存儲(chǔ)服務(wù)”這篇文章吧。
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁(yè)制作,對(duì)成都陽(yáng)光房等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
Minio是建立在云原生的基礎(chǔ)上;有分布式和共享存儲(chǔ)等功能;旨在多租戶環(huán)境中以可持續(xù)的方式進(jìn)行擴(kuò)展的對(duì)象存儲(chǔ)服務(wù)。它最適合存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),如:照片、視頻、日志文件、容器/虛擬機(jī)/映像等,單次存儲(chǔ)對(duì)象的大小最大可達(dá)5TB。
根據(jù)存儲(chǔ)是否為遠(yuǎn)端,可直接使用FS或NFS直接操作存儲(chǔ)中的Object
調(diào)用S3接口,通過(guò)Minio使用FS或NFS來(lái)操作Object
多節(jié)點(diǎn)的Minio會(huì)根據(jù)不同的Access_key及Secret_Key來(lái)區(qū)分不同租戶,每個(gè)租戶可操作對(duì)應(yīng)Server獲取Object。Minio Server間可以通過(guò)不同的進(jìn)程模型、容器或是虛擬機(jī)來(lái)互相隔離。
分布式Minio在無(wú)共享架構(gòu)中根據(jù)需求擴(kuò)展到盡可能多的服務(wù)器,所有節(jié)點(diǎn)需要使用相同的Access_key及Secret_key來(lái)登錄。分布式Minio使用Web負(fù)載均衡器或DNS輪循(DNS round-robin),在各服務(wù)器之間實(shí)現(xiàn)負(fù)載均衡。
Amazon S3兼容
Minio使用Amazon S3 v2 / v4 API??梢允褂肕inio SDK,Minio Client,AWS SDK和AWS CLI訪問(wèn)Minio服務(wù)器。
數(shù)據(jù)保護(hù)
Minio使用Minio Erasure Code來(lái)防止硬件故障。也許會(huì)損壞一半以上的driver,但是仍然可以從中恢復(fù)。
高度可用
Minio服務(wù)器可以容忍分布式設(shè)置中高達(dá)(N / 2)-1節(jié)點(diǎn)故障。而且,您可以配置Minio服務(wù)器在Minio與任意Amazon S3兼容服務(wù)器之間存儲(chǔ)數(shù)據(jù)。
Lambda計(jì)算
Minio服務(wù)器通過(guò)其兼容AWS SNS / SQS的事件通知服務(wù)觸發(fā)Lambda功能。支持的目標(biāo)是消息隊(duì)列,如Kafka,NATS,AMQP,MQTT,Webhooks以及Elasticsearch,redis,Postgres和MySQL等數(shù)據(jù)庫(kù)。
加密和防篡改
Minio為加密數(shù)據(jù)提供了機(jī)密性,完整性和真實(shí)性保證,而且性能開(kāi)銷微乎其微。使用AES-256-GCM,ChaCha20-Poly1305和AES-CBC支持服務(wù)器端和客戶端加密。加密的對(duì)象使用AEAD服務(wù)器端加密進(jìn)行防篡改。
可對(duì)接后端存儲(chǔ)
除了Minio自己的文件系統(tǒng),還支持DAS、 JBODs、NAS、Google云存儲(chǔ)和Azure Blob存儲(chǔ)。
sdk支持
基于Minio輕量的特點(diǎn),它得到類似Java、Python或Go等語(yǔ)言的sdk支持,
例如: Java類在使用Maven管理Jar的情況下,在pom.xml
中指定Minio:
io.minio minio 3.0.12
Minio提供:包含圖形化界面的Server端;使用命令行操作的Client端。以下為您介紹Minio Server與Minio Client的使用。
使用Access Key與Secret Key登錄Minio。登錄成功后進(jìn)入如下界面
Access Key與Secret Key可由Minio Server隨機(jī)生成,也可通過(guò)變量來(lái)自定義。下文自助部署講述如何定義及獲取Access Key與Secret Key。
點(diǎn)擊模塊1bucket
對(duì)應(yīng)部分創(chuàng)建一個(gè)新的bucket,可在模塊2看到所創(chuàng)建bucket
。
在模塊2選擇一個(gè)bucket
。點(diǎn)擊模塊1upload
對(duì)應(yīng)部分上傳文件到已選擇bucket
??稍陧?yè)面白色部分看到對(duì)應(yīng)bucket
中所上傳文件。
鼠標(biāo)移動(dòng)到模塊2任意bucket
,對(duì)應(yīng)bucket
右側(cè)可點(diǎn)擊進(jìn)行操作policy
、delete
操作。其中policy
可設(shè)置Prefix
的請(qǐng)求權(quán)限。
點(diǎn)擊模塊3,查看與設(shè)置該Object的基本信息:
查看共享地址Shareable Link
設(shè)置到期時(shí)間,最大可保存時(shí)間為7天
對(duì)話框上方彈出該Object現(xiàn)剩余到期時(shí)間
wget https://dl.minio.io/client/mc/release/linux-amd64/mc chmod +x mc ./mc --help
配置已存在Minio Server
./mc config host addS3v4
例:
./mc config host add test http://9000.gr8be71d.grapps.ali-hz.goodrain.net access_key secret_key S3v4
創(chuàng)建bucket
./mc mb/[bucket_name]/[object_name]
例:
./mc mb test/data
查看Minio Server的bucket、object
./mc ls/[bucket_name]/[object_name]
例:
./mc ls test/data
上傳/下載Object
# cp到Minio Server(上傳) ./mc cp
# cp到本地(下載) ./mc cp/[bucket_name]/[object_name]
例:
./mc cp README.md test/data
刪除Object或bucket
./mc rm/[bucket_name]/[object_name]
例:
# 刪除bucket,因?yàn)閐ata下存在名為README.md的object,故需追加--force參數(shù)來(lái)強(qiáng)制刪除bucket ./mc rm test/data --force
*共享訪問(wèn)
mc
提供share方法,通過(guò)授權(quán)生成的URL可以臨時(shí)上傳或下載object。
download
指定Minio Server中的Object,生成該Object臨時(shí)下載的URL。
./mc share download [—expire [h|m|s]]/[bucket_name]/[object_name]
例:
# --expire 168h代表生成的URL有效時(shí)間僅168小時(shí) ./mc share download --expire 168h test/data/README.md
upload
指定上傳某文件到Minio Server后的路徑,生成臨時(shí)可供上傳的命令。
./mc share upload [—expire [h|m|s]]/[bucket_name]/[object_name]
例:
./mc share upload test/data/README.md
生成類似如下命令:
curl http://9000.gr17b6e1.grapps.ali-hz.goodrain.net/data/ \ -F x-amz-credential=access_key/20180425/us-east-1/s3/aws4_request \ -F x-amz-date=20180425T031310Z \ -F x-amz-signature=68ac9f102afd6a87526ecb9ce6025dee4f85b25cf054f5a7668a73ae0ef9f4dc \ -F bucket=data \ -F policy=eyJleHBpcmF0aW9uIjoiMjAxOC0wNS0wMlQwMzoxMzowOS45MTlaIiwiY29uZGl0aW9ucyI6W1siZXEiLCIkYnVja2V0IiwiZGF0YSJdLFsiZXEiLCIka2V5IiwiaW5zdGFsbC5zaCJdLFsiZXEiLCIkeC1hbXotZGF0ZSIsIjIwMTgwNDI1VDAzMTMxMFoiXSxbImVxIiwiJHgtYW16LWFsZ29yaXRobSIsIkFXUzQtSE1BQy1TSEEyNTYiXSxbImVxIiwiJHgtYW16LWNyZWRlbnRpYWwiLCJhY2Nlc3Nfa2V5LzIwMTgwNDI1L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QiXV19 \ -F x-amz-algorithm=AWS4-HMAC-SHA256 \ -F key=README.md \ #為需要上傳的Object -F file=@
list
查看所創(chuàng)建下載或上傳的所有RUL
./mc share list [download/upload]
您可以從云市一鍵式部署Minio應(yīng)用(點(diǎn)擊獲取)。
您也可以使用docker run
命令在云幫自行部署:
進(jìn)入云幫-創(chuàng)建應(yīng)用界面選擇從Docker鏡像創(chuàng)建應(yīng)用
編輯docker run
命令
docker run -p 9000:9000 \ -e MINIO_ACCESS_KEY=\ -e MINIO_SECRET_KEY= \ -v /mnt/data:/data \ -v /mnt/config:/root/.minio \ minio/minio:RELEASE.2018-04-19T22-54-58Z \ server /data
訪問(wèn)Minio對(duì)象存儲(chǔ)時(shí),驗(yàn)證所需要的Access Key 與 Secret Key,可以根據(jù)傳入的變量MINIO_ACCESS_KEY
與變量MINIO_SECRET_KEY
自定義生成。
我們對(duì)云市的Minio應(yīng)用的變量MINIO_ACCESS_KEY
與變量MINIO_SECRET_KEY
做了初始化工作,您可以在應(yīng)用控制臺(tái)-應(yīng)用依賴信息獲取變量對(duì)應(yīng)值,用于登錄Minio應(yīng)用。
使用分布式的Minio可讓您將多個(gè)驅(qū)動(dòng)(即使在不同的計(jì)算機(jī)上)合并為一個(gè)對(duì)象存儲(chǔ)服務(wù)器。由于驅(qū)動(dòng)可分布在多個(gè)節(jié)點(diǎn)上,因此分布式Minio可以承受多點(diǎn)故障,并且保證數(shù)據(jù)的安全。
以上是“如何通過(guò)Minio搭建私有化對(duì)象存儲(chǔ)服務(wù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!