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是准实时的。