您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何通過Minio搭建私有化對象存儲服務”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何通過Minio搭建私有化對象存儲服務”這篇文章吧。
Minio是建立在云原生的基礎上;有分布式和共享存儲等功能;旨在多租戶環境中以可持續的方式進行擴展的對象存儲服務。它最適合存儲非結構化數據,如:照片、視頻、日志文件、容器/虛擬機/映像等,單次存儲對象的大小最大可達5TB。
根據存儲是否為遠端,可直接使用FS或NFS直接操作存儲中的Object
調用S3接口,通過Minio使用FS或NFS來操作Object
多節點的Minio會根據不同的Access_key及Secret_Key來區分不同租戶,每個租戶可操作對應Server獲取Object。Minio Server間可以通過不同的進程模型、容器或是虛擬機來互相隔離。
分布式Minio在無共享架構中根據需求擴展到盡可能多的服務器,所有節點需要使用相同的Access_key及Secret_key來登錄。分布式Minio使用Web負載均衡器或DNS輪循(DNS round-robin),在各服務器之間實現負載均衡。
Amazon S3兼容
Minio使用Amazon S3 v2 / v4 API。可以使用Minio SDK,Minio Client,AWS SDK和AWS CLI訪問Minio服務器。
數據保護
Minio使用Minio Erasure Code來防止硬件故障。也許會損壞一半以上的driver,但是仍然可以從中恢復。
高度可用
Minio服務器可以容忍分布式設置中高達(N / 2)-1節點故障。而且,您可以配置Minio服務器在Minio與任意Amazon S3兼容服務器之間存儲數據。
Lambda計算
Minio服務器通過其兼容AWS SNS / SQS的事件通知服務觸發Lambda功能。支持的目標是消息隊列,如Kafka,NATS,AMQP,MQTT,Webhooks以及Elasticsearch,Redis,Postgres和MySQL等數據庫。
加密和防篡改
Minio為加密數據提供了機密性,完整性和真實性保證,而且性能開銷微乎其微。使用AES-256-GCM,ChaCha20-Poly1305和AES-CBC支持服務器端和客戶端加密。加密的對象使用AEAD服務器端加密進行防篡改。
可對接后端存儲
除了Minio自己的文件系統,還支持DAS、 JBODs、NAS、Google云存儲和Azure Blob存儲。
sdk支持
基于Minio輕量的特點,它得到類似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的使用。
使用Access Key與Secret Key登錄Minio。登錄成功后進入如下界面
Access Key與Secret Key可由Minio Server隨機生成,也可通過變量來自定義。下文自助部署講述如何定義及獲取Access Key與Secret Key。
點擊模塊1bucket
對應部分創建一個新的bucket,可在模塊2看到所創建bucket
。
在模塊2選擇一個bucket
。點擊模塊1upload
對應部分上傳文件到已選擇bucket
。可在頁面白色部分看到對應bucket
中所上傳文件。
鼠標移動到模塊2任意bucket
,對應bucket
右側可點擊進行操作policy
、delete
操作。其中policy
可設置Prefix
的請求權限。
點擊模塊3,查看與設置該Object的基本信息:
查看共享地址Shareable Link
設置到期時間,最大可保存時間為7天
對話框上方彈出該Object現剩余到期時間
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
創建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,因為data下存在名為README.md的object,故需追加--force參數來強制刪除bucket ./mc rm test/data --force
*共享訪問
mc
提供share方法,通過授權生成的URL可以臨時上傳或下載object。
download
指定Minio Server中的Object,生成該Object臨時下載的URL。
./mc share download [—expire [h|m|s]] <custom_name>/[bucket_name]/[object_name]
例:
# --expire 168h代表生成的URL有效時間僅168小時 ./mc share download --expire 168h test/data/README.md
upload
指定上傳某文件到Minio Server后的路徑,生成臨時可供上傳的命令。
./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
查看所創建下載或上傳的所有RUL
./mc share list [download/upload]
您可以從云市一鍵式部署Minio應用(點擊獲取)。
您也可以使用docker run
命令在云幫自行部署:
進入云幫-創建應用界面選擇從Docker鏡像創建應用
編輯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對象存儲時,驗證所需要的Access Key 與 Secret Key,可以根據傳入的變量MINIO_ACCESS_KEY
與變量MINIO_SECRET_KEY
自定義生成。
我們對云市的Minio應用的變量MINIO_ACCESS_KEY
與變量MINIO_SECRET_KEY
做了初始化工作,您可以在應用控制臺-應用依賴信息獲取變量對應值,用于登錄Minio應用。
使用分布式的Minio可讓您將多個驅動(即使在不同的計算機上)合并為一個對象存儲服務器。由于驅動可分布在多個節點上,因此分布式Minio可以承受多點故障,并且保證數據的安全。
以上是“如何通過Minio搭建私有化對象存儲服務”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。