什么?OSS存儲你還在用FastDFS?MinIO了解一下!!!


什么是MinIO ?

根據官方定義:

  1. MinIO 是在 Apache License v2.0 下發布的對象存儲服務器。 它與 Amazon S3 雲存儲服務兼容。 它最適合存儲非結構化數據,如照片,視頻,日志文件,備份和容器/ VM 映像。 對象的大小可以從幾 KB 到最大 5TB。

  2. MinIO 服務器足夠輕,可以與應用程序堆棧捆綁在一起,類似於 NodeJS,Redis 和 MySQL。

  3. 一種高性能的分布式對象存儲服務器,用於大型數據基礎設施。它是機器學習和其他大數
    據工作負載下 Hadoop HDFS 的理想 s3 兼容替代品。

為什么需要MinIO?

  1. Minio 有良好的存儲機制
  2. Minio 有很好糾刪碼的算法與擦除編碼算法
  3. 擁有RS code 編碼數據恢復原理
  4. 公司做強做大時,數據的擁有重要性,對數據治理與大數據分析做准備。
  5. 搭建自己的一套文件系統服務,對文件數據進行安全保護。
  6. 擁有自己的平台,不限於其他方限制。

MinIO 和其他OSS存儲解決方案各有什么優缺點?

這里主要針對Ceph、Minio、FastDFS 熱門的存儲解決方案進行比較。

Ceph

優點

  • 成熟
  • 紅帽繼子,ceph創始人已經加入紅帽
  • 國內有所謂的ceph中國社區,私人機構,不活躍,文檔有滯后,而且沒有更新的跡象。
  • 從git上提交者來看,中國有幾家公司的程序員在提交代碼,星辰天合,easystack, 騰訊、阿里基於ceph在做雲存儲,但是在開源社區中不活躍,阿里一位叫liupan的有參與
  • 功能強大
  • 支持數千節點
  • 支持動態增加節點,自動平衡數據分布。(TODO,需要多長時間,add node時是否可以不間斷運行)
  • 可配置性強,可針對不同場景進行調優

缺點
學習成本高,安裝運維復雜。

Minio

優點

  • 學習成本低,安裝運維簡單,開箱即用
  • 目前minio論壇推廣給力,有問必答
  • 有java客戶端、js客戶端
  • 數據保護:分布式Minio采用 糾刪碼來防范多個節點宕機和位衰減bit rot。分布式Minio至少需要4個硬盤,使用分布式Minio自動引入了糾刪碼功能。
  • 一致性:Minio在分布式和單機模式下,所有讀寫操作都嚴格遵守read-after-write一致性模型。

缺點

  • 社區不夠成熟,業界參考資料較少
  • 不支持動態增加節點,minio創始人的設計理念就是動態增加節點太復雜,后續會采用其它方案來支持擴容。

FastDFS

fastdfs是阿里余慶做的一個個人項目,在一些互聯網創業公司中有應用,沒有官網,不活躍,6個contributors。

如何安裝使用MinIO?

基於 Docker 容器使用

  • 穩定版
docker pull minio/minio
docker run -p 9000:9000 minio/minio server /data
  • 嘗鮮版
docker pull minio/minio:edge
docker run -p 9000:9000 minio/minio:edge server /data

基於 Mac Homebrew 使用

brew install minio/stable/minio
minio server /data

下載二進制文件安裝使用

操作系統 CPU架構 地址
Apple macOS 64-bit Intel https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod 755 minio
./minio server /data

GNU/Linux

下載二進制文件

操作系統 CPU架構 地址
GNU/Linux 64-bit Intel https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

微軟Windows系統

下載二進制文件

操作系統 CPU架構 地址
微軟Windows系統 64位 https://dl.min.io/server/minio/release/windows-amd64/minio.exe
minio.exe server D:\Photos

FreeBSD

Port

使用 pkg進行安裝。

pkg install minio
sysrc minio_enable=yes
sysrc minio_disks=/home/user/Photos
service minio start

使用源碼安裝

采用源碼安裝僅供開發人員和高級用戶使用,如果你還沒有Golang環境, 請參考 How to install Golang.

go get -u github.com/minio/minio

使用MinIO瀏覽器進行驗證

安裝后使用瀏覽器訪問http://127.0.0.1:9000,如果可以訪問,則表示minio已經安裝成功。

使用MinIO客戶端 mc進行驗證

mc 提供了一些UNIX常用命令的替代品,像ls, cat, cp, mirror, diff這些。 它支持文件系統和亞馬遜S3雲存儲服務。 更多信息請參考 mc快速入門 - https://docs.min.io/docs/minio-client-quickstart-guide

已經存在的數據

當在單塊磁盤上部署MinIO server,MinIO server允許客戶端訪問數據目錄下已經存在的數據。比如,如果MinIO使用minio server /mnt/data啟動,那么所有已經在/mnt/data目錄下的數據都可以被客戶端訪問到。

上述描述對所有網關后端同樣有效。

了解更多


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM