minio集群部署

1.说明:

安装前需要再添加一个磁盘后将磁盘挂载到/opt/minio目录,minio集群部署需要独占磁盘分区,不能使用文件夹代替。

运行分布式 MinIO 实例的服务器时间差不应超过15分钟

所有运行分布式 MinIO 设置的节点都是同构的,即相同的操作系统、相同数量的磁盘和相同的网络互连 。

MinIO 的节点需要具有相同的访问密钥和秘密密钥才能连接,即access key 和 MINIO secret key 都要一样。

2.创建目录

  mkdir -p /opt/minio/{run,data} && mkdir -p /etc/minio

3.挂载新的硬盘

  挂载/opt/minio目录,忘记的话,搜linux挂载新硬盘



挂载完后,记得配置文件 /etc/fstab 也需要增加,不然服务器重启之后,就掉盘了

/dev/sdb1 /opt/minio ext4 defaults 0 0

4.下载Minio到/opt/minio/run

  cd /opt/minio/run
wget https://dl.min.io/server/minio/release/linux-amd64/minio

5.创建启动脚本文件

  vim /opt/minio/run/run.sh
#Minio默认9000端口,在配置文件中加入–address “127.0.0.1:9029” 可更改端口
#注意 :
#MINIO_ROOT_USER:用户名,长度最小是5个字符
#MINIO_ROOT_PASSWORD:密码,密码不能设置过于简单,不然minio会启动失败,长度最小是8个字符
#–config-dir:指定集群配置文件目录
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=adminbfd123

/opt/minio/run/minio server --config-dir /etc/minio

--address "0.0.0.0:9029" --console-address ":9000"

http://172.16.11.1:9029/opt/minio/data

http://172.16.11.2:9029/opt/minio/data > minio_server.log

6.创建停止脚本文件

  cat <<EOF > /opt/minio/run/stop.sh

!/bin/bash

MinIO停止脚本

ps -ef | grep minio | grep -v 'grep' | awk '{print $2}'| xargs kill -9

if $? != 0;then

echo "minio service stop failed."

exit 1

fi

EOF

7.创建Minio.server

cat <<EOF > /etc/systemd/system/minio.service

[Unit]

Description=Minio service

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

[Service]

WorkingDirectory=/opt/minio/run/

ExecStart=/opt/minio/run/run.sh

ExecStop=/opt/minio/run/stop.sh

Restart=on-failure

RestartSec=5

[Install]

WantedBy=multi-user.target

EOF

8、权限修改

chmod +x /etc/systemd/system/minio.service && chmod +x /opt/minio/run/minio && chmod +x /opt/minio/run/run.sh && chmod +x /opt/minio/run/stop.sh

9.启动集群(依次执行命令)

systemctl daemon-reload
systemctl start minio
systemctl enable minio
systemctl status minio.service

10.配置nginx代理

vim   minio-cluster.conf
配置文件内容:
     # websocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream minio_console {
server 172.16.11.1:9000 max_fails=3 fail_timeout=5s;
server 172.16.11.2:9000 max_fails=3 fail_timeout=5s; }
upstream minio_api {
server 172.16.11.1:9029 max_fails=3 fail_timeout=5s;
server 172.16.11.2:9029 max_fails=3 fail_timeout=5s; } server {
listen 80;
listen 443 ssl;
server_name cons.minio.com; ssl_certificate keys/abcty6/server.crt;
ssl_certificate_key keys/abcty6/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
client_max_body_size 1G; #如果上传文件大于1G,就需要更改这个参数
client_header_timeout 1m;
client_body_timeout 1m;
proxy_connect_timeout 60s;
proxy_read_timeout 1m;
proxy_send_timeout 1m; location / {
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
proxy_pass http://minio_console;
expires 0; }
} server {
listen 80;
listen 443 ssl;
server_name apapi.minio.com; ssl_certificate keys/abcty6/server.crt;
ssl_certificate_key keys/abcty6/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
client_max_body_size 1G;
client_header_timeout 1m;
client_body_timeout 1m;
proxy_connect_timeout 60s;
proxy_read_timeout 1m;
proxy_send_timeout 1m; location / {
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://minio_api;
expires 0;
}
}
  重载配置
./nginx -s reload
至此,集群成功!

11.数据迁移

### 11.1下载mc
wget https://dl.min.io/client/mc/release/linux-amd64/mc

chmod +x mc

./mc --help

./mc config host add hk http://172.16.11.1:9029

11.2给远程主机批量创建桶名

11.3拷贝文件和对象到新的服务器

文章参考:https://blog.csdn.net/weixin_42324463/article/details/126442490

minio集群部署的更多相关文章

  1. Minio分布式集群部署——Swarm

    最近研究minio分布式集群部署,发现网上大部分都是单服务器部署,而minio官方在github上现在也只提供了k8s和docker-compose的方式,网上有关与swarm启动minio集群的文章 ...

  2. MinIO分布式集群部署方式

    文章转载自:https://blog.51cto.com/u_10950710/4843738 关于分布式集群MinIo 单机Minio服务存在单点故障,如果是一个有N块硬盘的分布式Minio,只要有 ...

  3. Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

    在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...

  4. 分布式存储Minio集群环境搭建

    MinIO 分布式集群搭建 分布式 Minio 可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障. Minio 分布式模式可 ...

  5. 21.ubuntu16.04 Minio 集群搭建

    MinIo是什么:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据. minio是一个非常轻量级的 ...

  6. 使用containerd搭建MinIO集群服务

    概述 因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用containerd的方式绕过这一限制 操作环境 操作系统 CentOS 7.9 MinIO版本 REL ...

  7. 使用Docker搭建MinIO集群服务

    概述 因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用Docker的方式绕过这一限制 操作环境 操作系统 CentOS 7.9 MinIO版本 RELEASE ...

  8. Quartz.net持久化与集群部署开发详解

    序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我的罪过. 但是quart.net是经过许多大项 ...

  9. Openfire 集群部署和负载均衡方案

    Openfire 集群部署和负载均衡方案 一.   概述 Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Hapro ...

  10. 基于Tomcat的Solr3.5集群部署

    基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...

随机推荐

  1. Microsoft Build 2021第二天

    C++20 Ranges are complete in Visual Studio 2019 version 16.10 https://devblogs.microsoft.com/cppblog ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (94)-- 算法导论9.2 3题

    三.用go语言,给出 RANDOMIZED-SELECT的一个基于循环的版本. 文心一言: 在循环中实现 RANDOMIZED-SELECT 的一个版本可以如下所示.这个版本使用 Go 语言编写,利用 ...

  3. Teamcenter RAC 开发之《Excel模版导出》

    背景 在做 Teamcenter RAC客制化表单后,TMD肯定有一个需求要导出表单,毕竟所谓的客制化表单就是从纸质表单中出来的,那么写代码必不可少......... 那么问题来了,对于一个Excel ...

  4. 其它——paramiko模块的使用

    文章目录 paramiko 一 介绍 二 通过用户名密码方式远程执行命令 三 通过用户名密码方式上传下载文件 四 通过公钥私钥远程执行命令 五 通过公钥私钥远程上传下载文件 六 通过私钥字符串远程连接 ...

  5. Git——Git 常用命令

    文章目录 仓库 配置 增加/删除文件 代码提交 分支 标签 查看信息 远程同步 撤销 其他 仓库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 ...

  6. linux日常运维(一)

    - 进程管理ps.top - 任务计划crontab 进程管理 概念:进程是在自身的虚拟地址空间运行的一个单独的程序. 进程和程序区别:程序只是一个静态的命令集合,不占系统的运行资源:而进程是一个随时 ...

  7. 【RocketMQ】RocketMQ存储结构设计

    CommitLog 生产者向Broker发送的消息,会以顺序写的方式,写入CommitLog文件,CommitLog文件的根目录由配置参数storePathRootDir决定,默认每一个CommitL ...

  8. solidity入门

    1. solidity 简介 Solidity(中文名称:Solidity 语言)是一种面向智能合约(Smart Contracts)的高级编程语言,最初由以太坊(Ethereum)的团队开发并用于以 ...

  9. 【Unity3D】Shader Graph节点

    1 前言 ​ Shader Graph 16.0.3 中有 208 个 Node(节点),本文梳理了 Shader Graph 中大部分 Node 的释义,官方介绍详见→Node-Library. ​ ...

  10. PortAudio详解(2015年12月1日更新)

    PortAudio详解 整理者:赤子玄心 QQ:280604597 Email:280604597@qq.com 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 ...