文件服务器之fastDFS

    FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站、视频网站等。

 

fastDFS的组成:

  tracker:起核心调度的作用,用于保存下面各个存储文件的信息,包括文件上传记录,下载记录等。是各个storage文件同步的核心。

  storage:用于存储数据,定时向tracker发送自身信息。

  client:通过访问tracker去上传或下载文件。

tracker和storage的对应关系:

  

 

一个tracker对应多个storage,又将storage集群抽象为组的概念,同一个组内的storage数据彼此同步,通过client向tracker中上传数据,而数据最后是存储在storage中的。

group之内的storage是数据冗余的关系,group之间的数据是负载均衡的关系。

 

fastDFS的安装:

  

因为安装包中是集成了tracker,storage,client的,所有无论要使用哪种功能,安装过程都是一样的,只是需要修改不同的配置文件即可:

安装过程:

  

1、安装开发环境

 yum groupinstall "Development Tools" "Server platform Development" -y

2、安装libfastcommon

git clone https://github.com/happyfish100/libfastcommon.git

cd libfastcommon/

./make.sh

 ./make.sh install

3、安装fastdfs

 cd /root/

 git clone https://github.com/happyfish100/fastdfs.git

 cd fastdfs/

 ./make.sh

 ./make.sh install

经过以上过程fastdfs已经安装完成,然后只需要到/etc/fdfs/下修改相应的配置文件即可:

tracker配置:

  

 cd /etc/fdfs

 cp tracker.conf.sample tracker.conf

 vim /etc/fdfs/tracker.conf

  base_path=/fdfs/tracker/data   # 存储日志及tracker的状态信息的软件根目录

修改完配置文件之后可以创建数据存放的目录:mkdir -p /fdfs/tracker/data

之后可以直接启动服务:service fdfs_trackerd start

 

storage 配置:

cd /etc/fdfs/

cp storage.conf.sample storage.conf     copy一份storage的配置文件

vim /etc/fdfs/storage.conf   修改配置文件

  group_name=group1  #指定组名

  base_path=/data/fdfs/storage # storage根目录

  store_path_count=2 # 设置设备数量,即使用几个路径来存储数据,一般是应用到多块磁盘

  store_path0=/data/fdfs/storage/m0 #指定存储路径0

  store_path1=/data/fdfs/storage/m1 #指定存储路径1# 注意:同一组内存储路径不能冲突,例如:下一个节点的存储路径就是m2,m3....等

  tracker_server=192.168.0.107:22122 #指定tracker

 

mkdir -pv /data/fdfs/storage/{m0,m1} # 创建数据目录

service fdfs_storaged start  启动服务

 

client配置

cd /etc/fdfs/

cp client.conf.sample client.conf

修改客户端配置文件:vim client.conf

base_path=/fdfs/client/data

tracker_server=192.168.0.107:22122

 

从客户端上传文件:

fdfs_upload_file   /etc/fdfs/client.conf      root.gz.tar

程序           所使用的配置文件      上传的文件(接路径)

删除文件:

fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/rBURalsOVh2AeqF6AAFaxahaL98208.jpg

查看fastdfs集群状态:fdfs_monitor /etc/fdfs/client.conf

 

关于集群:

fastDFS的集群配置不难,只要在storage中指明相应的group就能自动加入到集群中了。

集群模式的storage配置文件需要注意两个字段:

group_name和tracker_server 这是一个多对多的关系,一个group可以属于多个tracker,而一个tracker可以拥有多个group。

具体的架构设计,应根据实际业务需求设置tracker和storage的数量以及它们之间的关系。

 

附:

fastDFS批量上传脚本: 

  

#!/bin/bash

dir=/home/picture   #将所有要上传的文件放在此目录下

for file_name in `ls $dir`;do

file_id=`fdfs_upload_file /etc/fdfs/client.conf $dir/$file_name`

if [ $? -eq 0 ];then

printf "%-40s %10s\n" "$file_name" "$file_id"

else

echo "This time for upload file has failed."

fi

done

 

转载于:https://www.cnblogs.com/RottenLeaf/p/9656194.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值