minio分佈式存儲系列(一)__介紹及開箱使用

minio分佈式存儲系列(一)__介紹及開箱使用

  • 簡介:

Minio 是一個基於Go語言編寫的對象存儲服務。它兼容亞馬遜S3雲存儲服務接口,可以理解爲是S3的開源版本(亞馬遜S3:專爲從任意位置存儲和檢索任意數量的數據而構建的對象存儲,官網地址:Amazon S3),非常適合於存儲大容量非結構化的數據,例如圖片、視頻、日誌文件、備份數據和容器/虛擬機鏡像等,而一個對象文件可以是任意大小,文件大小從幾kb到最大5T之間。

MinIO 是一款高性能、分佈式的對象存儲系統. 它是一款軟件產品, 可以100%的運行在標準硬件。即X86等低成本機器也能夠很好的運行MinIO。
MinIO與傳統的存儲和其他的對象存儲不同的是:它一開始就針對性能要求更高的私有云標準進行軟件架構設計。因爲MinIO一開始就只爲對象存儲而設計。所以他採用了更易用的方式進行設計,它能實現對象存儲所需要的全部功能,在性能上也更加強勁,它不會爲了更多的業務功能而妥協,失去MinIO的易用性、高效性。 這樣的結果所帶來的好處是:它能夠更簡單的實現局有彈性伸縮能力的原生對象存儲服務。
MinIO在傳統對象存儲用例(例如輔助存儲,災難恢復和歸檔)方面表現出色。同時,它在機器學習、大數據、私有云、混合雲等方面的存儲技術上也獨樹一幟。當然,也不排除數據分析、高性能應用負載、原生雲的支持。

  • 特點:

minio的特點在於簡單、輕量級、對開發者友好、AIP易於上手、易維護。

  • 框架設計:

MinIO設計爲雲原生,可以作爲輕量級容器運行,由外部編排服務(如Kubernetes)管理。整個服務器約爲40MB靜態二進制文件,即使在高負載下也可以高效利用CPU和內存資源。結果是可以在共享硬件上共同託管大量租戶。
在這裏插入圖片描述
MinIO在帶有本地驅動器(JBOD / JBOF)的商品服務器上運行。集羣中的所有服務器的功能均相同(完全對稱的體系結構)。沒有名稱節點或元數據服務器。
MinIO將數據和元數據作爲對象一起寫入,從而無需使用元數據數據庫。此外,MinIO以內聯,嚴格一致的操作執行所有功能(擦除代碼,位rotrot檢查,加密)。結果是MinIO異常靈活。
每個MinIO羣集都是分佈式MinIO服務器的集合,每個節點一個進程。 MinIO作爲單個進程在用戶空間中運行,並使用輕量級的協同例程來實現高併發性。將驅動器分組到擦除集(默認情況下,每組16個驅動器),然後使用確定性哈希算法將對象放置在這些擦除集上。
MinIO專爲大規模,多數據中心雲存儲服務而設計。每個租戶都運行自己的MinIO羣集,該羣集與其他租戶完全隔離,從而使他們能夠保護他們免受升級,更新和安全事件的任何干擾。每個租戶通過聯合跨地理區域的集羣來獨立擴展。

  • 安裝(Linux服務器單節點環境):

在Docker(都知道docker吧?不瞭解docker的在下方評論)中安裝MinIO服務端單節點,需要創建Access和Secret(理解爲用戶名和密碼), MinIO允許常規字符串作爲Access和Secret。

1、 在docker中搜索minio服務端版本

docker search minio   #如圖所示,搜索到最新版本的minio服務端版本

在這裏插入圖片描述
2、在docker中拉取最新版minio服務短版本鏡像

docker push minio/minio

拉取是否成功可以通過docker images minio/minio 進行查看,如圖所示,已經獲取到minio服務端版本鏡像。
在這裏是圖片描述
3、在docker中運行minio,並這是Access和Secret和磁盤映射

docker run -p 9000:9000 --name minio1 -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" -e "MINIO_SECRET_KEY=wJalrXUtnFEMI K7MDENG" -v /mnt/data:/data  -v /mnt/config:/root/.minio minio/minio server /data

終端輸出如圖所示的,即表示docker安裝minio成功。
在這裏插入圖片描述
但是你返回的時候,發現minio無法後臺運行,這時候如何操作呢?
這是,需要使用的命令有:

docker ps -a #查看當前所有容器,如下圖所示

在這裏插入圖片描述

docker start minio1  #運行剛創建好的容器,如下圖所示

在這裏插入圖片描述
到這裏,minio就算安裝完成了,接下來就是如何訪問和使用了。

瀏覽器端訪問及如何使用:

1、根據剛纔docker端口的映射是9000,在瀏覽器端地址欄輸入:http://127.0.0.1:9000,期待已久的頁面終於出現。
在這裏插入圖片描述
Access Key和Secret key輸入的是剛纔在docker中設置字符串,如何進入文件上傳頁面。
在這裏插入圖片描述
2、創建桶,上文件對象
界面的左側是存放創建好的桶,右側存放的是桶對應的對象文件。
什麼是桶:
通俗理解爲:類似於計算機裏面的文件夾,但是又區分與文件夾的概念,因爲文件夾裏面可以創建文件夾,但是minio的概念裏,創建的桶是唯一的,不允許在桶裏面在創建新桶。
什麼是文件對象:
通俗理解爲:類似於計算機裏面的文件,但是在minio的概念裏,所有的文件都統稱爲對象,所以後續的AIP操作都是針對文件對象進行操作。

如何創建桶:
點擊右下角的“+”號,選擇“create bucket” 輸入桶名稱,即可在minio中創建好一個桶。
在這裏插入圖片描述
如何上傳文件對象:
在剛纔創建好的桶“mybucker”中點擊右下角“+”號,選擇“upload file”選擇要上傳的文件,即可將文件上傳到minio中。
在這裏插入圖片描述

到此,docker如何創建minio,及瀏覽器端如何使用minio,創建桶,上傳文件對象,到這裏就介紹結束了,我們下期將介紹minio sdk的使用,主要是針對Java minio API的介紹和使用。

如果你對我感興趣,歡迎隨時關注我,點贊,贈人玫瑰,手有餘香,如果你還有任何疑問或者不理解的地方,或者有更好的建議,或大家想了解某方面的知識點,歡迎大家在下方留言,我會第一時間回覆大家!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章