FastDFS 介绍(参考:http://www.oschina.net/p/fastdfs)
FastDFS 是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件
访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服
务,如相册网站、视频网站等等。
FastDFS 服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在
访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,
FastDFS 同时对文件的 meta data 进行管理。所谓文件的 meta data 就是文件的相关属性,以键值对(key
value pair)方式表示,如:width=1024,其中的 key 为 width,value 为 1024。文件 meta data 是文件属
2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件上传。
客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server 的指定端
口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台 Storage Server ,然后将这个
Storage Server 的地址等信息返回给 client,然后 client 再通过这些信息连接到这台 Storage Server,
将要上传的文件传送到给 Storage Server 上。
2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件下载。
FastDFS 集群规划:
跟踪服务器 1:192.168.1.131 edu-dfs-tracker-1
跟踪服务器 2:192.168.1.132 edu-dfs-tracker-2
存储服务器 1:192.168.1.135 edu-dfs-storage-group1-1
存储服务器 2:192.168.1.136 edu-dfs-storage-group1-2
存储服务器 3:192.168.1.137 edu-dfs-storage-group2-1
存储服务器 4:192.168.1.138 edu-dfs-storage-group2-2
环境:CentOS 6.6
用户:root
数据目录:/fastdfs (注:数据目录按你的数据盘挂载路径而定)
安装包:
FastDFS v5.05
libfastcommon-master.zip(是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库)
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.6.2.tar.gz
fastdfs_client_java._v1.25.tar.gz
源码地址:https://github.com/happyfish100/
下载地址:http://sourceforge.net/projects/fastdfs/files/
一、FastDFS 的安装(所有跟踪服务器和存储服务器均执行如下操作)
1、编译和安装所需的依赖包:
(1)上传或下载 libfastcommon-master.zip 到/usr/local/src 目录,解压
# cd /usr/local/src/
# unzip libfastcommon-master.zip
# ./make.sh
# ./make.sh install
libfastcommon 默认安装到了
/usr/lib64/libfastcommon.so
/usr/lib64/libfdfsclient.so
(4)因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接.
# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3、安装 FastDFS (https://github.com/happyfish100/fastdfs/releases)
(1)上传或下载 FastDFS 源码包(FastDFS_v5.05.tar.gz)到 /usr/local/src 目录,解压
# cd /usr/local/src/
# tar -zxvf FastDFS_v5.05.tar.gz
# cd FastDFS
(3)编译、安装(编译前要确保已经成功安装了 libfastcommon)
# ./make.sh
# ./make.sh install
采用默认安装的方式安装,安装后的相应文件与目录:
A、服务脚本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
B、配置文件在(样例配置文件):
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker
FastDFS 是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件
访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服
务,如相册网站、视频网站等等。
FastDFS 服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在
访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,
FastDFS 同时对文件的 meta data 进行管理。所谓文件的 meta data 就是文件的相关属性,以键值对(key
value pair)方式表示,如:width=1024,其中的 key 为 width,value 为 1024。文件 meta data 是文件属
性列表,可以包含多个键值对。FastDFS 系统结构如下图所示:

跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下
线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或
减少。
为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷
组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷
可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器
起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,
系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增
加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。 FastDFS 中的文件标识
分为两个部分:卷名和文件名,二者缺一不可。
FastDFS 上传文件交互过程:

2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件上传。
客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server 的指定端
口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台 Storage Server ,然后将这个
Storage Server 的地址等信息返回给 client,然后 client 再通过这些信息连接到这台 Storage Server,
将要上传的文件传送到给 Storage Server 上。
FastDFS 下载文件交互过程:

2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件下载。
FastDFS 集群规划:
跟踪服务器 1:192.168.1.131 edu-dfs-tracker-1
跟踪服务器 2:192.168.1.132 edu-dfs-tracker-2
存储服务器 1:192.168.1.135 edu-dfs-storage-group1-1
存储服务器 2:192.168.1.136 edu-dfs-storage-group1-2
存储服务器 3:192.168.1.137 edu-dfs-storage-group2-1
存储服务器 4:192.168.1.138 edu-dfs-storage-group2-2
环境:CentOS 6.6
用户:root
数据目录:/fastdfs (注:数据目录按你的数据盘挂载路径而定)
安装包:
FastDFS v5.05
libfastcommon-master.zip(是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库)
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.6.2.tar.gz
fastdfs_client_java._v1.25.tar.gz
源码地址:https://github.com/happyfish100/
下载地址:http://sourceforge.net/projects/fastdfs/files/
官方论坛:http://bbs.chinaunix.net/forum-240-1.html
一、FastDFS 的安装(所有跟踪服务器和存储服务器均执行如下操作)
1、编译和安装所需的依赖包:
# yum install make cmake gcc gcc-c++
2、安装 libfastcommon (https://github.com/happyfish100/libfastcommon)(1)上传或下载 libfastcommon-master.zip 到/usr/local/src 目录,解压
# cd /usr/local/src/
# unzip libfastcommon-master.zip
# cd libfastcommon-master

# ./make.sh
# ./make.sh install
libfastcommon 默认安装到了
/usr/lib64/libfastcommon.so
/usr/lib64/libfdfsclient.so
(4)因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接.
# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3、安装 FastDFS (https://github.com/happyfish100/fastdfs/releases)
(1)上传或下载 FastDFS 源码包(FastDFS_v5.05.tar.gz)到 /usr/local/src 目录,解压
# cd /usr/local/src/
# tar -zxvf FastDFS_v5.05.tar.gz
# cd FastDFS
(3)编译、安装(编译前要确保已经成功安装了 libfastcommon)
# ./make.sh
# ./make.sh install
采用默认安装的方式安装,安装后的相应文件与目录:
A、服务脚本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
B、配置文件在(样例配置文件):
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker

本文介绍了FastDFS集群的安装、配置和使用过程,包括服务器的动态增减、文件上传下载交互流程。在安装完成后,通过配置和监控确认服务状态,并展示了文件访问的示例,强调了在Nginx中实现的负载均衡。

8万+

被折叠的 条评论
为什么被折叠?



