fastdfs 多服务器 配置

张映 发表于 2012-07-24

分类目录: 服务器相关

标签:, , , ,

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

  1. tar zxf FastDFS_v1.22.tar.gz  
  2. cd FastDFS  
  3. ./make.sh  
  4. mkdir /usr/local/include             //一般情况下,local下面会有一个include文件夹的,如果没有在建个目录  
  5. ./make.sh install  

三,192.168.1.106新增服务文件服务器配置

1,tracker.conf配置

  1. [root@localhost fastdfs]# cat /home/zhangy/fastdfs/tracker.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'  
  2. disabled=false  
  3. bind_addr=  
  4. port=22122  
  5. network_timeout=60  
  6. base_path=/var/www/fastdfs  
  7. max_connections=32  
  8. store_lookup=2  
  9. store_group=group1  
  10. store_server=0  
  11. store_path=0  
  12. download_server=0  
  13. reserved_storage_space = 1GB  
  14. log_level=info  
  15. run_by_group=  
  16. run_by_user=  
  17. allow_hosts=*  
  18. sync_log_buff_interval = 10  
  19. check_active_interval = 120  
  20. thread_stack_size=1MB  
  21. http.disabled=false  
  22. http.server_port=80  

2,storage.conf配置

  1. [root@localhost fastdfs]# cat /home/zhangy/fastdfs/storage.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'  
  2. disabled=false  
  3. group_name=group1  
  4. bind_addr=  
  5. port=23000  
  6. network_timeout=60  
  7. heart_beat_interval=30  
  8. stat_report_interval=60  
  9. base_path=/var/www/fastdfs  
  10. max_connections=256  
  11. sync_wait_msec=200  
  12. sync_interval=0  
  13. sync_start_time=00:00  
  14. sync_end_time=23:59  
  15. store_path_count=1  
  16. store_path0=/var/www/fastdfs  
  17. subdir_count_per_path=256  
  18. tracker_server=192.168.1.106:22122  
  19. tracker_server=192.168.1.130:22122  
  20. log_level=info  
  21. run_by_group=  
  22. run_by_user=  
  23. allow_hosts=*  
  24. file_distribute_path_mode=0  
  25. file_distribute_rotate_count=100  
  26. fsync_after_written_bytes=0  
  27. sync_log_buff_interval=10  
  28. sync_binlog_buff_interval=60  
  29. thread_stack_size=1MB  
  30. check_file_duplicate=0  
  31. key_namespace=FastDFS  
  32. keep_alive=0  
  33. http.disabled=false  
  34. http.server_port=8888  
  35. 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配置

  1. [root@linux ~]# cat /home/zhangy/fastdfs/tracker.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'  
  2.  disabled=false  
  3.  bind_addr=  
  4.  port=22122  
  5.  network_timeout=60  
  6.  base_path=/var/www/fastdfs  
  7.  max_connections=32  
  8.  store_lookup=2  
  9.  store_group=group1  
  10.  store_server=0  
  11.  store_path=0  
  12.  download_server=0  
  13.  reserved_storage_space = 1GB  
  14.  log_level=info  
  15.  run_by_group=  
  16.  run_by_user=  
  17.  allow_hosts=*  
  18.  sync_log_buff_interval = 10  
  19.  check_active_interval = 120  
  20.  thread_stack_size=1MB  
  21.  http.disabled=false  
  22.  http.server_port=80  

2,storage.conf配置

  1. [root@linux ~]# cat /home/zhangy/fastdfs/storage.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'  
  2. disabled=false  
  3. group_name=group1  
  4. bind_addr=  
  5. port=23000  
  6. network_timeout=60  
  7. heart_beat_interval=30  
  8. stat_report_interval=60  
  9. base_path=/var/www/fastdfs  
  10. max_connections=256  
  11. sync_wait_msec=200  
  12. sync_interval=0  
  13. sync_start_time=00:00  
  14. sync_end_time=23:59  
  15. store_path_count=1  
  16. store_path0=/var/www/fastdfs  
  17. subdir_count_per_path=256  
  18. tracker_server=192.168.1.130:22122  
  19. tracker_server=192.168.1.106:22122  
  20. log_level=info  
  21. run_by_group=  
  22. run_by_user=  
  23. allow_hosts=*  
  24. file_distribute_path_mode=0  
  25. file_distribute_rotate_count=100  
  26. fsync_after_written_bytes=0  
  27. sync_log_buff_interval=10  
  28. sync_binlog_buff_interval=60  
  29. thread_stack_size=1MB  
  30. check_file_duplicate=0  
  31. key_namespace=FastDFS  
  32. keep_alive=0  
  33. http.disabled=false  
  34. http.server_port=8888  
  35. 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 来看一下,服务器情况

fastdfs 多服务器

fastdfs 多服务器

五,192.168.1.131上面php扩展fastdfs配置

  1. [root@linux fastdfs]# cat /home/zhangy/fastdfs/client.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'  
  2.  network_timeout=60  
  3.  base_path=/var/www/fastdfs  
  4.  tracker_server=192.168.1.130:22122  
  5.  tracker_server=192.168.1.106:22122  
  6.  log_level=info  
  7.  http.tracker_server_port=80  

改好后重新你的web服务。怎么安装扩展,以及php的fastdfs的api,请参考:FastDFS分布式文件客户端安装,以及fastdfsapi

然后修改fdfs_common.php来增加服务器

  1. $fdfs_tracker_servers[0] = array(  
  2.  'ip_addr' => '192.168.1.130',  
  3.  'port' => 22122,  
  4.  'sock' => -1);  
  5. $fdfs_tracker_servers[1] = array(  
  6.  'ip_addr' => '192.168.1.106',  
  7.  'port' => 22122,  
  8.  'sock' => -1);  

这样上传后,会在二个服务器都有。



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/1445.html

2 条评论

  1. lqiqi 留言

    文件的同步,用rsync和fastdfs哪个更好呢,他们各侧重用于什么情况下?

  2. 张映 留言

    fastdfs肯定要比rsync要好,rsync有一定时间间隔,而fastdfs是准实时的。