FastDFS(Fast Distributed File System)是一款开源轻量级分布式文件系统。
1.FastDFS概述
1).FastDFS工作原理
Tracker
Tracker Server作用是负载均衡和调度。文件上传时通过Tracker Server根据某些策略(压力/宕机等)找到适合的Storage Server提供文件上传服务。
FastDFS集群中的Tracker Server可以有多台。Tracker Server之间是平等关系同时提供服务,不存在单点故障;客户端请求Tracker Server采用轮询方式,如果请求的Tracker无法提供服务则换另外的Tracker。
Storage
Storage Server作用是文件存储。Storage Server使用操作系统的文件系统来管理文件。
Storage集群采用了分组存储方式,可以由一个或多个组构成,集群存储总容量为集群中所有组的存储容量之和。一个组由一台或多台存储服务器组成,组内的Storage Server之间是平等关系,不同组的Storage Server之间不会互相通信。同组内的Storage Server之间会相互连接进行文件同步,从而保证同组内每个Storage 上的文件完全一致。
一个分组的存储服务器访问压力较大时,可以在该组增加存储服务器来扩充服务器能力(纵向扩容);当系统容量不足时,可以增加组来扩充存储容量(横向扩容)。
Storage Server会连接集群中所有的Tracker Server,定时向他们报告自己的状态,包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。
2).FastDFS工作流程
客户端上传文件到存储服务器返回文件ID给客户端。文件ID是访问文件的索引信息。包括:组名/虚拟磁盘路径/数据两级目录/文件名
2.FastDFS安装
环境:centos6.8
安装libfastcommon
- 获取安装包
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
-
解压到指定目录,进入目录
-
执行编译:./make.sh
-
进行安装:./make.sh install
安装FastDFS
- 获取fdfs安装包
wget https://github.com/happyfish