CentOS-搭建MinIO集群

一、基础环境

操作系统:CentOS 7.x

Minio在线演示

Minio下载


二、准备工作

2.1、机器资源

192.168.1.101

/data1

192.168.1.102

/data2

192.168.1.103

/data3

192.168.1.104

/data4

本集群由4台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,最小数据挂载点为4个

2.2、创建相关目录(所有节点)

数据存储目录

$ mkdir -p /var/minio/bin

启动脚本目录

$ cd /var/minio/bin

$ wgethttps://dl.minio.io/server/minio/release/linux-amd64/minio

$ chmod +x minio

集群配置文件目录

$ mkdir -p /etc/minio

三、编写集群启动脚本(所有节点配置文件相同)

$ vim /var/minio/bin/run.sh

#!/bin/bash

export MINIO_ACCESS_KEY=minio

export MINIO_SECRET_KEY=test123456

/var/minio/bin/minio server --config-dir /etc/minio \

http://192.168.1.101/data1 http://192.168.1.102/data2 \

http://192.168.1.103/data3 http://192.168.1.104/data4

其中,“MINIO_ACCESS_KEY”为用户名,“MINIO_SECRET_KEY”为密码,密码不能设置过于简单,不然minio会启动失败,“-config-dir”指定集群配置文件目录

$ chmod +x /var/minio/bin/run.sh


四、编写服务脚本(所有节点)

$ vim /usr/lib/systemd/system/minio.service

[Unit]

Description=Minio service

Documentation=https://docs.minio.io/

[Service]

WorkingDirectory=/var/minio/bin/

ExecStart=/var/minio/bin/run.sh

Restart=on-failure

RestartSec=5

[Install]

WantedBy=multi-user.target

其中,“WorkingDirectory”为启动脚本目录,“ExecStart”为指定集群启动脚本


$ chmod +x /usr/lib/systemd/system/minio.service


五、启动测试

启动

systemctl daemon-reload

systemctl start minio

systemctl enable minio

测试

浏览器输入集群任意节点地址+9000端口,即可访问minio,用户名密码为前面设置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可创建“bucket”并上传文件测试


六、配置nginx(可选)

配置nginx 支持lb(支持集群节点;支持多集群混用)

upstream minio-server {

server 192.168.1.101:9000 weight=25 max_fails=2 fail_timeout=30s;

server 192.168.1.102:9000 weight=25 max_fails=2 fail_timeout=30s;

server 192.168.1.103:9000 weight=25 max_fails=2 fail_timeout=30s;

server 192.168.1.104: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;

}

}


七、配置桶的永久下载连接(可选)

安装客户端

首先是安装minio客户端,这个官方文档很清楚,各取所需吧,由于我使用的服务器没有外网,只能通过XFTP上传离线文件进行使用,所以下载二进制文件

二进制文件地址:https://dl.minio.io/client/mc/release/linux-amd64/mc

$ chmod +x mc


设置自定义命令

$ alias mc="./mc"

至此,我们的minio client就安装完成了。

添加服务端host

使用 minio client 将我自己的 minio server 添加到 mc 的配置管理:

$ mc config host addminio-101http://192.168.1.101:9000/miniotest123456S3v4

$ mc config host addminio-102http://192.168.1.102:9000/miniotest123456S3v4

$ mc config host addminio-103http://192.168.1.103:9000/miniotest123456S3v4

$ mc config host addminio-104http://192.168.1.104:9000/miniotest123456S3v4

这样我们才能直接管理这个 minio server 端。


配置下载策略(设置桶dev的policy)

$ mc policy set downloadminio-101/dev

$ mc policy set downloadminio-102/dev

$ mc policy set downloadminio-103/dev

$ mc policy set downloadminio-104/dev

这个命令的作用是将 server 端的 dev 桶设置为开放管理,可以直接通过 url (nginx或任意节点)进行下载。

[桶名]/[路径]可以一直拼接到具体的文件夹或文件

类似于以下 http://xxx.xxx.xxx.xxx:9000/dev/xxx.zip,可用浏览器直接从此URL访问下载。

你可能感兴趣的:(CentOS-搭建MinIO集群)