MinIO集群安装

一、基础环境

操作系统:CentOS 7.3

二、准备工作

  1. 机器资源(根据实际情况调整)

172.16.10.226

4CPU 4G内存

数据盘:/minio-data1 /minio-data2 /minio-data3 /minio-data4

172.16.10.227

4CPU 4G内存

数据盘:/minio-data1 /minio-data2 /minio-data3 /minio-data4

172.16.10.228

4CPU 4G内存

数据盘:/minio-data1 /minio-data2 /minio-data3 /minio-data4

172.16.10.229

4CPU 4G内存

数据盘:/minio-data1 /minio-data2 /minio-data3 /minio-data4

准备4块50G数据盘分别挂载到/minio-data1、/minio-data2、/minio-data3、/minio-data4

  1. 在四台机器分别创建安装目录
mkdir -p /opt/server/minio
cd /opt/server/minio/
  1. 下载二进制包
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
  1. 赋予minio可执行权限
chmod +x minio
  1. 创建相关目录
mkdir -p /opt/server/minio/conf
mkdir -p /data/logs/minio

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

[root@minio-1 minio]# vim run.sh

#!/bin/bash
export MINIO_ACCESS_KEY=YOU_ACCESS_KEY
export MINIO_SECRET_KEY=YOU_SECRET_KEY
 
nohup /opt/server/minio/minio server --config-dir /opt/server/minio/conf \
http://172.16.10.226/minio-data1 http://172.16.10.226/minio-data2 \
http://172.16.10.226/minio-data3 http://172.16.10.226/minio-data4 \
http://172.16.10.227/minio-data1 http://172.16.10.227/minio-data2 \
http://172.16.10.227/minio-data3 http://172.16.10.227/minio-data4 \
http://172.16.10.228/minio-data1 http://172.16.10.228/minio-data2 \
http://172.16.10.228/minio-data3 http://172.16.10.228/minio-data4 \
http://172.16.10.229/minio-data1 http://172.16.10.229/minio-data2 \
http://172.16.10.229/minio-data3 http://172.16.10.229/minio-data4 \
 > /data/logs/minio/minio.out 2>&1

赋予启动文件权限

chmod +x run.sh

四、添加minio为systemd服务

1、创建一个用于启动minio的专有用户
useradd -M -s /sbin/nologin minio

chown -R minio.minio /opt/server/minio
chown -R minio.minio /data/logs/minio
chown -R minio.minio /minio-data1
chown -R minio.minio /minio-data2
chown -R minio.minio /minio-data3
chown -R minio.minio /minio-data4
2、创建Systemd配置文件

cd /usr/lib/systemd/system/

vim minio.service

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
After=network.target

[Service]
Type=simple
User=minio
Group=minio
ExecStart=/opt/server/minio/run.sh 
KillSignal=SIGTERM
Restart=on-failure

[Install]
WantedBy=multi-user.target

五、运行minio

  • 启动minio服务
systemctl start minio
  • 停止minio服务
systemctl stop minio
  • 查询minio状态
systemctl status minio
  • 查询minio日志,看集群是否启动成功
[root@minio-4 minio]# cat /data/logs/minio/minio.out 
Waiting for the first server to format the disks.
Waiting for the first server to format the disks.
Waiting for the first server to format the disks.
Waiting for the first server to format the disks.
Status:         16 Online, 0 Offline. 
Endpoint:  http://172.16.11.111:9000  http://127.0.0.1:9000

Browser Access:
   http://172.16.11.111:9000  http://127.0.0.1:9000

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide

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

avatar

五、安装客户端mc

  1. 下载二进制文件
cd /opt/server/minio/
wget https://dl.min.io/client/mc/release/linux-amd64/mc
  1. 赋予可执行权限
chmod +x mc
./mc --help
  1. 设置指定桶为download模式
set +o history  
./mc config  host add minio-1 http://172.16.10.226:9000 you_key you_secret
set -o history
./mc policy set download  minio-1/test1

这个命令的作用是将 server 端的 test1 桶设置为开放管理,可以直接通过 url 进行下载。

六、配置负载均衡

在NGINX vhost目录下创建minio.conf配置文件

vim minio.conf

upstream minio {
   server 172.16.10.226:9000;
   server 172.16.10.227:9000;
   server 172.16.10.228:9000;
   server 172.16.10.229:9000;
}

server {
    listen 81;     
    server_name files.domain.cn;
        
    location / {
        add_header X-Content-Type-Options nosniff;
        proxy_set_header X-scheme $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Nginx-Proxy true;
        proxy_hide_header X-Powered-By;
        proxy_hide_header Vary;
        client_max_body_size    1024m; 
        proxy_pass http://minio;

    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值