minio集群安装
minio集群安装
1 准备工作
192.168.1.9
mkdir -p /data/minio/data1
mkdir -p /data/minio/data2
/data/minio/data1 /data/minio/data2
192.168.1.10
mkdir -p /data/minio/data1
mkdir -p /data/minio/data2
/data/minio/data1 /data/minio/data2
192.168.1.11
mkdir -p /data/minio/data1
mkdir -p /data/minio/data2
/data/minio/data1 /data/minio/data2
192.168.1.12
mkdir -p /data/minio/data1
mkdir -p /data/minio/data2
/data/minio/data1 /data/minio/data2
本集群由2台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,最小数据挂载点为4个
上传文件minio minio.service minio.cnf到/etc/default/目录
minio.cnf
# Volume to be used for MinIO server.
# Volume to be used for MinIO server.
MINIO_VOLUMES="http://172.18.131.13/data/minio1 http://172.18.131.13/data/minio2 http://172.18.131.164/data/minio1 http://172.18.131.164/data/minio2 http://172.18.131.181/data/minio1 http://172.18.131.181/data/minio2 http://172.18.131.22/data/minio1 http://172.18.131.22/data/minio2"
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address :9000 --console-address :35614"
# Root user for the server.
MINIO_ROOT_USER=root
# Root secret for the server.
MINIO_ROOT_PASSWORD=Qdy4dfx@sdet
/usr/lib/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=minio
Group=minio
ProtectProc=invisible
EnvironmentFile=/etc/default/minio.cnf
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio.cnf\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
2.2 创建相关目录所有节点都需执行
数据存储目录
mkdir -p /data/minio
mkdir -p /data/minio/{data1,data2}
chmod -R +x /data/minio
#创建minio用户
groupadd minio
useradd -g minio minio
mv /data/minio/minio.cnf /etc/default/
mv /data/minio/mc /usr/local/bin/
mv /data/minio/minio /usr/local/bin/
mv /data/minio/minio.service /usr/lib/systemd/system/
chown -R minio:minio /data/minio
systemctl daemon-reload
systemctl start minio
systemctl enable minio
配置nginx
upstream minio-server {
server 192.168.1.9:9000 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.1.10:9000 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.1.11:9000 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.1.12:9000 weight=25 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name localhost;
charset utf-8;
default_type text/html;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
client_body_buffer_size 10M;
client_max_body_size 10G;
proxy_buffers 1024 4k;
proxy_read_timeout 300;
proxy_next_upstream error timeout http_404;
proxy_pass http://minio-server;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)