etcd+minio联邦扩容方案


场景

项目每日图片增加量约为20G,minio且为单机服务,存在有磁盘空间使用完导致图片存储失败情况。
为解决此问题,需要对磁盘空间进行扩容。但扩容方案只能是新增磁盘。这意味着需要解决新旧磁盘数据共享问题。


一、etcd介绍

[引用]每个 etcd cluster 都是有若干个 member 组成的,每个 member 是一个独立运行的 etcd 实例,单台机器上可以运行多个 member。
在正常运行的状态下,集群中会有一个 leader,其余的 member 都是 followers。leader 向 followers 同步日志,保证数据在各个 member 都有副本。leader 还会定时向所有的 member 发送心跳报文,如果在规定的时间里 follower 没有收到心跳,就会重新进行选举。
客户端所有的请求都会先发送给 leader,leader 向所有的 followers 同步日志,等收到超过半数的确认后就把该日志存储到磁盘,并返回响应客户端。
每个 etcd 服务有三大主要部分组成:raft 实现、WAL 日志存储、数据的存储和索引。WAL 会在本地磁盘(就是之前提到的 --data-dir )上存储日志内容(wal file)和快照(snapshot)。
etcd 目前默认使用 2379 端口提供 HTTP API 服务, 2380 端口和 peer 通信(这两个端口已经被 IANA 官方预留给 etcd )

二、准备

minio 下载 注意:minio版本尽量高于或者等于RELEASE.2022-04-12T06-55-35Z
etcd 下载
etcd Manager 下载

三、配置

1.etcd

.\etcd.exe --name etcd1 ^
--data-dir .\data\etcd1 ^
--initial-cluster etcd1=http://192.168.3.2:2380 ^
--initial-advertise-peer-urls http://192.168.3.2:2380 ^
--listen-peer-urls http://0.0.0.0:2380 ^
--listen-client-urls http://0.0.0.0:2379 ^
--advertise-client-urls http://192.168.3.2:2379

name:etcd名称
data-dir:etcd的数据目录
initial-cluster:聚类标志,表示成员的意思,支持多个用逗号隔开
initial-advertise-peer-urls:与initial-cluster配对
listen-peer-urls:侦听对等流量的URL列表,支持局域网访问则配置0.0.0.0,不可以配置域名
listen-client-urls:侦听客户端流量的URL列表,支持局域网访问则配置0.0.0.0,不可以配置域名
advertise-client-urls:此成员的客户端URL的列表,以广播到集群的其余部分。这些URL可以包含域名

2.minio

这里使用的是window,所以需要创建minio_start.bat文件

set MINIO_ETCD_ENDPOINTS=http://192.168.3.2:2379
set MINIO_DOMAIN=minio.domain
set MINIO_PUBLIC_IPS=192.168.3.2
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=admin001
.\minio.exe server D:\hxin\minio_etcd\release\data01 --address :9004 --console-address ":9003"
pause

MINIO_ETCD_ENDPOINTS:注册到etcd的服务地址
MINIO_DOMAIN:访问域名,必须设置,在本地host文件添加minio.domain域名解析
MINIO_PUBLIC_IPS:minio服务ip集合,逗号隔开
MINIO_ROOT_USER:minio账号(注意:采用此方案,多个minio账号密码保持一致)
MINIO_ROOT_PASSWORD:minio密码(注意:采用此方案,多个minio账号密码保持一致)


3.etcd Manager

Settings:配置连接的etcd服务
Manager keys:查看所有注册进来的key-value

4.测试

访问minio控制台,创建存储桶bucket,设置Access Policy为Public
重复第2步,启动多个minio注册到同个etcd服务
多个minio之间即可相互访问

总结

该方案解决新旧磁盘数据共享问题,也不浪费资源,一个磁盘存储满了,增加新的磁盘即可,旧的磁盘只供资源访问,不再写入。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

18岁的许嵩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值