這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
在2007年,GlusterFS演變為大型分布式儲存方案後,任何配備合適硬體的公司,單位都可以利用個做分布式的流媒體,資料分析。在2011年,Red Hat收購了GlusterFS.
Minio是GlusterFS創始人之一Anand Babu Periasamy發布新的開源項目。Minio相容Amason的S3分布式Object Storage Service項目,採用Golang實現,用戶端支援Java,Python,Javacript, Golang語言。
Minio可以做為雲端儲存的解決方案用來儲存海量的圖片,視頻,文檔。由於採用Golang實現,服務端可以工作在Windows,Linux, OS X和FreeBSD上。配置簡單,基本是複製可執行程式,單行命令可以運行起來。 開源中國
看起來不錯,適用於大檔案儲存體、支援S3介面、豐富的用戶端組件。先上自己的樹莓派測試下。
登入 minio官網下載最新版本服務端軟體 “GUN/Linux A32”版本,下載後需要對其設定許可權並運行服務。也可以直接在命令列進行如下操作:
$ wget https://dl.minio.io/server/minio/release/linux-arm/minio$ chmod +x minio$ ./minio server ~/Photos
由於我是將儲存服務指向了群暉NAS,具體參考 "樹莓派掛載群暉NFS分區" ,所以我的操作資訊顯示如下:
$ ./minio server /data/tmp #直接啟動minio server端,儲存指向/data/tmpCreated minio configuration file successfully at /home/sunsl/.minioEndpoint: http://192.168.123.147:9000 http://172.17.0.1:9000 http://172.18.0.1:9000 http://127.0.0.1:9000AccessKey: VKBYOIIZ46VPMRBKRBA4SecretKey: JrNIcr1HOtVKRMzX2IEnTjyhaYGv4SWZ9Bnyc4UoRegion: us-east-1 #不做配置就會直接顯示us-east-1SQS ARNs: <none>Browser Access: http://192.168.123.147:9000 http://172.17.0.1:9000 http://172.18.0.1:9000 http://127.0.0.1:9000#這裡的command-line就是minio的用戶端 mcCommand-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide $ mc config host add myminio http://192.168.123.147:9000 VKBYOIIZ46VPMRBKRBA4 JrNIcr1HOtVKRMzX2IEnTjyhaYGv4SWZ9Bnyc4UoObject API (Amazon S3 compatible): Go: https://docs.minio.io/docs/golang-client-quickstart-guide Java: https://docs.minio.io/docs/java-client-quickstart-guide Python: https://docs.minio.io/docs/python-client-quickstart-guide JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide#磁碟容量資訊Drive Capacity: 1.9 TiB Free, 3.5 TiB Total
這時我們就可以直接存取Browser Access給出的地址了。介面如下:
首次登入會要求輸入 AccessKey與 SecretKey登入後就可以直接管理檔案夾及檔案了。登入後介面:
在頁面內包含了建立bucket,uploadfile等操作,非常方便。
登入伺服器端查看檔案儲存體形式與我們直接操作檔案一樣。不會像tusd等會改變檔案上傳後的名稱、尾碼等。為了測試我直接在頁面中建立的bucket -hello檔案夾複製一份為hello1,回到頁面重新整理後如所示。不存在學習難度:)
預設情況下minio會在home目錄下建立一個.minio的檔案夾,在裡面放置設定檔。
在設定檔config.json中除了配置region log外還可以配置 ‘notify 推播通知'功能,可以與
amqp、nats、elasticsearch、redis、postgresql、kafka、webhook、mysql進行整合完成檔案變動記錄。