FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站
FastDFS有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问;存储服务包括:文件存储,文件同步,提供文件访问接口,同时以key value的方式管理文件的元数据
跟踪和存储服务可以由1台或者多台服务器组成,同时可以动态的添加,删除跟踪和存储服务而不会对在线的服务产生影响,在集群中,tracker服务是对等的
存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
四、FastDFS上传/下载过程:
首先客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server 的指定端口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台 Storage Server ,然后将这个Storage Server 的地址等信息返回给 client,然后 client 再通过这些信息连接到这台 Storage Server,将要上传的文件传送到给 Storage Server上。
上传过程:
下载过程:
在我的项目中,一般启动2个tracker和2个storage就可以了
####################################################################################################################################
2、环境准备
2.1、RedHat 7 Yum源配置及关闭火墙
配置Redhat7ISO YUM源
Vi/etc/yum.repo.d/rhel7.repo
[rhel7-media]
name=rhel7-source
baseurl=file:///mnt
Enable=1
gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-redhat-release
关闭防火墙:
systemctlstop firewalld
systemctldisable firewalld
2.2、安装依赖包
安装相关依赖包,如gcc、pcre、pcre-devel、zlib、zlib-devel、openssl、openssl-devel
命令:
yum -y install gcc gcc-c++ pcre pcre-devel zlibzlib-devel openssl openssl-devel
2.3、FastDFS环规划
采用两台Tracker Server和四台Storage Server搭建,实现集群配置,规划如下图:
用笔记本搭建虚拟机跑不了6台,因此改为如下规划方案:采用4台虚拟机。其中:
Tracker01即是tracker server也是storage server;
Tracker02即是tracker server也是storage server;
Storage01是storage Server。
Storage02是storage server。
分为如下两个组:
各主机/etc/hosts配置:
#Tracker01 192.168.18.2 Tracker01 192.168.18.3 Tracker02
#Storage gwmdfs1 192.168.18.4 Storage01 192.168.18.5 Storage02
#Storage gwmdfs2 192.168.18.6 Storage03 192.168.18.7 Storage04 |
2.4、目录规划
存储Tracker的数据文件和日志文件:
/dfsfile/fastdfs_tracker
存储Storage的数据文件和日志文件:
/dfsfile/fastdfs_storage
文件存储路径,存储上传的文件:
/dfsfile/fastdfs_storage_data
2.5、相关软件下载
相关软件包下载可到余庆作者Github官网首页下载:https://github.com/happyfish100;所下载的相关软件每台服务器都放在了/media目录下。
[root@Tracker01 media]# ls -rtl total 19096 -rw-r--r--. 1 root root 20405 Mar 28 12:34 fastdfs-nginx-module-master.zip -rw-r--r--. 1 root root 335132 Mar 28 12:34 fastdfs-5.09.tar.gz -rw-r--r--. 1 root root 478841 Mar 28 12:34 libfastcommon-master.zip -rw-r--r--. 1 root root 2065161 Mar 28 12:34 pcre-8.40.tar.gz -rw-r--r--. 1 root root 833473 Mar 28 12:34 nginx-1.8.1.tar.gz -rw-r--r--. 1 root root 15800360 Mar 28 12:35 perl-5.20.2.tar.gz -rw-r--r--. 1 root root 10535 Mar 28 12:37 ngx_cache_purge-2.1.tar.gz |
3、FastDFS Tracker&Storage安装
所有节点均需要安装:
1、 首先安装libfastcommon-master
# unzip libfastcommon-master
# cd libfastcommon-master
# ./make.sh
# ./make.sh install
[root@Tracker01 libfastcommon-master]# ./make.sh install mkdir -p /usr/lib64 mkdir -p /usr/lib install -m 755 libfastcommon.so /usr/lib64 install -m 755 libfastcommon.so /usr/lib mkdir -p /usr/include/fastcommon install -m 644 common_define.h hash.h chain.h logger.h base64.h shared_func.h pthread_func.h ini_file_reader.h _os_define.h sockopt.h sched_thread.h http_func.h md5.h local_ip_func.h avl_tree.h ioevent.h ioevent_loop.h fast_task_queue.h fast_timer.h process_ctrl.h fast_mblock.h connection_pool.h fast_mpool.h fast_allocator.h fast_buffer.h skiplist.h multi_skiplist.h flat_skiplist.h skiplist_common.h system_info.h fast_blocked_queue.h php7_ext_wrapper.h id_generator.h char_converter.h char_convert_loader.h /usr/include/fastcommon |
libfastcommon.so 默认安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以此处需要重新设置软链接。
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
2、 安装fastdfs-5.09.tar.gz
# tar -zxvf fastdfs-5.09.tar.gz
# cd fastdfs-5.09
# ./make.sh
# ./make.sh install
[root@Tracker01 fastdfs-5.09]# ./make.sh install mkdir -p /usr/bin mkdir -p /etc/fdfs cp -f fdfs_trackerd /usr/bin if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi if [ ! -f /etc/fdfs/storage_ids.conf.sample ]; then cp -f ../conf/storage_ids.conf /etc/fdfs/storage_ids.conf.sample; fi mkdir -p /usr/bin mkdir -p /etc/fdfs cp -f fdfs_storaged /usr/bin if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi mkdir -p /usr/bin mkdir -p /etc/fdfs mkdir -p /usr/lib64 mkdir -p /usr/lib cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib/;fi if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib/;fi mkdir -p /usr/include/fastdfs cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi |
安装完成后在/etc/fdfs目录下会生成sample配置文件,拷贝sample文件,生成正式的配置文件:
# cp client.conf.sample client.conf
# cp tracker.conf.sample tracker.conf //Tracker服务器配置
# cp storage.conf.sample storage.conf //Storage服务器配置
4、FastDFS Tracker&Storage配置
4.1、Tracker的配置
1、 创建存储目录/dfsfile/fastdfs_tracker,修改/etc/fdfs/tracker.conf配置文件
[root@Tracker01 fdfs]# cat tracker.conf |grep -v "#" |grep -v "^$"|more disabled=false bind_addr= port=22122 connect_timeout=30 network_timeout=60 base_path=/home/fastdfs_tracker max_connections=256 accept_threads=1 work_threads=4 min_buff_size = 8KB max_buff_size = 128KB store_lookup=2 store_group=group2 store_server=0 store_path=0 download_server=0 reserved_storage_space = 10% log_level=info run_by_group= run_by_user= allow_hosts=* sync_log_buff_interval = 10 check_active_interval = 120 thread_stack_size = 64KB storage_ip_changed_auto_adjust = true storage_sync_file_max_delay = 86400 storage_sync_file_max_time = 300 use_trunk_file = false slot_min_size = 256 slot_max_size = 16MB trunk_file_size = 64MB trunk_create_file_advance = false trunk_create_file_time_base = 02:00 trunk_create_file_interval = 86400 trunk_create_file_space_threshold = 20G trunk_init_check_occupying = false trunk_init_reload_from_binlog = false trunk_compress_binlog_min_interval = 0 use_storage_id = false storage_ids_filename = storage_ids.conf id_type_in_filename = ip store_slave_file_use_link = false rotate_error_log = false error_log_rotate_time=00:00 rotate_error_log_size = 0 log_file_keep_days = 0 use_connection_pool = false connection_pool_max_idle_time = 3600 http.server_port=80 http.check_alive_interval=30 http.check_alive_type=tcp http.check_alive_uri=/status.html |
2、 启动Tracker
# ln -s /usr/bin/fdfs_trackerd /usr/local/bin
# ln -s /usr/bin/stop.sh /usr/local/bin
# ln -s /usr/bin/restart.sh /usr/local/bin
# service fdfs_trackerd start
[root@Tracker01 ~]# service fdfs_trackerd start Reloading systemd: [ OK ] Starting fdfs_trackerd (via systemctl): [ OK ] |
# netstat -unltp |grep fdfs
[root@Tracker01 ~]# netstat -unltp | grep fdfs tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 4374/fdfs_trackerd |
3、 可配置成开机自动启服务。Vi /etc/rc.d/rc.local 加入service fdfs_trackerd start,并对rc.local文件设置可执行权限。
4.2、Storage的配置(涉及到组名的一定要一致不要弄错否则用ss –tlanp | grep storage查看时estab连接不上另一台storage)
1、 创建目录/dfsfile/fastdfs_storage和/dfsfile/fastdfs_storage_data,并修改/etc/fdfs/storage.conf文件
disabled=false group_name=gwmdfs1 bind_addr= client_bind=true port=23000 connect_timeout=30 network_timeout=60 heart_beat_interval=30 stat_report_interval=60 base_path=/home/fastdfs_storage max_connections=256 buff_size = 256KB accept_threads=1 work_threads=4 disk_rw_separated = true disk_reader_threads = 1 disk_writer_threads = 1 sync_wait_msec=50 sync_interval=0 sync_start_time=00:00 sync_end_time=23:59 write_mark_file_freq=500 store_path_count=1 store_path0=/home/fastdfs_storage_data subdir_count_per_path=256 tracker_server=192.168.18.2:22122 tracker_server=192.168.18.3: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=10 sync_stat_file_interval=300 thread_stack_size=512KB upload_priority=10 if_alias_prefix= check_file_duplicate=0 file_signature_method=hash key_namespace=FastDFS keep_alive=0 use_access_log = false rotate_access_log = false access_log_rotate_time=00:00 rotate_error_log = false error_log_rotate_time=00:00 rotate_access_log_size = 0 rotate_error_log_size = 0 log_file_keep_days = 0 file_sync_skip_invalid_record=false use_connection_pool = false connection_pool_max_idle_time = 3600 http.domain_name= http.server_port=9999 |
2、 启动Storage
# ln -s /usr/bin/fdfs_storaged /usr/local/bin
# ln -s /usr/bin/stop.sh /usr/local/bin
# ln -s /usr/bin/restart.sh /usr/local/bin
# service fdfs_storaged start(启动第二个storge时用该命令的绝对路径不用加start 后面接第二个storage的配置文件绝对路径)
[root@Storage02 bin]# service fdfs_storaged start Reloading systemd: [ OK ] Starting fdfs_storaged (via systemctl): [ OK ] |
# netstat -unltp |grep fdfs
[root@Storage02 ~]# netstat -unltp |grep fdfs tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 3288/fdfs_storaged |
5、FastDFS Nginx安装配置
5.1、Storage服务器配置Nginx
1、为Storage服务器安装Nginx,需要将nginx-1.8.1.tar.gz和fastdfs-nginx-module-master.zip 的安装包解压。
# tar -zxvf nginx-1.8.1.tar.gz
# unzip fastdfs-nginx-module-master.zip
2、进入Nginx-1.8.1目录下# ./configure --prefix=/usr/local/nginxs --add-module=/opt/fastdfs-nginx-module-master/src
# make
# make install
3、安装完成进入/usr/local/nginxs/目录下,如下图所示:
4、修改nginx的配置文件,进入conf目录打开nginx.conf文件
listen 9999; location ~/gwmdfs1/M00 { root /home/fastdfs_storage_data/data; ngx_fastdfs_module; } |
5、拷贝配置文件到/etc/fdfs目录下,Media目录为所有软件包安装的目录。
# cp /opt/fastdfs-5.09/conf/http.conf /etc/fdfs/
# cp /opt/fastdfs-5.09/conf/mime.types /etc/fdfs/
# cp /opt/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
6、修改/etc/fdfs/mod-fastdfs.conf文件
connect_timeout=2 network_timeout=30 base_path=/home/fastdfs_storage load_fdfs_parameters_from_tracker=true storage_sync_file_max_delay = 86400 use_storage_id = false storage_ids_filename = storage_ids.conf tracker_server=192.168.18.2:22122 tracker_server=192.168.18.3:22122 storage_server_port=23000 group_name=gwmdfs1 url_have_group_name = true store_path_count=1 store_path0=/home/fastdfs_storage_data log_level=info log_filename= response_mode=proxy if_alias_prefix= flv_support = true flv_extension = flv group_count = 2 [group1] group_name=gwmdfs1 storage_server_port=23000 store_path_count=1 store_path0=/home/fastdfs_storage_data [group2] group_name=gwmdfs2 storage_server_port=23000 store_path_count=1 store_path0=/home/fastdfs_storage_data |
7、建立M00至存储目录的符号连接:
#ln -s /dfsfile/fastdfs_storage_data/data /dfsfile/fastdfs_storage_data/data/M00
8、启动Nginx:
#/usr/local/nginxs/sbin/nginx
# http://192.168.18.x:9999
5.2、Tracker服务器配置Nginx
1、进入Nginx-1.8.1目录下# ./configure --prefix=/usr/local/nginxt --add-module=/media/fastdfs-nginx-module-master/src
# make
# make install
2、修改/usr/local/nginxt/conf/nginx.conf配置文件
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream fdfs_gwmdfs1 { server 192.168.18.2:9999; server 192.168.18.4:9999; } upstream fdfs_gwmdfs2 { server 192.168.18.3:9999; server 192.168.18.5:9999; } server { listen 80; server_name localhost; location /gwmdfs1/M00 { proxy_pass http://fdfs_gwmdfs1; } location /gwmdfs2/M00 { proxy_pass http://fdfs_gwmdfs2; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } |
3、启动nginx服务
# /usr/local/nginxt/sbin/nginx –t //启动前可测试一下nginx.conf配置是否正确。
# /usr/local/nginxt/sbin/nginx
6、FastDFS测试验证
1、修改/etc/fdfs/client.conf文件
connect_timeout=30 network_timeout=60 base_path=/home/fastdfs_storage tracker_server=192.168.18.3:22122 tracker_server=192.168.18.2:22122 log_level=info use_connection_pool = false connection_pool_max_idle_time = 3600 load_fdfs_parameters_from_tracker=false use_storage_id = false storage_ids_filename = storage_ids.conf http.tracker_server_port=80 |
2、上传文件测试
[root@Tracker01 media]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /media/0.PNG gwmdfs1/M00/00/00/wKgSAljcv7-AVM2rAAA7LOqK6Ik882.PNG
[root@Tracker02 media]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /media/1.PNG gwmdfs1/M00/00/00/wKgSBFjcv8mAKuuRAABWJnPR5Ew861.PNG |
3、通过IE查看
4、删除测试数据
/usr/bin/fdfs_delete_file /etc/fdfs/storage.conf appdfs1/M00/12/2C/CgUBD1x-STaACTyoAAVfNCjtfws153.png
|
5、监控FastDFS状态
[root@Tracker01 00]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf |more [2017-03-30 16:38:06] DEBUG - base_path=/home/fastdfs_storage, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
server_count=2, server_index=1
tracker server is 192.168.18.3:22122
group count: 2
Group 1: group name = gwmdfs1 disk total space = 49072 MB disk free space = 49020 MB trunk free space = 0 MB storage server count = 2 active server count = 2 storage server port = 23000 storage HTTP port = 8888 store path count = 1 subdir count per path = 256 current write server index = 0 current trunk file id = 0
Storage 1: id = 192.168.18.2 ip_addr = 192.168.18.2 (Tracker01) ACTIVE http domain = version = 5.09 join time = 2017-03-29 17:17:32 up time = 2017-03-30 15:28:24 total storage = 49072 MB free storage = 49020 MB upload priority = 10 store_path_count = 1 subdir_count_per_path = 256 storage_port = 23000 storage_http_port = 8888 current_write_path = 0 source storage id = if_trunk_server = 0 connection.alloc_count = 256 connection.current_count = 1 connection.max_count = 2 total_upload_count = 1 success_upload_count = 1 total_append_count = 0 success_append_count = 0 total_modify_count = 0 success_modify_count = 0 total_truncate_count = 0 success_truncate_count = 0 total_set_meta_count = 0 success_set_meta_count = 0 total_delete_count = 0 success_delete_count = 0 total_download_count = 0 success_download_count = 0 total_get_meta_count = 0 success_get_meta_count = 0 total_create_link_count = 0 success_create_link_count = 0 total_delete_link_count = 0 success_delete_link_count = 0 total_upload_bytes = 15148 success_upload_bytes = 15148 total_append_bytes = 0 success_append_bytes = 0 total_modify_bytes = 0 success_modify_bytes = 0 stotal_download_bytes = 0 success_download_bytes = 0 total_sync_in_bytes = 22054 success_sync_in_bytes = 22054 total_sync_out_bytes = 0 success_sync_out_bytes = 0 total_file_open_count = 2 success_file_open_count = 2 total_file_read_count = 0 success_file_read_count = 0 total_file_write_count = 2 success_file_write_count = 2 last_heart_beat_time = 2017-03-30 16:37:54 last_source_update = 2017-03-30 16:20:14 last_sync_update = 2017-03-30 16:20:27 last_synced_timestamp = 2017-03-30 16:20:25 (-1s delay) Storage 2: id = 192.168.18.4 ip_addr = 192.168.18.4 (Storage01) ACTIVE http domain = version = 5.09 join time = 2017-03-29 17:18:47 up time = 2017-03-30 15:33:18 total storage = 49072 MB free storage = 49020 MB upload priority = 10 store_path_count = 1 subdir_count_per_path = 256 storage_port = 23000 storage_http_port = 8888 current_write_path = 0 source storage id = 192.168.18.2 if_trunk_server = 0 connection.alloc_count = 256 connection.current_count = 1 connection.max_count = 2 total_upload_count = 1 success_upload_count = 1 total_append_count = 0 success_append_count = 0 total_modify_count = 0 success_modify_count = 0 total_truncate_count = 0 success_truncate_count = 0 total_set_meta_count = 0 success_set_meta_count = 0 total_delete_count = 0 success_delete_count = 0 total_download_count = 0 success_download_count = 0 total_get_meta_count = 0 success_get_meta_count = 0 total_create_link_count = 0 success_create_link_count = 0 total_delete_link_count = 0 success_delete_link_count = 0 total_upload_bytes = 22054 success_upload_bytes = 22054 total_append_bytes = 0 success_append_bytes = 0 total_modify_bytes = 0 success_modify_bytes = 0 stotal_download_bytes = 0 success_download_bytes = 0 total_sync_in_bytes = 15148 success_sync_in_bytes = 15148 total_sync_out_bytes = 0 success_sync_out_bytes = 0 total_file_open_count = 2 success_file_open_count = 2 total_file_read_count = 0 success_file_read_count = 0 total_file_write_count = 2 success_file_write_count = 2 last_heart_beat_time = 2017-03-30 16:37:47 last_source_update = 2017-03-30 16:20:24 last_sync_update = 2017-03-30 16:20:24 last_synced_timestamp = 2017-03-30 16:20:15 (-1s delay)
Group 2: group name = gwmdfs2 disk total space = 49072 MB disk free space = 49020 MB trunk free space = 0 MB storage server count = 2 active server count = 2 storage server port = 23000 storage HTTP port = 8888 store path count = 1 subdir count per path = 256 current write server index = 0 current trunk file id = 0
Storage 1: id = 192.168.18.3 ip_addr = 192.168.18.3 (Tracker02) ACTIVE http domain = version = 5.09 join time = 2017-03-29 17:21:37 up time = 2017-03-30 15:31:14 total storage = 49072 MB free storage = 49020 MB upload priority = 10 store_path_count = 1 subdir_count_per_path = 256 storage_port = 23000 storage_http_port = 8888 current_write_path = 0 source storage id = if_trunk_server = 0 connection.alloc_count = 256 connection.current_count = 1 connection.max_count = 1 total_upload_count = 0 success_upload_count = 0 total_append_count = 0 success_append_count = 0 total_modify_count = 0 success_modify_count = 0 total_truncate_count = 0 success_truncate_count = 0 total_set_meta_count = 0 success_set_meta_count = 0 total_delete_count = 0 success_delete_count = 0 total_download_count = 0 success_download_count = 0 total_get_meta_count = 0 success_get_meta_count = 0 total_create_link_count = 0 success_create_link_count = 0 total_delete_link_count = 0 success_delete_link_count = 0 total_upload_bytes = 0 success_upload_bytes = 0 total_append_bytes = 0 success_append_bytes = 0 total_modify_bytes = 0 success_modify_bytes = 0 stotal_download_bytes = 0 success_download_bytes = 0 total_sync_in_bytes = 0 success_sync_in_bytes = 0 total_sync_out_bytes = 0 success_sync_out_bytes = 0 total_file_open_count = 0 success_file_open_count = 0 total_file_read_count = 0 success_file_read_count = 0 total_file_write_count = 0 success_file_write_count = 0 last_heart_beat_time = 2017-03-30 16:37:44 last_source_update = 1970-01-01 08:00:00 last_sync_update = 1970-01-01 08:00:00 last_synced_timestamp = 1970-01-01 08:00:00 Storage 2: id = 192.168.18.5 ip_addr = 192.168.18.5 (Storage02) ACTIVE http domain = version = 5.09 join time = 2017-03-29 17:22:02 up time = 2017-03-30 15:34:01 total storage = 49072 MB free storage = 49020 MB upload priority = 10 store_path_count = 1 subdir_count_per_path = 256 storage_port = 23000 storage_http_port = 8888 current_write_path = 0 source storage id = 192.168.18.3 if_trunk_server = 0 connection.alloc_count = 256 connection.current_count = 1 connection.max_count = 1 total_upload_count = 0 success_upload_count = 0 total_append_count = 0 success_append_count = 0 total_modify_count = 0 success_modify_count = 0 total_truncate_count = 0 success_truncate_count = 0 total_set_meta_count = 0 success_set_meta_count = 0 total_delete_count = 0 success_delete_count = 0 total_download_count = 0 success_download_count = 0 total_get_meta_count = 0 success_get_meta_count = 0 total_create_link_count = 0 success_create_link_count = 0 total_delete_link_count = 0 success_delete_link_count = 0 total_upload_bytes = 0 success_upload_bytes = 0 total_append_bytes = 0 success_append_bytes = 0 total_modify_bytes = 0 success_modify_bytes = 0 stotal_download_bytes = 0 success_download_bytes = 0 total_sync_in_bytes = 0 success_sync_in_bytes = 0 total_sync_out_bytes = 0 success_sync_out_bytes = 0 total_file_open_count = 0 success_file_open_count = 0 total_file_read_count = 0 success_file_read_count = 0 total_file_write_count = 0 success_file_write_count = 0 last_heart_beat_time = 2017-03-30 16:38:02 last_source_update = 1970-01-01 08:00:00 last_sync_update = 1970-01-01 08:00:00 last_synced_timestamp = 1970-01-01 08:00:00 |