FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站.
FastDFS有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问;存储服务包括:文件存储,文件同步,提供文件访问接口,同时以key value的方式管理文件的元数据
跟踪和存储服务可以由1台或者多台服务器组成,同时可以动态的添加,删除跟踪和存储服务而不会对在线的服务产生影响,在集群中,tracker服务是对等的
存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
1.下载地址:https://sourceforge.net/projects/fastdfs/files/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.02/
2. 解压安装:
cd /usr/local/dfs
tar zxf FastDFS_v5.02.tar.gz
./make.sh
3. 修改conf/tracker.conf
设置base_path=/usr/local/dfs/tracker_dic
设置http.server_port=8090 #避免端口冲突
4. 启动tracker
/usr/local/dfs/FastDFS/tracker/fdfs_trackerd /usr/local/dfs/FastDFS/conf/tracker.conf
=> 在tracker.conf中base_path值对应的目录下创建了logs/trackerd.log,并有日志输出。
5. 修改storage.conf
设置base_path=/usr/local/dfs/storage_dic
设置store_path0=/usr/local/dfs/storage_dic/data1
store_path1=/usr/local/dfs/storage_dic/data2
设置tracker_server=192.168.1.51:22122
设置http.server_port=8091 #避免端口冲突
6. 启动storage
/usr/local/dfs/FastDFS/tracker/fdfs_storaged /usr/local/dfs/FastDFS/conf/storage.conf
=>在storage.conf中base_path值对应的目录下创建了logs/storaged.log,并有日志输出。
=> store_path0对应的目录data文件下创建了00,01,02.....FF等文件夹。