FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。
Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。
存储节点Storage采用了分卷[Volume](或分组[group])的组织方式,存储系统由一个或多个组组成,组与组之间的文件是相互独立的,所有组的文件容量累加就是整个存储系统中的文件容量。
一个卷[Volume](组[group])可以由一台或多台存储服务器组成,一个组中的存储服务器中的文件都是相同的,组中的多台存储服务器起到了冗余备份和负载均衡的作用,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费。
二.操作环境
操作系统:CentOS 6.5
IP:192.168.200.101
三.下载安装FastDFS
1.安装相关依赖包
[root@linuxidc.com ~]# yum -y install unzip zip gcc-c++
2.下载安装libfastcommon(公共C函数库)
[root@linuxidc.com ~]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
[root@linuxidc.com ~]# mkdir /softpackages
[root@linuxidc.com ~]# tar xf V1.0.7 -C /softpackages/
[root@linuxidc.com ~]# cd /softpackages/libfastcommon-1.0.7/
[root@linuxidc.com libfastcommon-1.0.7]# ./make.sh && ./make.sh install
libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接。
[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3.下载安装FastDFS
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
[root@linuxidc.com libfastcommon-1.0.7]# cd /softpackages/
[root@linuxidc.com softpackages]# wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
[root@linuxidc.com softpackages]# ls
libfastcommon-1.0.7 V5.05
[root@linuxidc.com softpackages]# tar xf V5.05
[root@linuxidc.com softpackages]# cd fastdfs-5.05/
[root@linuxidc.com fastdfs-5.05]# ./make.sh && ./make.sh install
默认安装方式安装后的相应文件与目录:
服务脚本:/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
配置文件:
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
4. 配置FastDFS跟踪器(Tracker)
[root@linuxidc.com fastdfs-5.05]# cd /etc/fdfs/
[root@linuxidc.com fdfs]# cp tracker.conf.sample tracker.conf
修改tracker.conf配置文件
[root@linuxidc.com fdfs]# vim tracker.conf
Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)
创建tracker基础数据目录,即base_path对应的目录(用于存储tracker的数据文件和日志文件等)
[root@linuxidc.com fdfs]# mkdir -p /home/chenjiaxin/fastdfs
为启动脚本创建软引用,因为fdfs_trackerd等命令在/usr/local/bin中并没有,而是在/usr/bin路径下
[root@linuxidc.com fdfs]# ln -s /usr/bin/fdfs_trackerd /usr/local/bin
[root@linuxidc.com fdfs]# ln -s /usr/bin/stop.sh /usr/local/bin
[root@linuxidc.com fdfs]# ln -s /usr/bin/restart.sh /usr/local/bin
启动服务
[root@linuxidc.com fdfs]# /etc/init.d/fdfs_trackerd start
Starting FastDFS tracker server:
查看端口
[root@linuxidc.com fdfs]# netstat -antp|grep fdfs