溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)

發(fā)布時(shí)間:2021-11-18 16:41:23 來源:億速云 閱讀:744 作者:小新 欄目:云計(jì)算

這篇文章主要為大家展示了“如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)”這篇文章吧。

概述

Minio是建立在云原生的基礎(chǔ)上;有分布式和共享存儲(chǔ)等功能;旨在多租戶環(huán)境中以可持續(xù)的方式進(jìn)行擴(kuò)展的對象存儲(chǔ)服務(wù)。它最適合存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),如:照片、視頻、日志文件、容器/虛擬機(jī)/映像等,單次存儲(chǔ)對象的大小最大可達(dá)5TB。

實(shí)現(xiàn)架構(gòu)
單節(jié)點(diǎn)
  • 根據(jù)存儲(chǔ)是否為遠(yuǎn)端,可直接使用FS或NFS直接操作存儲(chǔ)中的Object

  • 調(diào)用S3接口,通過Minio使用FS或NFS來操作Object

如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)

多節(jié)點(diǎn)

多節(jié)點(diǎn)的Minio會(huì)根據(jù)不同的Access_key及Secret_Key來區(qū)分不同租戶,每個(gè)租戶可操作對應(yīng)Server獲取Object。Minio Server間可以通過不同的進(jìn)程模型、容器或是虛擬機(jī)來互相隔離。

如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)

分布式

分布式Minio在無共享架構(gòu)中根據(jù)需求擴(kuò)展到盡可能多的服務(wù)器,所有節(jié)點(diǎn)需要使用相同的Access_key及Secret_key來登錄。分布式Minio使用Web負(fù)載均衡器或DNS輪循(DNS round-robin),在各服務(wù)器之間實(shí)現(xiàn)負(fù)載均衡。

如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)

功能特性
  • Amazon S3兼容

Minio使用Amazon S3 v2 / v4 API??梢允褂肕inio SDK,Minio Client,AWS SDK和AWS CLI訪問Minio服務(wù)器。

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

Minio使用Minio Erasure Code來防止硬件故障。也許會(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ù)器通過其兼容AWS SNS / SQS的事件通知服務(wù)觸發(fā)Lambda功能。支持的目標(biāo)是消息隊(duì)列,如Kafka,NATS,AMQP,MQTT,Webhooks以及Elasticsearch,Redis,Postgres和MySQL等數(shù)據(jù)庫。

  • 加密和防篡改

Minio為加密數(shù)據(jù)提供了機(jī)密性,完整性和真實(shí)性保證,而且性能開銷微乎其微。使用AES-256-GCM,ChaCha20-Poly1305和AES-CBC支持服務(wù)器端和客戶端加密。加密的對象使用AEAD服務(wù)器端加密進(jìn)行防篡改。

  • 可對接后端存儲(chǔ)

除了Minio自己的文件系統(tǒng),還支持DAS、 JBODs、NAS、Google云存儲(chǔ)和Azure Blob存儲(chǔ)。

  • sdk支持

基于Minio輕量的特點(diǎn),它得到類似Java、Python或Go等語言的sdk支持,

例如: Java類在使用Maven管理Jar的情況下,在pom.xml中指定Minio:

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>3.0.12</version>
</dependency>
使用

Minio提供:包含圖形化界面的Server端;使用命令行操作的Client端。以下為您介紹Minio Server與Minio Client的使用。

Minio Server
  • 使用Access Key與Secret Key登錄Minio。登錄成功后進(jìn)入如下界面

如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)

Access Key與Secret Key可由Minio Server隨機(jī)生成,也可通過變量來自定義。下文自助部署講述如何定義及獲取Access Key與Secret Key。

  • 點(diǎn)擊模塊1bucket對應(yīng)部分創(chuàng)建一個(gè)新的bucket,可在模塊2看到所創(chuàng)建bucket

  • 在模塊2選擇一個(gè)bucket。點(diǎn)擊模塊1upload對應(yīng)部分上傳文件到已選擇bucket??稍陧撁姘咨糠挚吹綄?yīng)bucket中所上傳文件。

  • 鼠標(biāo)移動(dòng)到模塊2任意bucket,對應(yīng)bucket右側(cè)可點(diǎn)擊進(jìn)行操作policy、delete操作。其中policy可設(shè)置Prefix的請求權(quán)限。

  • 點(diǎn)擊模塊3,查看與設(shè)置該Object的基本信息:

    • 查看共享地址Shareable Link

    • 設(shè)置到期時(shí)間,最大可保存時(shí)間為7天

    • 對話框上方彈出該Object現(xiàn)剩余到期時(shí)間

如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)

Minio Client

下載二進(jìn)制

wget https://dl.minio.io/client/mc/release/linux-amd64/mc
chmod +x mc
./mc --help

基本操作命令

  • 配置已存在Minio Server

./mc config host add <custom_name> <Minio_Server_address> <access_key> <secret_keyt> S3v4

例:

./mc config host add test http://9000.gr8be71d.grapps.ali-hz.goodrain.net access_key secret_key S3v4
  • 創(chuàng)建bucket

./mc mb <custom_name>/[bucket_name]/[object_name]

例:

./mc mb test/data
  • 查看Minio Server的bucket、object

./mc ls <custom_name>/[bucket_name]/[object_name]

例:

./mc ls test/data
  • 上傳/下載Object

# cp到Minio Server(上傳)
./mc cp <object> <custom_name>/[bucket_name]
# cp到本地(下載)
./mc cp <custom_name>/[bucket_name]/[object_name] <local_path>

例:

./mc cp README.md test/data
  • 刪除Object或bucket

./mc rm <custom_name>/[bucket_name]/[object_name]

例:

# 刪除bucket,因?yàn)閐ata下存在名為README.md的object,故需追加--force參數(shù)來強(qiáng)制刪除bucket
./mc rm test/data --force

*共享訪問

mc提供share方法,通過授權(quán)生成的URL可以臨時(shí)上傳或下載object。

  • download

指定Minio Server中的Object,生成該Object臨時(shí)下載的URL。

./mc share download [—expire [h|m|s]] <custom_name>/[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]] <custom_name>/[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 \
# <FILE> 為需要上傳的Object
-F file=@<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=<Custom Access Key> \
    -e MINIO_SECRET_KEY=<Custom Secret Key> \
    -v /mnt/data:/data \
    -v /mnt/config:/root/.minio \
    minio/minio:RELEASE.2018-04-19T22-54-58Z \
    server /data

訪問Minio對象存儲(chǔ)時(shí),驗(yàn)證所需要的Access Key 與 Secret Key,可以根據(jù)傳入的變量MINIO_ACCESS_KEY與變量MINIO_SECRET_KEY自定義生成。

  • 我們對云市的Minio應(yīng)用的變量MINIO_ACCESS_KEY與變量MINIO_SECRET_KEY做了初始化工作,您可以在應(yīng)用控制臺(tái)-應(yīng)用依賴信息獲取變量對應(yīng)值,用于登錄Minio應(yīng)用。

分布式Minio

使用分布式的Minio可讓您將多個(gè)驅(qū)動(dòng)(即使在不同的計(jì)算機(jī)上)合并為一個(gè)對象存儲(chǔ)服務(wù)器。由于驅(qū)動(dòng)可分布在多個(gè)節(jié)點(diǎn)上,因此分布式Minio可以承受多點(diǎn)故障,并且保證數(shù)據(jù)的安全。

以上是“如何通過Minio搭建私有化對象存儲(chǔ)服務(wù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI