Skip to main content

文件存储

FinClip 还用到对象存储,用于存储小程序包、图片等静态资源文件。对象存储是业界非常成熟的存储方案,在客 户的实际部署中,我们支持使用第三方对象存储,例如腾讯云 COS、阿里云OSS、AWS S3 等等。除此之外,在私 有化部署中,我们可以使用 MinIO 进行部署对象存储服务服务器。

部署架构#

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 端口是否正常可达