是用c语言编写的一款开源的分布式文件系统。
为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标
可以很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务
fastDFS特点:
应用层级的文件系统不能挂载和卸载,也就是不能进行mount操作
追踪器 - tracker 存储节点- storage 客户端 - client
三个角色之间的关系:
Client和Storage主动连接Tracker。
Storage主动向Tracker报告其状态信息
磁盘剩余空间
文件同步状况
文件上传下载次数
Storage会启动一个单独的线程来完成对一台Tracker的
连接和定时报告。
一个组包含的Storage不是通过配置文件设定的,而是通
过Tracker获取到的。
Tracker集群
Tracker server之间是相互平等关系同时提供服务
○ Tracker server不存在单点故障。
客户端请求Tracker server采用轮询方式,如果请求的
tracker无法提供服务则换另一个tracker。
Storage集群
Storage集群采用了分组存储方式 , 由一个或多个组构成集群存储总容量为集群中所有组的存储容量之和
一个组由一台或多台存储服务器组成,组内的Storage server之间是平等关系
不同组的Storage server之间不会相互通信,同组内的Storage server之间会相互连接进行文件同步,从而保证同组内每个storage上的文件完全一致的。
一个组的存储容量为该组内存储服务器容量最小的那个
FastDFS的扩容分纵向扩容与横向扩容
横向 扩容
增加容量
添加group组
纵向扩容
数据备份
当前组的最大容量
存储节点中容量最小的那个
所有存储节点组名必须一样
fastDFS安装
FastDFS 源代码下载地址:
l https://code.google.com/archive/p/fastdfs/downloads
l https://github.com/happyfish100/fastdfs.git
基础库包
libfastcommon-1.36.zip
1) ./make.sh
2) sudo ./make.sh install
fastdfs-5.10.tar.gz
1) ./make.sh
2) sudo ./make.sh install
测试是否安装成功:fdfs_test