minio集群部署
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集群部署的更多相关文章
- Minio分布式集群部署——Swarm
最近研究minio分布式集群部署,发现网上大部分都是单服务器部署,而minio官方在github上现在也只提供了k8s和docker-compose的方式,网上有关与swarm启动minio集群的文章 ...
- MinIO分布式集群部署方式
文章转载自:https://blog.51cto.com/u_10950710/4843738 关于分布式集群MinIo 单机Minio服务存在单点故障,如果是一个有N块硬盘的分布式Minio,只要有 ...
- Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目
在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...
- 分布式存储Minio集群环境搭建
MinIO 分布式集群搭建 分布式 Minio 可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障. Minio 分布式模式可 ...
- 21.ubuntu16.04 Minio 集群搭建
MinIo是什么:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据. minio是一个非常轻量级的 ...
- 使用containerd搭建MinIO集群服务
概述 因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用containerd的方式绕过这一限制 操作环境 操作系统 CentOS 7.9 MinIO版本 REL ...
- 使用Docker搭建MinIO集群服务
概述 因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用Docker的方式绕过这一限制 操作环境 操作系统 CentOS 7.9 MinIO版本 RELEASE ...
- Quartz.net持久化与集群部署开发详解
序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我的罪过. 但是quart.net是经过许多大项 ...
- Openfire 集群部署和负载均衡方案
Openfire 集群部署和负载均衡方案 一. 概述 Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Hapro ...
- 基于Tomcat的Solr3.5集群部署
基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...
随机推荐
- 二叉搜索树(Binary Search Tree,BST)
二叉搜索树(Binary Search Tree,BST) 二叉搜索树(Binary Search Tree),也称二叉查找树或二叉排序树,是一种特殊的二叉树,它满足以下性质 对于二叉搜索树的每个节点 ...
- Solution -「GXOI / GZOI 2019」宝牌一大堆
Description Link. Summarizing the fucking statement is the last thing in the world I ever want to do ...
- Python爬虫-IP隐藏技术与代理爬取
在进行爬虫程序开发和运行时,常常会遇到目标网站的反爬虫机制,最常见的就是IP封禁,这时需要使用IP隐藏技术和代理爬取. 一.IP隐藏技术 IP隐藏技术,即伪装IP地址,使得爬虫请求的IP地址不被目标网 ...
- 熟练掌握并充分利用CSS3的新特性,更新完毕。
1.1 尝试新颖的CSS3特性 首先,我们来看一个具体的案例. https://code.juejin.cn/pen/7277536985772720139 1.2 CSS3新特性简介和浏览 ...
- 聊聊基于Alink库的推荐系统
概述 Alink提供了一系列与推荐相关的组件,从组件使用得角度来看,需要重点关注如下三个方面: 算法选择 推荐领域有很多算法,常用的有基于物品/用户的协同过滤.ALS.FM算法等.对于不同的数据场景, ...
- android 中service的简单事例
源码 public class ServiceDemoActivity extends Activity { private static final String TAG = "Servi ...
- 【IOC,AOP】spring的基础概念
IOC 控制反转 对象的创建控制权转交给外部实体,就是控制反转.外部实体便是IOC容器.其实就是以前创建java对象都是我们new一下,现在我们可以把这个new交给IOC容器来做,new出来的对象也会 ...
- for遍历
for遍历 一:常规方式 1.遍历数组 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(int i = 0;i<10;i++) { cout<<a ...
- 文心一言 VS 讯飞星火 VS chatgpt (115)-- 算法导论10.2 8题
八.用go语言,说明如何在每个元素仅使用一个指针 x.np(而不是通常的两个指针 next和prev)的下实现双向链表.假设所有指针的值都可视为 k 位的整型数,且定义x.np=x.next XOR ...
- P3214 [HNOI2011] 卡农 题解
感觉不是很麻烦,可能就组合排列转化绕一点... 抽象化题意 给定 \(n\) 个元素,从中选出 \(m\) 个集合,要求: 集合不为空,集合里不能有相同的元素 \(m\) 个集合都互不相同 所有元素被 ...