概述
Minio 是一個基於Go語言的對象存儲服務。它實現了大部分亞馬遜S3雲存儲服務接口,可以看做是是S3的開源版本,非常適合於存儲大容量非結構化的數據,例如圖片、視頻、日誌文件、備份數據和容器/虛擬機鏡像等,而一個對象文件可以是任意大小,從幾kb到最大5T不等。區別於分佈式存儲系統,minio的特色在於簡單、輕量級,對開發者友好,認爲存儲應該是一個開發問題而不是一個運維問題。
存儲架構
1、單主機,單硬盤模式
該模式下,Minio只在一臺服務器上搭建服務,且數據都存在單塊磁盤上,該模式存在單點風險,主要用作開發、測試等使用
minio --config-dir ~/tenant1 server --address :9001 /disk1/data/tenant1
2、單主機,多硬盤模式
該模式下,Minio在一臺服務器上搭建服務,但數據分散在多塊(大於4塊)磁盤上,提供了數據上的安全保障
minio --config-dir ~/tenant1 server --address :9001 /disk1/data/tenant1 /disk2/data/tenant1 /disk3/data/tenant1 /disk4/data/enant1
3、多主機、多硬盤模式(分佈式)
該模式是Minio服務最常用的架構,通過共享一個accesskey和secretkey,在多臺(2-32)服務器上搭建服務,且數據分散在多塊(大於4塊,無上限)磁盤上,提供了較爲強大的數據冗餘機制(Reed-Solomon糾刪碼)。
export MINIO_ACCESS_KEY=<TENANT1_ACCESS_KEY>
export MINIO_SECRET_KEY=<TENANT1_SECRET_KEY>
minio --config-dir ~/tenant1 server --address :9001 http://192.168.10.11/data/tenant1 http://192.168.10.12/data/tenant1 http://192.168.10.13/data/tenant1 http://192.168.10.14/data/tenant1