文章目錄
- 一、MinIO簡單說明
- 二、MinIO分布式安裝部署
- 1、關閉SELINUX
- 2、開啟防火墻
- 2.1、關閉firewall:
- 2.2、安裝iptables防火墻
- 3、安裝MinIO
- 4、添加MinIO集群控制腳本
- 4.1添加啟動腳本
- 4.2添加關閉腳本
- 5、MinIO控制臺使用
一、MinIO簡單說明
1、MinIO
是一個輕量的對象存儲服務,非常適合于存儲大容量非結構化的數據,例如圖片、視頻、日志文件、備份數據和容器/虛擬機鏡像等。
2、MinIO
使用簡單,功能強大,支持各種平臺,單個文件最大5TB
,兼容 Amazon S3
接口,提供了 Java
、Python
、GO
等多版本SDK
支持。
3、MinIO
集群采用去中心化共享架構,每個結點是對等關系,通過Nginx
可對MinIO
進行負載均衡訪問。
4、MinIO
采用去中心化設計,在大數據領域,通常的設計理念都是無中心和分布式。
5、Minio
分布式模式可以搭建一個高可用的對象存儲服務,你可以使用這些存儲設備,而不用考慮其真實物理位置。
6、Minio
分布式模式將分布在不同服務器上的多塊硬盤組成一個對象存儲服務,由于硬盤分布在不同的節點上,分布式Minio
避免了單點故障。
7、MinIO
分布式模式下根目錄/不可以做為MinIO
的數據目錄,MinIO
官方建議MinIO
集群最少4個節點。
官方網站:https://min.io/
下載地址(二進制包安裝):https://dl.min.io/server/minio/release/linux-amd64/minio
MinIO
客戶端mc
(二進制包安裝):https://dl.min.io/client/mc/release/linux-amd64/mc
二、MinIO分布式安裝部署
在所有節點執行操作
操作系統:CentOS-7.x\8.x\?AnolisOS?\openEuler\Kylin-Server-V10等
1、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
2、開啟防火墻
- 系統默認使用的是
firewall
作為防火墻,這里改為iptables
防火墻。 MinIO
默認API
通信端口是9000,Console
端口隨機生成,生產環境建議修改。API
端口:6900Console
端口:6901
2.1、關閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
systemctl mask firewalld
systemctl stop firewalld
yum remove firewalld
2.2、安裝iptables防火墻
yum install iptables-services #安裝
vi /etc/sysconfig/iptables #編輯防火墻配置文件
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6900 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6901 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重啟防火墻使配置生效
systemctl enable iptables.service #設置防火墻開機啟動
/usr/libexec/iptables/iptables.init restart #重啟防火墻
3、安裝MinIO
#創建安裝目錄
mkdir -p /data/server/minio/{bin,data,config,log}
bin:二進制文件目錄
data:數據存儲目錄
config:配置文件目錄
log:日志文件路徑
#下載二進制安裝包到bin目錄,或者提前下載好拷貝過來,建議MinIO服務端和客戶端都安裝
cd /data/server/minio/bin
wget https://dl.min.io/server/minio/release/linux-amd64/minio
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x minio #添加執行權限
chmod +x mc #添加執行權限
4、添加MinIO集群控制腳本
在所有節點都添加
4.1添加啟動腳本
vi /data/server/minio/minio-cluster-start.sh
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
nohup /data/server/minio/bin/minio server --config-dir /data/server/minio/config \
--console-address ":6901" --address ":6900" \
http://192.168.21.100/data/server/minio/data \
http://192.168.21.101/data/server/minio/data \
http://192.168.21.128/data/server/minio/data \
http://192.168.21.129/data/server/minio/data & \
:wq! #保存退出
#添加執行權限
chmod +x /data/server/minio/minio-cluster-start.sh
#啟動,在所有節點都執行
sh /data/server/minio/minio-cluster-start.sh
4.2添加關閉腳本
vi /data/server/minio/minio-stop.sh
#!/bin/bash
echo "Stopping minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
thenkill -9 $pid
fi
echo "Stop Success!"
:wq! #保存退出
#添加執行權限
chmod +x /data/server/minio/minio-stop.sh
#關閉MinIO
sh /data/server/minio/minio-stop.sh
5、MinIO控制臺使用
打開http://192.168.21.100:6900/
至此,Linux
下MinIO
分布式安裝部署完成。