1.FastDFS介紹
FastDFS是用c語言編寫的一款開源的分布式文件系統。FastDFS為互聯網量身定制,充分考慮了冗余備份、負載均衡、線性擴容等機制,並注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集群提供文件上傳、下載等服務。FastDFS架構包括 Tracker server和Storage server。客戶端請求Tracker server進行文件上傳、下載,通過Tracker server調度最終由Storage server完成文件上傳和下載。Tracker server作用是負載均衡和調度,通過Tracker server在文件上傳時可以根據一些策略找到Storage server提供文件上傳服務。可以將tracker稱為追蹤服務器或調度服務器。 Storage server作用是文件存儲,客戶端上傳的文件最終存儲在Storage服務器上,Storage server沒有實現自己的文件系統而是利用操作系統 的文件系統來管理文件。可以將storage稱為存儲服務器。
1.2 Tracker 集群
FastDFS集群中的Tracker server可以有多台,Tracker server之間是相互平等關系同時提供服務,Tracker server不存在單點故障。客戶端請求Tracker server采用輪詢方式,如果請求的tracker無法提供服務則換另一個tracker。
1.3 Storage集群
Storage集群采用了分組存儲方式。storage集群由一個或多個組構成,集群存儲總容量為集群中所有組的存儲容量之和。一個組由一台或多台存儲服務器組成,組內的Storage server之間是平等關系,不同組的Storage server之間不會相互通信,同組內的Storage server之間會相互連接進行文件同步,從而保證同組內每個storage上的文件完全一致的。一個組的存儲容量為該組內存儲服務器容量最小的那個,由此可見組內存儲服務器的軟硬件配置最好是一致的。
采用分組存儲方式的好處是靈活、可控性較強。比如上傳文件時,可以由客戶端直接指定上傳到的組也可以由tracker進行調度選擇。一個分組的存儲服務器訪問壓力較大時,可以在該組增加存儲服務器來擴充服務能力(縱向擴容)。當系統容量不足時,可以增加組來擴充存儲容量(橫向擴容)。
2.FastDFS--tracker安裝
2.1 下載
tracker和storage使用相同的安裝包,下載地址:http://sourceforge.net/projects/FastDFS/ 或https://github.com/happyfish100/FastDFS(推薦)
2.2 FastDFS安裝環境
FastDFS是C語言開發,建議在linux上運行,本教程使用Centos6.4作為安裝環境。安裝FastDFS需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,
需要安裝gcc:yum install gcc-c++
安裝libevent FastDFS依賴libevent庫,需要安裝:yum -y install libevent
安裝libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運行所需要的一些基礎庫。
將libfastcommonV1.0.7.tar.gz拷貝至/usr/local/下
cd /usr/local
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install
注意:libfastcommon安裝好后會自動將庫文件拷貝至/usr/lib64下,由於FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下。
要拷貝的文件如下:libfastcommon.so
2.3 tracker編譯安裝
將FastDFS_v5.05.tar.gz拷貝至/usr/local/下
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install
安裝成功將安裝目錄下的conf下的文件拷貝到/etc/fdfs/下。
2.3.1配置
安裝成功后進入/etc/fdfs目錄
拷貝一份新的tracker配置文件:
cp tracker.conf.sample tracker.conf
修改tracker.conf
vi tracker.conf
base_path=/home/yuqing/FastDFS
改為:
base_path=/home/FastDFS
創建fastdfs目錄-----------------很重要,沒有這個文件夾啟動不了
mkdir /home/fastdfs
2.3.2 啟動
命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
設置開機自動啟動。
vim /etc/rc.d/rc.local
將運行命令行添加進文件:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart