Minio物件儲存

2022-05-21 19:54:10 字數 3528 閱讀 4583

目錄4、分布式minio集群搭建

5、配置網域名稱及https

6、控制台介面操作及客戶端sdk

7、多租戶部署

​ 對於有需求不能或不使用雲廠商提供的儲存服務,例如阿里雲的oss、七牛雲的物件儲存等,可以通過自建minio物件儲存集群的方式

多節點的minio會根據不同的access_key及secret_key來區分不同租戶,每個租戶可操作對應server獲取object。minio server間可以通過不同的程序模型、容器或是虛擬機器來互相隔離。

分布式minio在無共享架構中根據需求擴充套件到盡可能多的伺服器,所有節點需要使用相同的access_key及secret_key來登入。分布式minio使用web負載均衡器或dns輪循(dns round-robin),在各伺服器之間實現負載均衡。

minio儲存的部署方案在官網有很多,例如在docker-compose,kubernetes,dc/os等環境下,本文採用的是較穩定的二進位制部署方式。

作業系統centos 7.6

伺服器資源:

本集群由2臺伺服器構成(官方推薦集群最小4臺伺服器),每個伺服器上掛載兩個磁碟目錄,最小資料掛載點為4個

建立專用的使用者

useradd -m -s /sbin/nologin -r minio-user
[root@localhost ~]# mkdir -p /minio/data1

[root@localhost ~]# mkdir -p /minio/data2

[root@localhost ~]# mkdir -p /opt/minio
[root@localhost ~]# mkdir -p /etc/minio
[root@localhost ~]# vim /opt/minio/run.sh

#!/bin/bash

export minio_access_key=minio

export minio_secret_key=test123456

/opt/minio/minio server --config-dir /etc/minio \

\ \

其中,「minio_access_key」為使用者名稱,「minio_secret_key」為密碼,密碼不能設定過於簡單,不然minio會啟動失敗,「–config-dir」指定集群配置檔案目錄,生成複雜使用者名稱和密碼可通過類似linux命令

tr -cd '[:alnum:]' 4.6.1、二進位制檔案

將minio二進位制檔案上傳到/opt/minio目錄下並賦予許可權

chmod +x minio
4.6.2、賦予啟動指令碼許可權
chmod +x /opt/minio/run.sh
4.6.3、修改目錄所屬

由於minio服務由minio-user這個使用者啟動和執行,所以需要修改相應目錄的屬主和屬組

chown -r minio-user:minio-user /minio

chown -r minio-user:minio-user /etc/minio

chown -r minio-user:minio-user /opt/minio

4.6.4、啟動服務
systemctl daemon-reload

systemctl start minio

systemctl enable minio

systemctl status minio

啟動後可通過訪問節點:9000,並使用設定的key登入到控制台,也可在啟動指令碼中加入引數--address "127.0.0.1:9000"修改埠,即:

#!/bin/bash

export minio_access_key=minio

export minio_secret_key=test123456

/opt/minio/minio server --config-dir /etc/minio \

--address "127.0.0.1:9000" \

\ \

使用nginx配置網域名稱進行訪問,在 nginx 的配置檔案中加入下面的內容:

location /
使用nginx配置https安全訪問,並根據301規則自動跳轉到https,https證書可自籤、也可申請乙個瀏覽器可信的證書,下面的證書屬於瀏覽器可信的,全域性配置如下:

minio控制台介面是通過accsss key和secret key登入的,除了將這對key用於客戶端,作為管理員還可能有需要對控制台訪問做保護,即在用key登入的基礎上再加一層。這就如同非x-pack版本的kibana介面一樣,沒有訪問控制。同樣的,可以嘗試使用nginx的basic_auth模組。一番折騰發現是不可行的,對於nginx基礎認證,後端不支援非aws4-hmac-sha256簽名演算法,可能出現如下圖所示的返回結果:

因此這個想法不可行,具體如何實現也沒有google到。。。

通過上面配置的網域名稱訪問到minio介面

並通過指定的access key及secret key登入到控制台

控制台可以做的操作如下:

多租戶的實現可參考:

minIO 物件儲存搭建

windows下幾個小命令,啟動乙個minio物件儲存服務 minio.exe server data 啟動服務 實用mc.exe進行管理,也可以登入9000埠來進行管理 mc.exe config host add myminio 9adva11o8wwfh8ggdgi1 r jtf 2rbfi4...

物件儲存服務minio

wget chmod x minio minio server mnt data minio是乙個非常輕量的服務,可以很簡單的和其他應用的結合,類似 nodejs,redis 或者 mysql。docker pull minio minio docker run p 9000 9000 minio ...

minIO 物件儲存搭建

windows下幾個小命令,啟動乙個minio物件儲存服務 minio.exe server data 啟動服務 實用mc.exe進行管理,也可以登入9000埠來進行管理 mc.exe config host add myminio 9adva11o8wwfh8ggdgi1 r jtf 2rbfi4...