序文
FastDFSは、C言語で記述されたオープンソースの軽量分散ファイルシステムであり、ファイルプロセスを管理します。その機能には、ファイルストレージ、ファイル同期、ファイルアクセス(ファイルアップロード、ファイルダウンロード)などがあり、大容量ストレージの問題を解決します。負荷分散の問題は、フォトアルバムWebサイト、ビデオWebサイトなど、ファイルをキャリアとして使用するオンラインサービスに特に適しています。FastDFSは、冗長バックアップ、負荷分散、現在の拡張などを十分に考慮し、高可用性に重点を置いて、インターネット用に調整されています。高性能およびその他の指標を使用すると、FastDFSを使用して高性能ファイルサーバークラスターを簡単に構築し、ファイルのアップロードおよびダウンロードサービスを提供できます。
1.FastDFSの原理と構造
1. FastDFSアーキテクチャ
FastDFSアーキテクチャには、トラッカーサーバーとストレージサーバーが含まれます。クライアントはトラッカーサーバーにファイルのアップロードとダウンロードを要求し、ストレージサーバーはトラッカーサーバーのスケジューリングを通じてファイルのアップロードとダウンロードを完了します。
* Tracker server:负责调度及负载均衡,通过Tracker server,在文件上传时可以根据一些策略找到Storage server来提供
上传服务,可以将tracker称为追踪服务器或调度服务器;
* Storage server:负责文件最终存储,客户端上传的文件最终存储在storage服务器上,Storage server没有实现自己的文
件系统,而是利用操作系统的文件系统来管理文件,可以将storage称为存储服务器。
2つ目は、FastDFSクラスターをデプロイすることです。
1.必要な環境は次のとおりです。
* Tracker Server跟踪服务器:10.10.1.7
* Tracker Server跟踪服务器:10.10.1.6
* Storage Server存储服务器:10.10.1.5
* Storage Server存储服务器:10.10.1.6
* Storage Server存储服务器:10.10.1.7
2.すべてのトラッカーノードとストレージノードは、次の操作を実行します
[root@master ~]# yum -y install make cmake gcc gcc-c++ //安装所需依赖
[root@master ~]# cd /usr/local/src/
[root@master src]# unzip libfastcommon-master //安装libfatscommon
[root@master src]# cd libfastcommon-master
[root@master libfastcommon-master]# ./make.sh //编译安装
[root@master libfastcommon-master]# ./make.sh install
[root@master libfastcommon-master]# cd ..
[root@master src]# tar -zxvf FastDFS_v5.08.tar.gz //安装FastDFS
[root@master src]# cd FastDFS
[root@master FastDFS]# ./make.sh //编译安装
[root@master FastDFS]# ./make.sh install
采用默认安装方式,相应的文件与目录检查如下:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd
[root@master FastDFS]# ll /etc/fdfs/
总用量 40
-rw-r--r-- 1 root root 1461 12月 17 16:10 client.conf.sample
-rw-r--r-- 1 root root 7927 12月 17 16:10 storage.conf.sample
-rw-r--r-- 1 root root 7200 12月 17 16:10 tracker.conf.sample
//如上在所有节点上执行,安装相关依赖
3.トラッカーサーバーとストレージサーバーを構成します
[root@tracker ~]# cd /etc/fdfs/
[root@tracker fdfs]# cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf //重新命名
[root@tracker fdfs]# vim tracker.conf
#修改内容如下:
disabled=false #启用配置文件
port=22122 #tracker服务器端口(默认22122)
base_path=/fastdfs/tracker #存储日志和数据的根目录
store_group=group1,group2,group3 #分别代表三台主机
[root@tracker fdfs]# mkdir -p /fastdfs/tracker/ #创建存储日志和数据的根目录
[root@tracker fdfs]# /etc/init.d/fdfs_trackerd start #启动tracker服务
配置storage服务器
[root@tracker fdfs]# cp storage.conf.sample storage.conf #重新命名
[root@tracker fdfs]# vim storage.conf
# 修改的内容如下:
disabled=false # 启用配置文件
group_name=group2 #代表当前主机是那个组
port=23000 # storage服务端口
base_path=/fastdfs/storage # 数据和日志文件存储根目录
store_path0=/fastdfs/storage # 第一个存储目录
tracker_server=10.10.1.7:22122 # tracker服务器IP和端口
tracker_server=10.10.1.6:22122 #tracker服务器IP2和端口
http.server_port=8888 # http访问文件的端口
[root@tracker fdfs]# mkdir -p /fastdfs/storage/
[root@tracker fdfs]# /etc/init.d/fdfs_storaged start #启动storaged
4.トラッカーサーバークライアント構成ファイルを変更します
[root@master fdfs]# cp client.conf.sample client.conf
[root@master fdfs]# vim client.conf
修改配置如下:
base_path=/fastdfs/tracker
tracker_server=10.10.1.7:22122 # tracker服务器IP和端口
tracker_server=10.10.1.6:22122 #tracker服务器IP2和端口
5.成功を確認するための次の簡単なテスト
[root@tracker src]# ls
FastDFS FastDFS_v5.08.tar.gz libfastcommon-master libfastcommon-master.zip test2.png
#随机找一张图片上传到/usr/local/src/下
#以下存图会随机存储到三台主机不同group
[root@tracker src]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/test2.png
group2/M00/4B/55/CgoBB1_kTMKAdHgCACM5jnZmB2c673.png
[root@tracker src]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/test2.png
group1/M00/00/6A/CgoBBl_kTMOAFG1PACM5jnZmB2c579.png
[root@tracker src]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/test2.png
group2/M00/4B/55/CgoBB1_kTMSAYSvOACM5jnZmB2c978.png
#本地图片上传到Fastdfs
#查看是否存储成功如下:
[root@tracker 55]# pwd
/fastdfs/storage/data/4B/55
[root@tracker 55]# ls