# is this config file disabled # false for enabled # true for disabled disabled = false # the name of the group this storage server belongs to # # comment or remove this item for fetching from tracker server, # in this case, use_storage_id must set to true in tracker.conf, # and storage_ids.conf must be configured correctly. group_name = group1 # bind an address of this host # empty for bind all addresses of this host bind_addr = # if bind an address of this host when connect to other servers # (this storage server as a client) # true for binding the address configured by the above parameter: "bind_addr" # false for binding any address of this host client_bind = true # the storage server port port = 23000 # connect timeout in seconds # default value is 30 # Note: in the intranet network (LAN), 2 seconds is enough. connect_timeout = 5 # network timeout in seconds for send and recv # default value is 30 network_timeout = 60 # the heart beat interval in seconds # the storage server send heartbeat to tracker server periodically # default value is 30 heart_beat_interval = 30 # disk usage report interval in seconds # the storage server send disk usage report to tracker server periodically # default value is 300 stat_report_interval = 60 # the base path to store data and log files # NOTE: the binlog files maybe are large, make sure # the base path has enough disk space, # eg. the disk free space should > 50GB # base_path = /home/yuqing/fastdfs base_path = /opt/fastdfs/ # max concurrent connections the server supported, # you should set this parameter larger, eg. 10240 # default value is 256 max_connections = 1024 # the buff size to recv / send data from/to network # this parameter must more than 8KB # 256KB or 512KB is recommended # default value is 64KB # since V2.00 buff_size = 256KB # accept thread count # default value is 1 which is recommended # since V4.07 accept_threads = 1 # work thread count # work threads to deal network io # default value is 4 # since V2.00 work_threads = 4 # if disk read / write separated ## false for mixed read and write ## true for separated read and write # default value is true # since V2.00 disk_rw_separated = true # disk reader thread count per store path # for mixed read / write, this parameter can be 0 # default value is 1 # since V2.00 disk_reader_threads = 1 # disk writer thread count per store path # for mixed read / write, this parameter can be 0 # default value is 1 # since V2.00 disk_writer_threads = 1 # when no entry to sync, try read binlog again after X milliseconds # must > 0, default value is 200ms sync_wait_msec = 50 # after sync a file, usleep milliseconds # 0 for sync successively (never call usleep) sync_interval = 0 # storage sync start time of a day, time format: Hour:Minute # Hour from 0 to 23, Minute from 0 to 59 sync_start_time = 00:00 # storage sync end time of a day, time format: Hour:Minute # Hour from 0 to 23, Minute from 0 to 59 sync_end_time = 23:59 # write to the mark file after sync N files # default value is 500 write_mark_file_freq = 500 # disk recovery thread count # default value is 1 # since V6.04 disk_recovery_threads = 3 # store path (disk or mount point) count, default value is 1 store_path_count = 1 # store_path#, based on 0, to configure the store paths to store files # if store_path0 not exists, it's value is base_path (NOT recommended) # the paths must be exist. # # IMPORTANT NOTE: # the store paths' order is very important, don't mess up!!! # the base_path should be independent (different) of the store paths #store_path0 = /home/yuqing/fastdfs #store_path1 = /home/yuqing/fastdfs2 store_path0 = /opt/fastdfs/data # subdir_count * subdir_count directories will be auto created under each # store_path (disk), value can be 1 to 256, default value is 256 subdir_count_per_path = 256 # tracker_server can ocur more than once for multi tracker servers. # the value format of tracker_server is "HOST:PORT", # the HOST can be hostname or ip address, # and the HOST can be dual IPs or hostnames seperated by comma, # the dual IPS must be an inner (intranet) IP and an outer (extranet) IP, # or two different types of inner (intranet) IPs. # for example: 192.168.2.100,122.244.141.46:22122 # another eg.: 192.168.1.10,172.17.4.21:22122 tracker_server = 192.168.125.155:22122 #tracker_server = 192.168.209.122:22122 #standard log level as syslog, case insensitive, value list: ### emerg for emergency ### alert ### crit for critical ### error ### warn for warning ### notice ### info ### debug log_level = info #unix group name to run this program, #not set (empty) means run by the group of current user run_by_group = #unix username to run this program, #not set (empty) means run by current user run_by_user = # allow_hosts can ocur more than once, host can be hostname or ip address, # "*" (only one asterisk) means match all ip addresses # we can use CIDR ips like 192.168.5.64/26 # and also use range like these: 10.0.1.[0-254] and host[01-08,20-25].domain.com # for example: # allow_hosts=10.0.1.[1-15,20] # allow_hosts=host[01-08,20-25].domain.com # allow_hosts=192.168.5.64/26 allow_hosts = * # the mode of the files distributed to the data path # 0: round robin(default) # 1: random, distributted by hash code file_distribute_path_mode = 0 # valid when file_distribute_to_path is set to 0 (round robin). # when the written file count reaches this number, then rotate to next path. # rotate to the first path (00/00) after the last path (such as FF/FF). # default value is 100 file_distribute_rotate_count = 100 # call fsync to disk when write big file # 0: never call fsync # other: call fsync when written bytes >= this bytes # default value is 0 (never call fsync) fsync_after_written_bytes = 0 # sync log buff to disk every interval seconds # must > 0, default value is 10 seconds sync_log_buff_interval = 1 # sync binlog buff / cache to disk every interval seconds # default value is 60 seconds sync_binlog_buff_interval = 1 # sync storage stat info to disk every interval seconds # default value is 300 seconds sync_stat_file_interval = 300 # thread stack size, should >= 512KB # default value is 512KB thread_stack_size = 512KB # the priority as a source server for uploading file. # the lower this value, the higher its uploading priority. # default value is 10 upload_priority = 10 # the NIC alias prefix, such as eth in Linux, you can see it by ifconfig -a # multi aliases split by comma. empty value means auto set by OS type # default values is empty if_alias_prefix = # if check file duplicate, when set to true, use FastDHT to store file indexes # 1 or yes: need check # 0 or no: do not check # default value is 0 check_file_duplicate = 0 # file signature method for check file duplicate ## hash: four 32 bits hash code ## md5: MD5 signature # default value is hash # since V4.01 file_signature_method = hash # namespace for storing file indexes (key-value pairs) # this item must be set when check_file_duplicate is true / on key_namespace = FastDFS # set keep_alive to 1 to enable persistent connection with FastDHT servers # default value is 0 (short connection) keep_alive = 0 # you can use "#include filename" (not include double quotes) directive to # load FastDHT server list, when the filename is a relative path such as # pure filename, the base path is the base path of current/this config file. # must set FastDHT server list when check_file_duplicate is true / on # please see INSTALL of FastDHT for detail ##include /home/yuqing/fastdht/conf/fdht_servers.conf # if log to access log # default value is false # since V4.00 use_access_log = false # if rotate the access log every day # default value is false # since V4.00 rotate_access_log = false # rotate access log time base, time format: Hour:Minute # Hour from 0 to 23, Minute from 0 to 59 # default value is 00:00 # since V4.00 access_log_rotate_time = 00:00 # if compress the old access log by gzip # default value is false # since V6.04 compress_old_access_log = false # compress the access log days before # default value is 1 # since V6.04 compress_access_log_days_before = 7 # if rotate the error log every day # default value is false # since V4.02 rotate_error_log = false # rotate error log time base, time format: Hour:Minute # Hour from 0 to 23, Minute from 0 to 59 # default value is 00:00 # since V4.02 error_log_rotate_time = 00:00 # if compress the old error log by gzip # default value is false # since V6.04 compress_old_error_log = false # compress the error log days before # default value is 1 # since V6.04 compress_error_log_days_before = 7 # rotate access log when the log file exceeds this size # 0 means never rotates log file by log file size # default value is 0 # since V4.02 rotate_access_log_size = 0 # rotate error log when the log file exceeds this size # 0 means never rotates log file by log file size # default value is 0 # since V4.02 rotate_error_log_size = 0 # keep days of the log files # 0 means do not delete old log files # default value is 0 log_file_keep_days = 0 # if skip the invalid record when sync file # default value is false # since V4.02 file_sync_skip_invalid_record = false # if use connection pool # default value is false # since V4.05 use_connection_pool = true # connections whose the idle time exceeds this time will be closed # unit: second # default value is 3600 # since V4.05 connection_pool_max_idle_time = 3600 # if compress the binlog files by gzip # default value is false # since V6.01 compress_binlog = true # try to compress binlog time, time format: Hour:Minute # Hour from 0 to 23, Minute from 0 to 59 # default value is 01:30 # since V6.01 compress_binlog_time = 01:30 # if check the mark of store path to prevent confusion # recommend to set this parameter to true # if two storage servers (instances) MUST use a same store path for # some specific purposes, you should set this parameter to false # default value is true # since V6.03 check_store_path_mark = true # use the ip address of this storage server if domain_name is empty, # else this domain name will ocur in the url redirected by the tracker server http.domain_name = # the port of the web server on this storage server # http.server_port = 8888 http.server_port = 9100