12.3 fastdfs

介绍

FastDFS:开源的高性能分布式文件系统;主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡

FastDFS:角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)

  1. Tracker Server: 跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的storage server和group,每个storage在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。多个Tracker之间是对等关系,不存在单点故障

  2. Storage Server: 存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server(高可用),组内的storage server上的数据互为备份

  3. Client:客户端,上传下载数据的服务器

FastDfs+nginx缓存高可用集群环境流程示意图:

实验环境机器说明:

机器名称

IP地址

应用

说明

tracker01.csp

192.168.165.36

FastDFS,libfastcommon,nginx,keepalived,ngx_cache_purge

CentOS Linux release 7.6.1810 (Core)

tracker02.csp

192.168.165.37

FastDFS,libfastcommon,nginx,keepalived,ngx_cache_purge

CentOS Linux release 7.6.1810 (Core)

storage01.csp

192.168.165.38

FastDFS,libfastcommon,nginx,fastdfs-nginx-module

CentOS Linux release 7.6.1810 (Core)

storage02.csp

192.168.165.39

FastDFS,libfastcommon,nginx,fastdfs-nginx-module

CentOS Linux release 7.6.1810 (Core)

storage03.csp

192.168.165.40

FastDFS,libfastcommon,nginx,fastdfs-nginx-module

CentOS Linux release 7.6.1810 (Core)

storage04.csp

192.168.165.41

FastDFS,libfastcommon,nginx,fastdfs-nginx-module

CentOS Linux release 7.6.1810 (Core)

VIP

192.168.165.42

fastdfs的安装

6台主机同时进行

下载安装包

安装相关依赖

安装 libfastcommon

安装 FastDFS

tracker安装

在两台tracker上执行

修改tracker配置文件

修改的内容为:

创建工作目录

启动追踪器

开放防火墙端口

storage安装

修改配置文件

修改的文件内容为:

创建目录

启动 storage:

查看集群状态:

在任意一台storage主机即可

开放防火墙端口

客户端测试

tracker台中可以随意找一台做客户端测试下:

修改文件的内容为:

上传一张图片到服务器上

配置FastDFS集群支持http

支持http请求,安装nginx(4个storage节点安装nginx,首先安装fastdfs-nginx-module,fastdfs与nginx集成模块)

修改config编译文件

编译安装

修改mod_fastdfs.conf配置文件

注意:group1:192.168.165.38,39和group2:192.168.165.40,41

复制FastDFS(fastdfs-5.11)里的2个文件到/etc/fdfs/目录下

创建一个软链接,在/fastdfs/storage 文件存储目录下创建软链接,将其链接到实际存放数据的目录

修改nginx配置文件为:

启动nginx

上传图片,然后访问测试

tracker server 上安装 nginx缓存

创建缓存目录

修改nginx配置文件:

启动nginx

上传图片,访问测试

keepalived安装

修改配置文件

准备:另一台的state改为BACKUP,priority改为小于100的值

配置健康检查脚本:

赋予执行权限:

添加防火墙规则

启动服务

用vip访问测试

参考链接:

https://www.cnblogs.com/NGames/archive/2019/06/23/11065282.html

Last updated

Was this helpful?