MinIO 集群搭建步骤包括设置 3 个节点,每个节点的 IP 地址如下,并使用 Nginx 作为反向代理。我们将详细分解安装步骤:
环境信息:
- Node1: 192.168.1.101
- Node2: 192.168.1.102
- Node3: 192.168.1.103
- MinIO 版本: 最新
- 操作系统: Linux (假设使用 Ubuntu 20.04)
- Nginx: 用于反向代理,提供负载均衡
1. 前置条件
- Go语言: MinIO 需要安装 Go 语言,确认你系统中已安装。
- Docker: 如果你使用 Docker 容器进行部署,请确保安装了 Docker 和 Docker Compose。
- 网络要求: 各节点之间网络通畅,没有防火墙阻碍通信。
2. MinIO 集群安装步骤
2.1 安装 MinIO Server
首先,在每个节点上安装 MinIO:
# 在所有 3 个节点上运行
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
2.2 创建数据目录
为每个节点创建存储数据的目录,例如 /mnt/data
。
# 在每个节点上
sudo mkdir -p /mnt/data/minio
2.3 启动 MinIO 服务
在每个节点启动 MinIO,使用下面的命令:
# 在所有节点上启动 MinIO
minio server http://192.168.1.101/mnt/data/minio \
http://192.168.1.102/mnt/data/minio \
http://192.168.1.103/mnt/data/minio
这将在 3 个节点上创建一个集群,使用 HTTP 协议。
2.4 配置 MinIO 环境变量
在每个节点上设置 MinIO 的环境变量:
# 在 /etc/profile 中添加
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadminpassword
然后运行以下命令让其生效:
source /etc/profile
3. 配置 Nginx 代理
Nginx 将用于平衡 3 个 MinIO 节点的负载。
3.1 安装 Nginx
在任意一台服务器上(或单独的服务器上)安装 Nginx:
sudo apt update
sudo apt install nginx
3.2 配置 Nginx
编辑 Nginx 配置文件 /etc/nginx/sites-available/minio.conf
:
server {
listen 80;
server_name minio.example.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://minio_cluster;
}
}
# 定义 upstream,添加 3 个 MinIO 节点
upstream minio_cluster {
server 192.168.1.101:9000;
server 192.168.1.102:9000;
server 192.168.1.103:9000;
}
3.3 启用配置并重启 Nginx
sudo ln -s /etc/nginx/sites-available/minio.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
4. 验证 MinIO 集群状态
使用以下 URL 访问 MinIO 控制台:
http://minio.example.com
输入用户名和密码(minioadmin
和 minioadminpassword
)登录并验证集群节点是否正常工作。
5. 后续操作
5.1 配置自动启动
你可以为 MinIO 创建 systemd 服务文件以便服务器启动时自动启动:
sudo nano /etc/systemd/system/minio.service
内容如下:
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
EnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server http://192.168.1.101/mnt/data/minio \
http://192.168.1.102/mnt/data/minio \
http://192.168.1.103/mnt/data/minio
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
然后运行以下命令启用该服务:
sudo systemctl daemon-reload
sudo systemctl enable minio
sudo systemctl start minio
6. 总结
- 在 3 个节点上安装 MinIO 并配置集群。
- 安装并配置 Nginx 作为反向代理,负载均衡 MinIO 集群节点。
- 启动并验证集群是否正常运行。
这样,MinIO 集群将通过 Nginx 代理进行访问,并在 3 个节点上实现高可用。
作者:严锋 创建时间:2024-10-21 10:30
最后编辑:严锋 更新时间:2025-05-09 15:48
最后编辑:严锋 更新时间:2025-05-09 15:48