高可用高性能分布式文件系统FastDFS进阶keepalive + nginx对多跟踪进行高

  

  在上一篇 分布式文件系统FastDFS如何做到高可用 中已经介绍了FastDFS的原理和怎么搭建一个简单的高可用的分布式文件系统及怎么访问。

  高可用是实现了,但由于我们只设置了一个group,如果现在有5台服务器那将会出现5台只有一个group,每台服务器内的文件内容都相同(互备份)如下图,会造成资源浪费。

高可用高性能分布式文件系统FastDFS进阶keepalived+nginx对多tracker进行高

 因此下面就5台服务器进行优化改造,进一步添加keepalived+nginx多tracker 架构,做到真正的高可用和高性能。

 

 FastDFS集群服务器分布

高可用高性能分布式文件系统FastDFS进阶keepalived+nginx对多tracker进行高

 

其中keepalived+nginx用作30和31 tracker服务器作热备。用虚拟VIP 27作统一入口。

我们将按上面的架构分服务器:

虚拟VIP用192.168.80.27

keepalived+nginx 热备、负载均衡 : 28、29 

tracker:

30和31服务器

storage:

group1:32、33

group2:34、35

虽然每个服务器上都有Nginx,但这里还是先强调一下这里Nginx的用途:

  1. 首先所有的Nginx都是用于上传后的文件访问用的,跟上传无关。

  2. 28、29上面的就是常见的端口负载,这里是对两个tracker访问文件端口8000(自己设置)负载。

  3. tracker 上安装的 nginx 主要为了提供 http 访问的反向代理、负载均衡以及缓存服务。

  4. 每一台storage服务器主机上部署Nginx及FastDFS扩展模块,由Nginx模块对storage存储的文件提供http下载服务, 仅当当前storage节点找不到文件时会向源storage主机发起redirect或proxy动作。 

注:图中的tracker可能为多个tracker组成的集群;且当前FastDFS的Nginx扩展模块支持单机多个group的情况

 

tracker跟踪节点30、31

安装配置步骤前文一致,配置tracker.配置和client.conf,主要注意防火墙,开启端口22122,

记得手动创建两个文件夹:

/数据/fastdfs/跟踪器

/数据/fastdfs/客户

两个节点内容一样。

,

存储存储节点32到35

记得手动创建两个文件夹:/数据/fastdfs/存储

安装步骤与上文一致,配置:

/etc/fdfs/存储。参看

<>以前group_name=group1  #,组名(第一组为group1,第二组为group2,依次类推……)   base_path=/数据/fastdfs/storage  #,数据和日志文件存储根目录   store_path0=/数据/fastdfs/storage  #,第一个存储目录,第二个存储目录起名为:store_path2=xxx,其它存储目录名依次类推…      tracker_server=192.168.80.30:22122 #,跟踪服务器IP和端口   tracker_server=192.168.80.31:22122 #,跟踪服务器IP和端口

,注意:

32和33,group_name=group1

34和35,group_name=group2

其他配置一样默认,注意防火墙,开启端口23000。

开启两个跟踪器,并加入开机启动:

/usr/bin/fdfs_trackerd,/etc/fdfs/跟踪器。参看

chkconfig fdfs_trakcerd alt="高可用高性能分布式文件系统FastDFS进阶keepalive + nginx对多跟踪进行高”>

测试服务

/usr/bin/fdfs_test/etc/fdfs/client.配置上传/etc/fdfs/anti-steal.jpg

以上就是FastDFS的安装与配置。下面就与Nginx模块结合作介绍。

将Nginx和fastdfs-nginx-module上传到存储存储节点32到35

fastdfs-nginx-module的作用已经在上篇介绍过,在此主要是配置。

上传fastdfs-nginx-module.tar。广州到/opt文件夹下


<强>解压插件压缩包

解压fastdfs-nginx-module。zip

nginx编译安装

cd  nginx

对nginx重新配置

。/configure  \——prefix=/opt/nginx  \——pid-path=/opt/nginx/nginx.pid  \——lock-path=/opt/nginx.lock  \——error-log-path=/opt/nginx/日志/error.log  \——http-log-path=/opt/nginx/日志/access.log  \——with-http_gzip_static_module  \——http-client-body-temp-path=/opt/nginx/client  \——http-proxy-temp-path=/opt/nginx/proxy  \——http-fastcgi-temp-path=/opt/nginx/fastcgi  \——http-uwsgi-temp-path=/opt/nginx/uwsgi  \——http-scgi-temp-path=/opt/nginx/scgi  \——添加模块=/opt/fastdfs-nginx-module/src 

高可用高性能分布式文件系统FastDFS进阶keepalive + nginx对多跟踪进行高