title: 文件存储
author: xulishan@finogeeks.com
文件存储
FinClip 还用到对象存储,用于存储小程序包、图片等静态资源文件。对象存储是业界非常成熟的存储方案,在客 户的实际部署中,我们支持使用第三方对象存储,例如腾讯云 COS、阿里云OSS、AWS S3 等等。除此之外,在私 有化部署中,我们可以使用 MinIO 进行部署对象存储服务服务器。
部署架构
MinIO 的拓扑图如下
服务配置
实例(Instance):此中间件默认(最低)交付状态下为四实例部署,启用纠删码,启用数据分片,启用鉴权
数据目录
服务器 | 设计用途 | 路径 |
---|---|---|
节点 1 | 持久化数据目录 | /mnt/var/lib/container/minio |
docker-compose 文件目录 | /mnt/opt/docker-compose/minio | |
节点 2 | 持久化数据目录 | /mnt/var/lib/container/minio |
docker-compose 文件目录 | /mnt/opt/docker-compose/minio | |
节点 3 | 持久化数据目录 | /mnt/var/lib/container/minio |
docker-compose 文件目录 | /mnt/opt/docker-compose/minio | |
节点 4 | 持久化数据目录 | /mnt/var/lib/container/minio |
docker-compose 文件目录 | /mnt/opt/docker-compose/minio |
网络
底层:此中间件基于 docker-compose
启动,docker-compose
基于 docker0 虚拟网卡进行通信,因此本中间件在所有服务器上的所有组件,均通过 docker0 网卡划分出的子网进行通信,并且通过 --network=host
配置运行。
子网网段可以通过
ifconfig docker0
进行确认。
业务层:
服务器 | 设计用途 | 端口 |
---|---|---|
节点 1 | [占用宿主机固定端口] 对外服务 | 9000 |
节点 2 | [占用宿主机固定端口] 对外服务 | 9000 |
节点 3 | [占用宿主机固定端口] 对外服务 | 9000 |
节点 4 | [占用宿主机固定端口] 对外服务 | 9000 |
状态检查
节点启动后会自动探测可用的访问 IP,若日志中没有持续出现(或者停止出现)connect: connection refused 字样,且出现 Browser Access 字样并附带大量 URL 地址,则判断启动成功
节点增、删
此实例禁止手动增删节点。若有需要请联系技术支持
数据导出、恢复
数据均落盘存在本地,若因迁移需要可以拷贝整个数据目录打包。
针对导出、恢复等常见,MinIO 没有设置对应场景的工具,如果有需要可以使用 mc
工具,参考 https://www.jianshu.com/p/5c6bc2e3b886
灾难场景
Q:MinIO 集群拉起失败
A:首先确认所有 4 个节点是否已经正常启动,再判断 9000 端口是否正常可达