Featured image of post 自建支援S3的物件儲存服務

自建支援S3的物件儲存服務

想用S3這類儲存,又不想花錢。那么我們可以透過MinIO來滿足需求。什麼是MinIO…

想用S3這類儲存,又不想花錢。那么我們可以透過MinIO來滿足需求。

什麼是MinIO

MinIO是一款高性能、分散式、開源的物件儲存伺服器,支援S3 API。它專為大規模私有雲基礎架構和容器化環境設計,具有高可用性、可擴展性以及數據安全性等特點。

MinIO可以在常見操作系統(如Linux、Windows和macOS)上運行,也可以在容器化環境中使用(如Docker、Kubernetes等)。它支援多種數據保護機制,如端對端加密、訪問策略、限制訪問時間、IP地址白名單,以及防止跨網站請求偽造(CSRF)攻擊等。

此外,MinIO還具備靈活的部署和配置方式,可以將數據儲存在本地磁碟或雲儲存中,支援多種程式語言的SDK,還提供可視化的Web介面和命令列介面,方便用戶管理和使用。

總之,MinIO是一個功能強大、易於使用且開源免費的物件儲存伺服器,可以幫助用戶搭建私有雲儲存平台、構建雲原生應用以及實現數據的安全儲存與管理。

MinIO的部署形式

MinIO有以下幾種搭建方式:

  1. 單節點部署:在一台實體主機或虛擬機上運行MinIO,可以使用Docker映像或二進位包安裝。
  2. 分散式部署:在多台實體主機或虛擬機上運行多個MinIO實例,以實現負載均衡和高可用性。可以使用Docker Swarm、Kubernetes等容器編排工具進行集群管理。
  3. 網關模式部署:在MinIO的物件儲存伺服器前端加上Nginx、Apache等反向代理伺服器,可以為MinIO物件儲存提供額外的功能支援,如SSL/TLS加密、訪問控制、IP訪問限制等。
  4. 快取模式部署:在MinIO物件儲存伺服器前端添加Redis、Memcached等快取層,可以為MinIO提供更高的讀寫性能和更低的延遲。

無論是單節點還是多節點的分散式部署,MinIO都可以在Linux、Windows和macOS等常見操作系統上運行,部署方式也靈活多樣,可根據實際需求選擇。

MinIO Docker形式部署

要在Docker中安裝MinIO,可以按照以下步驟進行:

  1. 獲取MinIO的Docker映像

1
docker pull minio/minio
  1. 創建MinIO容器

1
2
3
4
5
6
docker run -d --name minio -p 9000:9000 -p 9001:9001 \
  -v /mnt/data:/data \
  -v /mnt/config:/root/.minio \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  minio/minio server /data --console-address ":9001"

這裡創建了一個名為minio的容器,暴露了9000端口,將數據目錄/mnt/data掛載到容器的/data目錄,將配置文件目錄/mnt/config掛載到容器的/root/.minio目錄。還設定了MINIO_ROOT_USERMINIO_ROOT_PASSWORD環境變數,這將用於訪問MinIO的Web介面。帳號密碼也可以不設置,不設置的話,運行後預設的帳號密碼為minioadmin。

  1. 訪問MinIO Web介面

在瀏覽器中訪問http://localhost:9000,使用上一步設定的用戶名和密碼登錄,然後你就可以開始對MinIO進行配置和使用了。

自建支援S3的物件儲存服務

希望能對你有所幫助!

Licensed under CC BY-NC-SA 4.0
使用 Hugo 建立
主題 StackJimmy 設計