minIO集群etcd部署和联邦扩容+nginx负载均衡实践

1 任务背景

公司有一个OA系统,其中有一个文件子系统模块,用于处理用户办公文件,主要是各种office word、excel、ppt、wps等日常办公文件,这个子系统还承载了在线编辑文档的存取,由于在线编辑需要保存大量历史版本的过程文件,这使得文件系统需要保存的文件大小快速增长,年预估达100T级别,如果系统升级为面向企业的平台,那么存储需求就更大了,PB级别的存储量是很正常的事情。
在面对如此庞大的存储需求,我们通常有两种方案可以选择,一是使用阿里云、腾讯云、华为云等对象存储服务,二是自建存储服务器。第一种方案是最省事也是最容易实现的方案,但数据托管在别人的服务器上,始终觉得心里不踏实,而且费用也是非常可观的。第二种方案虽然要求技术支持高,部署过程复杂,但数据始终是存储在自己的机房里,所谓“我命由我不由天”,命运掌握在自己手里。

2 技术选型

经过一番调研,我决定选用minIO作为文件存储系统。MinIO 是一个高性能的分布式对象存储系统,旨在提供与 Amazon S3 API 兼容的存储服务。它被设计为简单、可扩展且高度可靠,适用于大规模的数据存储和处理需求。而管理minIO分布式系统的工具,etcd是不二之选,天生与minIO无缝结合,打造高可用大规模分布式文件系统的最佳组合。Etcd 是一个分布式键值存储系统,专门用于分布式系统中存储配置信息、元数据和其他关键数据,其起到了minIO服务的管理作用,有点类似于微服务框架中的服务管理中心Nacos,提供了minIO服务的注册与发现、配置管理、服务选举等功能。

关键词:etcdminio联邦扩容分布式文件系统

3 拓扑规划

这次实践是作为生产环境的一次单元测试,我不可能使用那么多真机来试验,所以使用虚拟机进行模拟,本次实验使用vmware station安装的ubuntu,总共7个服务器。

ip地址 角色 磁盘挂载
192.168.0.102 etcd服务 (无需挂载额外磁盘)
192.168.0.103 etcd服务 (无需挂载额外磁盘)
192.168.0.104 etcd服务 (无需挂载额外磁盘)
192.168.0.106 minIO服务 /home/user/minio/data1, /home/user/minio/data2
192.168.0.107 minIO服务 /home/user/minio/data1, /home/user/minio/data2
192.168.0.109 minIO服务 /home/user/minio/data1, /home/user/minio/data2
192.168.0.110 minIO服务 /home/user/minio/data1, /home/user/minio/data2

其中

  • 192.168.0.102192.168.0.103192.168.0.104作为etcd服务集群。
  • 192.168.0.106192.168.0.107作为第一个minIO服务集群,分别挂载两个额外的独立磁盘,为了验证分布式和扩展特性,每个磁盘大小只安排了1G,特意很容易就让磁盘写满。
  • 192.168.0.109192.168.0.110作为第二个minIO服务集群。

具于如何为虚拟机划拨和挂载磁盘,后续文章将给出详细的操作步骤。

4 实施步骤

4.1 部署etcd服务集群

在每台etcd服务器上,进行如下相同的操作:

  • 创建etcd工作目录
mkdir -p /home/user/etcd/data
mkdir -p /home/user/etcd/bin
mkdir -p /home/user/etcd/conf
  • 下载etcd程序
cd /home/user/etcd
wget https://github.com/etcd-io/etcd/releases/download/v3.5.14/etcd-v3.5.14-linux-amd64.tar.gz
tar -xvf etcd-v3.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值