fastdfs是一个轻量级的文件系统,现在生产环境用的就是这个。个人觉得还是不错的文件系统。现在文件服务器是一台机子,现在我又加了一台。下面详细介绍一下配置过程。
一,服务器介绍
192.168.1.131 web服务器
192.168.1.130 已有文件服务器
192.168.1.106 新增的文件服务器
服务器架构的时候,我把web服务器和文件服务器分开了。
二,fastdfs安装配置
wget http://fastdfs.googlecode.com/files/FastDFS_v1.22.tar.gz
- tar zxf FastDFS_v1.22.tar.gz
- cd FastDFS
- ./make.sh
- mkdir /usr/local/include //一般情况下,local下面会有一个include文件夹的,如果没有在建个目录
- ./make.sh install
三,192.168.1.106新增服务文件服务器配置
1,tracker.conf配置
- [root@localhost fastdfs]# cat /home/zhangy/fastdfs/tracker.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
- disabled=false
- bind_addr=
- port=22122
- network_timeout=60
- base_path=/var/www/fastdfs
- max_connections=32
- store_lookup=2
- store_group=group1
- store_server=0
- store_path=0
- download_server=0
- reserved_storage_space = 1GB
- log_level=info
- run_by_group=
- run_by_user=
- allow_hosts=*
- sync_log_buff_interval = 10
- check_active_interval = 120
- thread_stack_size=1MB
- http.disabled=false
- http.server_port=80
2,storage.conf配置
- [root@localhost fastdfs]# cat /home/zhangy/fastdfs/storage.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
- disabled=false
- group_name=group1
- bind_addr=
- port=23000
- network_timeout=60
- heart_beat_interval=30
- stat_report_interval=60
- base_path=/var/www/fastdfs
- max_connections=256
- sync_wait_msec=200
- sync_interval=0
- sync_start_time=00:00
- sync_end_time=23:59
- store_path_count=1
- store_path0=/var/www/fastdfs
- subdir_count_per_path=256
- tracker_server=192.168.1.106:22122
- tracker_server=192.168.1.130:22122
- log_level=info
- run_by_group=
- run_by_user=
- allow_hosts=*
- file_distribute_path_mode=0
- file_distribute_rotate_count=100
- fsync_after_written_bytes=0
- sync_log_buff_interval=10
- sync_binlog_buff_interval=60
- thread_stack_size=1MB
- check_file_duplicate=0
- key_namespace=FastDFS
- keep_alive=0
- http.disabled=false
- http.server_port=8888
- http.trunk_size=256KB
3,启动192.168.1.106上面的fastdfs
/usr/local/bin/fdfs_trackerd /home/zhangy/fastdfs/tracker.conf
/usr/local/bin/fdfs_storaged /home/zhangy/fastdfs/storage.conf
启动fdfs_storage的时候,192.168.1.106就会从192.168.1.130 同步文件过来,如果没有同步文件的话,说明新增服务器没有配置好。做这一步的时候,192.168.1.130 这台机子fastdfs是一直在运行的。
四,192.168.1.130上面fastdfs配置
1,tracker.conf配置
- [root@linux ~]# cat /home/zhangy/fastdfs/tracker.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
- disabled=false
- bind_addr=
- port=22122
- network_timeout=60
- base_path=/var/www/fastdfs
- max_connections=32
- store_lookup=2
- store_group=group1
- store_server=0
- store_path=0
- download_server=0
- reserved_storage_space = 1GB
- log_level=info
- run_by_group=
- run_by_user=
- allow_hosts=*
- sync_log_buff_interval = 10
- check_active_interval = 120
- thread_stack_size=1MB
- http.disabled=false
- http.server_port=80
2,storage.conf配置
- [root@linux ~]# cat /home/zhangy/fastdfs/storage.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
- disabled=false
- group_name=group1
- bind_addr=
- port=23000
- network_timeout=60
- heart_beat_interval=30
- stat_report_interval=60
- base_path=/var/www/fastdfs
- max_connections=256
- sync_wait_msec=200
- sync_interval=0
- sync_start_time=00:00
- sync_end_time=23:59
- store_path_count=1
- store_path0=/var/www/fastdfs
- subdir_count_per_path=256
- tracker_server=192.168.1.130:22122
- tracker_server=192.168.1.106:22122
- log_level=info
- run_by_group=
- run_by_user=
- allow_hosts=*
- file_distribute_path_mode=0
- file_distribute_rotate_count=100
- fsync_after_written_bytes=0
- sync_log_buff_interval=10
- sync_binlog_buff_interval=60
- thread_stack_size=1MB
- check_file_duplicate=0
- key_namespace=FastDFS
- keep_alive=0
- http.disabled=false
- http.server_port=8888
- http.trunk_size=256KB
3,重新启动192.168.1.130上面的fastdfs
pkill fdfs
/usr/local/bin/fdfs_trackerd /home/zhangy/fastdfs/tracker.conf
/usr/local/bin/fdfs_storaged /home/zhangy/fastdfs/storage.conf
二台机子都启动了fastdfs后,用fdfs_monitor /home/zhangy/fastdfs/storage.conf 来看一下,服务器情况
五,192.168.1.131上面php扩展fastdfs配置
- [root@linux fastdfs]# cat /home/zhangy/fastdfs/client.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
- network_timeout=60
- base_path=/var/www/fastdfs
- tracker_server=192.168.1.130:22122
- tracker_server=192.168.1.106:22122
- log_level=info
- http.tracker_server_port=80
改好后重新你的web服务。怎么安装扩展,以及php的fastdfs的api,请参考:FastDFS分布式文件客户端安装,以及fastdfsapi
然后修改fdfs_common.php来增加服务器
- $fdfs_tracker_servers[0] = array(
- 'ip_addr' => '192.168.1.130',
- 'port' => 22122,
- 'sock' => -1);
- $fdfs_tracker_servers[1] = array(
- 'ip_addr' => '192.168.1.106',
- 'port' => 22122,
- 'sock' => -1);
这样上传后,会在二个服务器都有。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/1445.html
文件的同步,用rsync和fastdfs哪个更好呢,他们各侧重用于什么情况下?
fastdfs肯定要比rsync要好,rsync有一定时间间隔,而fastdfs是准实时的。