minio对象存储四台服务器部署4个节点集群

环境说明

· 分布式Minio至少需要4个节点
· 如果资源不够,可以采用两个节点每个节点启动两个实例的方式来实现四节点的集群,仅用于测试环境
· 生产环境建议最少4节点

环境准备

#所有节点执行下列操作
# 配置时间同步,配置时间同步的方式不做讲述
# 创建数据目录
mkdir -p /data/minio
# 创建程序存放路径
mkdir -p /usr/local/minio
# 下载minio程序包
wget -P /usr/local/minio https://dl.min.io/server/minio/release/linux-amd64/minio
# 修改系统最大文件数
echo "*   soft    nofile  65535" >> /etc/security/limits.conf
echo "*   hard    nofile  65535" >> /etc/security/limits.conf

配置启动Minio启动脚本(所有节点均需配置)

vim /usr/local/minio/minio_run.sh

MINIO_ACCESS_KEY:用户名,长度最小是5个字符
MINIO_SECRET_KEY:密码,密码不能设置过于简单,不然minio会启动失败,长度最小是8个字符
–config-dir:指定集群配置文件目录

#!/bin/bash
# export MINIO_ACCESS_KEY=Admin
# export MINIO_SECRET_KEY=Admin1234!
# 新版本使用MINIO_ROOT_USER和MINIO_ROOT_PASSWORD来配置账号密码

export MINIO_ROOT_USER=Admin
export MINIO_ROOT_PASSWORD=Admin1234!

# --address "192.168.10.107:9000" --console-address "192.168.10.107:19001" 需要修改为每个节点的ip
/usr/local/minio/minio server --config-dir /usr/local/minio --address "192.168.10.107:9000" --console-address "192.168.10.107:19001" \
http://192.168.10.107/data/minio \
http://192.168.10.108/data/minio \
http://192.168.10.109/data/minio \
http://192.168.10.110/data/minio

配置minio.service

cat > /usr/lib/systemd/system/minio.service <<EOF
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/

[Service]
WorkingDirectory=/usr/local/minio
ExecStart=/usr/local/minio/minio_run.sh

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

授权

chmod u+x /usr/local/minio/minio
chmod u+x /usr/local/minio/minio_run.sh
chmod u+x /usr/lib/systemd/system/minio.service

启动服务

systemctl daemon-reload
systemctl enable --now minio
systemctl status minio -l

测试服务是否正常

分别访问四个节点(http://192.168.10.107-110:9000),账号密码为minio_run.sh脚本中指定的账号密码。
控制台访问 http://192.168.10.107-110:19001

Nginx代理

在生产环境中,一般需要使用Nginx或者Haproxy进行反代+负载均衡来使用Minio

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream minio{
        server 192.168.10.107:9000;
        server 192.168.10.108:9000;
        server 192.168.10.109:9000;
        server 192.168.10.110:9000;
    }
    server {
        listen       80;
        server_name  localhost;
        location / {
                proxy_pass http://minio;
                proxy_set_header Host $http_host;
                client_max_body_size 1000m;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
posted @   村尚chun叔  阅读(2024)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示